PHP et MQTT : Construire un système de gestion du trafic en temps réel basé sur l'Internet des objets
Introduction :
Avec le développement rapide de la technologie de l'Internet des objets, de plus en plus d'appareils deviennent interconnectés. Parmi eux, le système de gestion du trafic est l’un des domaines importants des applications de l’Internet des objets. Cet article expliquera comment utiliser les protocoles PHP et MQTT pour créer un système de gestion du trafic en temps réel basé sur l'Internet des objets et fournira des exemples de code.
1. Qu'est-ce que MQTT ?
MQTT est un protocole de transmission de messages léger adapté aux environnements à faible bande passante, à bande passante instable et à latence réseau élevée. MQTT se concentre sur le modèle de publication de messages et d'abonnement, permettant la communication de données entre des appareils à faible consommation d'énergie et à haute efficacité.
2. Architecture du système de gestion du trafic en temps réel
Le système de gestion du trafic en temps réel dans cet article se compose des composants suivants :
3. Étapes de mise en œuvre
Installer le serveur MQTT
Tout d'abord, nous devons installer et configurer le serveur MQTT sur le serveur. Parmi eux, Mosquitto est un serveur MQTT open source populaire. Nous pouvons utiliser la commande suivante pour l'installer :
sudo apt-get update sudo apt-get install mosquitto
Une fois l'installation terminée, nous devons démarrer le service Mosquitto :
sudo service mosquitto start
Écrire du code PHP
Ensuite, nous devons écrire du code PHP pour implémenter l'interaction avec le serveur MQTT. Nous pouvons utiliser la bibliothèque client MQTT de PHP pour simplifier le processus de développement. Voici un exemple de code :
<?php require("phpMQTT.php"); $mqtt = new phpMQTT("localhost", 1883, "ClientID" . rand()); if(!$mqtt->connect()){ exit(1); } $mqtt->publish("traffic/camera1", "Hello, MQTT!"); $mqtt->close(); ?>
Dans l'exemple ci-dessus, nous avons d'abord introduit la bibliothèque phpMQTT et créé une instance MQTT. Ensuite, nous essayons de nous connecter au serveur MQTT. Si la connexion réussit, nous pouvons utiliser la méthode publish
pour publier le message dans le sujet spécifié. publish
方法发布消息到指定的主题上。
接收和处理消息
服务器端,我们需要编写代码来接收和处理来自交通监控设备的消息。以下是一个示例代码:
<?php require("phpMQTT.php"); function messageReceived($topic, $msg){ // 处理消息的逻辑代码 echo "Received message: $msg"; } $mqtt = new phpMQTT("localhost", 1883, "Server"); if(!$mqtt->connect()){ exit(1); } $mqtt->subscribe("traffic/+/camera1", 0); while($mqtt->proc()){ } $mqtt->close(); ?>
在上述示例中,我们首先定义了一个messageReceived
函数,用于处理接收到的消息。然后,我们创建了一个MQTT实例并连接到MQTT服务器。接着,使用subscribe
方法订阅特定主题的消息。在while
循环中,使用proc
messageReceived
pour gérer le message reçu. Ensuite, nous avons créé une instance MQTT et nous sommes connectés au serveur MQTT. Ensuite, utilisez la méthode subscribe
pour vous abonner aux messages sur un sujet spécifique. Dans la boucle while
, utilisez la méthode proc
pour continuer le traitement des messages reçus. Enfin, nous pouvons afficher les informations en temps réel du système de gestion du trafic via l'interface frontale. Nous pouvons utiliser HTML, CSS et JavaScript pour implémenter l'interface front-end et utiliser la technologie Ajax pour interagir avec le serveur back-end.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!