Heim  >  Artikel  >  Backend-Entwicklung  >  PHP und MQTT: Aufbau eines Echtzeit-Verkehrsmanagementsystems auf Basis von IoT

PHP und MQTT: Aufbau eines Echtzeit-Verkehrsmanagementsystems auf Basis von IoT

WBOY
WBOYOriginal
2023-07-09 21:22:381302Durchsuche

PHP und MQTT: Aufbau eines Echtzeit-Verkehrsmanagementsystems auf Basis des Internets der Dinge

Einführung:
Mit der rasanten Entwicklung der Internet-of-Things-Technologie werden immer mehr Geräte miteinander verbunden. Unter diesen ist das Verkehrsmanagementsystem einer der wichtigen Bereiche von Internet-of-Things-Anwendungen. In diesem Artikel wird erläutert, wie mithilfe der PHP- und MQTT-Protokolle ein Echtzeit-Verkehrsmanagementsystem basierend auf dem Internet der Dinge aufgebaut wird, und es werden Codebeispiele bereitgestellt.

1. Was ist MQTT?
MQTT ist ein leichtes Nachrichtenübertragungsprotokoll, das für Umgebungen mit geringer Bandbreite, instabiler Bandbreite und hoher Netzwerklatenz geeignet ist. MQTT konzentriert sich auf das Nachrichtenveröffentlichungs- und Abonnementmodell und ermöglicht die Datenkommunikation zwischen Geräten mit geringem Energieverbrauch und hoher Effizienz.

2. Architektur des Echtzeit-Verkehrsmanagementsystems
Das Echtzeit-Verkehrsmanagementsystem in diesem Artikel besteht aus den folgenden Komponenten:

  1. MQTT-Server: Verantwortlich für die Nachrichtenübertragung und -verwaltung.
  2. Verkehrsüberwachungsgeräte: wie Kameras, Sensoren usw., die für die Erfassung von Verkehrsdaten verantwortlich sind.
  3. Backend-Server: Wird zum Empfangen und Verarbeiten von Daten von Verkehrsüberwachungsgeräten verwendet.
  4. Front-End-Schnittstelle: Wird zur Anzeige von Echtzeitinformationen des Verkehrsmanagementsystems verwendet.

3. Implementierungsschritte

  1. MQTT-Server installieren
    Zuerst müssen wir den MQTT-Server auf dem Server installieren und konfigurieren. Unter diesen ist Mosquitto ein beliebter Open-Source-MQTT-Server. Wir können den folgenden Befehl verwenden, um ihn zu installieren:

    sudo apt-get update
    sudo apt-get install mosquitto

    Nachdem die Installation abgeschlossen ist, müssen wir den Mosquitto-Dienst starten:

    sudo service mosquitto start
  2. PHP-Code schreiben
    Als nächstes Wir müssen PHP-Code schreiben, um die Interaktion mit dem MQTT-Server zu implementieren. Wir können die MQTT-Clientbibliothek von PHP verwenden, um den Entwicklungsprozess zu vereinfachen. Hier ist ein Beispielcode:

    <?php
    require("phpMQTT.php");
    
    $mqtt = new phpMQTT("localhost", 1883, "ClientID" . rand());
    
    if(!$mqtt->connect()){
     exit(1);
    }
    
    $mqtt->publish("traffic/camera1", "Hello, MQTT!");
    
    $mqtt->close();
    ?>

    Im obigen Beispiel haben wir zuerst die phpMQTT-Bibliothek eingeführt und eine MQTT-Instanz erstellt. Anschließend versuchen wir, eine Verbindung zum MQTT-Server herzustellen. Wenn die Verbindung erfolgreich ist, können wir die Nachricht mit der Methode publish im angegebenen Thema veröffentlichen. 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();
    ?>

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

  4. Nachrichten empfangen und verarbeiten
    Serverseitig müssen wir Code schreiben, um Nachrichten von Verkehrsüberwachungsgeräten zu empfangen und zu verarbeiten. Das Folgende ist ein Beispielcode:
  5. rrreee
Im obigen Beispiel definieren wir zunächst eine messageReceived-Funktion, um die empfangene Nachricht zu verarbeiten. Dann haben wir eine MQTT-Instanz erstellt und eine Verbindung zum MQTT-Server hergestellt. Als nächstes verwenden Sie die Methode subscribe, um Nachrichten zu einem bestimmten Thema zu abonnieren. Verwenden Sie in der while-Schleife die Methode proc, um die Verarbeitung der empfangenen Nachrichten fortzusetzen.


Front-End-Anzeige

Schließlich können wir die Echtzeitinformationen des Verkehrsmanagementsystems über die Front-End-Schnittstelle anzeigen. Wir können HTML, CSS und JavaScript verwenden, um die Front-End-Schnittstelle zu implementieren, und Ajax-Technologie verwenden, um mit dem Back-End-Server zu interagieren.

  1. IV. Zusammenfassung
  2. Dieser Artikel stellt vor, wie man PHP- und MQTT-Protokolle verwendet, um ein Echtzeit-Verkehrsmanagementsystem basierend auf dem Internet der Dinge aufzubauen. Wir installieren und konfigurieren den MQTT-Server und schreiben PHP-Code für die Interaktion mit dem MQTT-Server. Gleichzeitig stellen wir auch Beispielcode für die Nachrichtenverarbeitung und Front-End-Anzeige zur Verfügung. Dieses Echtzeit-Verkehrsmanagementsystem kann Verkehrsdaten in Echtzeit sammeln und sie den Benutzern über die Front-End-Schnittstelle anzeigen, was für die Verkehrsüberwachung und -planung von großer Bedeutung ist.
  3. Codebeispiel:

phpMQTT-Bibliothek: https://github.com/bluerhinos/phpMQTT
  1. MQTT-Serverinstallation: https://mosquitto.org/download/
  2. Referenzen:
https:// /mqtt.org/🎜🎜https://www.w3schools.com/php/php_ajax_intro.asp🎜🎜https://developer.mozilla.org/en-US/docs/Glossary/Server🎜🎜

Das obige ist der detaillierte Inhalt vonPHP und MQTT: Aufbau eines Echtzeit-Verkehrsmanagementsystems auf Basis von IoT. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn