Maison > développement back-end > tutoriel php > PHP et MQTT : Construire un système de gestion du trafic en temps réel basé sur l'IoT

PHP et MQTT : Construire un système de gestion du trafic en temps réel basé sur l'IoT

WBOY
Libérer: 2023-07-09 21:24:01
original
1314 Les gens l'ont consulté

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 :

  1. Serveur MQTT : Responsable de la transmission et de la gestion des messages.
  2. Équipements de surveillance du trafic : tels que caméras, capteurs, etc., chargés de collecter les données de trafic.
  3. Serveur backend : utilisé pour recevoir et traiter les données des appareils de surveillance du trafic.
  4. Interface frontale : utilisée pour afficher les informations en temps réel du système de gestion du trafic.

3. Étapes de mise en œuvre

  1. 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
    Copier après la connexion

    Une fois l'installation terminée, nous devons démarrer le service Mosquitto :

    sudo service mosquitto start
    Copier après la connexion
  2. É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();
    ?>
    Copier après la connexion

    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方法发布消息到指定的主题上。

  3. 接收和处理消息
    服务器端,我们需要编写代码来接收和处理来自交通监控设备的消息。以下是一个示例代码:

    <?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();
    ?>
    Copier après la connexion

    在上述示例中,我们首先定义了一个messageReceived函数,用于处理接收到的消息。然后,我们创建了一个MQTT实例并连接到MQTT服务器。接着,使用subscribe方法订阅特定主题的消息。在while循环中,使用proc

  4. Recevoir et traiter les messages
    Côté serveur, nous devons écrire du code pour recevoir et traiter les messages des appareils de surveillance du trafic. Voici un exemple de code :
  5. rrreee
Dans l'exemple ci-dessus, nous définissons d'abord une fonction 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.


Affichage frontal

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.

  1. IV.Résumé
  2. Cet article présente 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. Nous installons et configurons le serveur MQTT et écrivons du code PHP pour interagir avec le serveur MQTT. Dans le même temps, nous fournissons également des exemples de code pour le traitement des messages et l'affichage frontal. Ce système de gestion du trafic en temps réel peut collecter des données de trafic en temps réel et les afficher aux utilisateurs via l'interface frontale, ce qui revêt une grande importance pour la supervision et la planification du trafic.
  3. Exemple de code :

Bibliothèque phpMQTT : https://github.com/bluerhinos/phpMQTT
  1. Installation du serveur MQTT : https://mosquitto.org/download/
  2. Références :
https:// /mqtt.org/🎜🎜https://www.w3schools.com/php/php_ajax_intro.asp🎜🎜https://developer.mozilla.org/en-US/docs/Glossary/Server🎜🎜

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal