Technischer Leitfaden zur Fernsteuerung von Geräten mit PHP und MQTT
Einführung:
Die rasante Entwicklung moderner Technologie hat das Internet der Dinge (IoT) nach und nach zur Realität werden lassen. Im Internet der Dinge können wir durch die Verbindung verschiedener Geräte über das Internet eine Fernsteuerung und -überwachung der Geräte erreichen. MQTT ist ein leichtes Nachrichtenübertragungsprotokoll, das die Kommunikation zwischen Geräten erleichtern kann. In diesem Artikel wird erläutert, wie Sie mithilfe der PHP- und MQTT-Protokolle eine Fernsteuerung von Geräten erreichen.
1. Vorbereitung:
Bevor wir beginnen, müssen wir den MQTT-Server und PHP installieren. Die häufigste Option ist die Verwendung von Mosquitto als MQTT-Server, der über Befehle wie apt-get installiert werden kann. Für PHP können wir es auf verschiedene Arten installieren, z. B. LAMP, XAMPP usw.
2. Erstellen Sie einen MQTT-Server:
1. Installieren Sie Mosquitto mit dem folgenden Befehl:
sudo apt-get update sudo apt-get install mosquitto mosquitto-clients
Sie können testen, ob der Mosquitto-Server normal läuft, indem Sie den folgenden Befehl ausführen:
mosquitto_pub -h localhost -t test -m "Hello, MQTT" mosquitto_sub -h localhost -t test
Es gibt keine Funktion, die MQTT nativ in PHP unterstützt, daher müssen wir die MQTT-Erweiterung installieren. Es kann mit dem folgenden Befehl installiert werden:
sudo apt-get install php-pear php-dev libmosquitto-dev sudo pecl install Mosquitto-alpha
extension=mosquitto.so
Das Folgende ist ein einfaches PHP-Programmbeispiel zum Herstellen einer Verbindung zum MQTT-Server und zum Veröffentlichen von Nachrichten:
<?php $mqtt = new MosquittoClient(); $mqtt->connect("localhost", 1883, 60); $message = "Hello, MQTT"; $mqtt->publish("test", $message); $mqtt->disconnect(); unset($mqtt); ?>
Zusätzlich zur Veröffentlichung von Nachrichten können wir auch Nachrichten abonnieren, um den Status des Geräts oder Steueranweisungen zu erhalten. Das Folgende ist ein Beispiel für ein PHP-Programm, das MQTT-Nachrichten abonniert:
<?php $mqtt = new MosquittoClient(); $mqtt->onMessage(function($message){ echo $message->payload; }); $mqtt->connect("localhost", 1883, 60); $mqtt->subscribe("test", 1); while($mqtt->loop() == 0){ } $mqtt->disconnect(); unset($mqtt); ?>
Durch die oben genannten Schritte können wir das Gerät bereits lokal fernsteuern und überwachen. Als Nächstes demonstrieren wir anhand eines einfachen Beispiels, wie eine Fernsteuerung von Geräten über das Internet erreicht wird.
<?php $mqtt = new MosquittoClient(); $mqtt->onConnect(function() use ($mqtt){ $mqtt->publish("test", "Device connected", 0, false); }); $mqtt->connect("mqtt.example.com", 1883, 60); while($mqtt->loop() == 0){ $mqtt->publish("test", "Device is working", 0, false); sleep(1); } $mqtt->disconnect(); unset($mqtt); ?>
<?php $mqtt = new MosquittoClient(); $mqtt->onMessage(function($message){ echo $message->payload; }); $mqtt->connect("mqtt.example.com", 1883, 60); $mqtt->subscribe("test", 1); while($mqtt->loop() == 0){ $mqtt->publish("test", "Control message", 0, false); sleep(1); } $mqtt->disconnect(); unset($mqtt); ?>
Durch die Verwendung der PHP- und MQTT-Protokolle können wir eine bequeme Fernsteuerung und -überwachung von Geräten erreichen. In diesem Artikel wird erläutert, wie Sie einen MQTT-Server einrichten und PHP-Code verwenden, um eine Verbindung zum Server herzustellen sowie Nachrichten zu veröffentlichen und zu abonnieren. Anhand eines einfachen Beispiels zur Fernsteuerung von Geräten wird gezeigt, wie eine Fernsteuerung über das Internet erreicht werden kann. Dies ist nur die Spitze des Eisbergs des Internets der Dinge. Ich hoffe, dass es den Lesern hilfreich sein wird.
Das obige ist der detaillierte Inhalt vonTechnischer Leitfaden zur Fernsteuerung von Geräten mit PHP und MQTT. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!