Heim >Backend-Entwicklung >PHP-Tutorial >Einführungs- und Nutzungstutorial der MQTT-Erweiterungsbibliothek von PHP

Einführungs- und Nutzungstutorial der MQTT-Erweiterungsbibliothek von PHP

王林
王林Original
2023-07-08 11:33:091920Durchsuche

Einführungs- und Nutzungstutorial der MQTT-Erweiterungsbibliothek von PHP

Einführung:
Mit der rasanten Entwicklung des Internets der Dinge hat MQTT (Message Queuing Telemetry Transport) als leichtgewichtiges Kommunikationsprotokoll große Aufmerksamkeit und Anwendung gefunden. Bei der Entwicklung von PHP können wir mithilfe der MQTT-Erweiterungsbibliothek problemlos mit dem MQTT-Server kommunizieren. In diesem Artikel werden die grundlegenden Konzepte und die Verwendung der MQTT-Erweiterungsbibliothek vorgestellt und gezeigt, wie MQTT zum Veröffentlichen und Abonnieren von Nachrichten über Code verwendet wird Beispiele.

1. Einführung in die MQTT-Erweiterungsbibliothek
Die MQTT-Erweiterungsbibliothek ist eine PHP-Erweiterung zur Kommunikation mit dem MQTT-Server. Sie bietet eine Reihe von Funktionen und Klassen, die es uns ermöglichen, MQTT-Funktionen einfach zu implementieren. Bevor wir beginnen, müssen wir die Erweiterungsbibliothek installieren. Abhängig von der PHP-Version und dem Betriebssystemtyp, den Sie verwenden, können Sie es auf unterschiedliche Weise installieren.

2. Verwendung der MQTT-Erweiterungsbibliothek

  1. Verbindung zum MQTT-Server herstellen
    Der erste Schritt zur Verwendung der MQTT-Erweiterungsbibliothek besteht darin, einen MQTT-Client zu erstellen und eine Verbindung mit dem MQTT-Server herzustellen. Während des Verbindungsvorgangs müssen wir den Hostnamen, die Portnummer und die Client-ID des Servers angeben.
<?php
$host = 'mqtt.example.com';
$port = 1883;
$clientID = 'php-mqtt-client';

$mqtt = new MosquittoClient($clientID);
$mqtt->connect($host, $port);
  1. Eine Nachricht veröffentlichen
    Um eine Nachricht auf dem MQTT-Server zu veröffentlichen, müssen wir das Thema (Topic) und den Inhalt der Nachricht angeben. Die Nachricht kann durch Aufruf der Funktion publish an das entsprechende Thema gesendet werden. publish函数即可将消息发送到相应的主题上。
<?php
$topic = 'example/topic';
$message = 'Hello, MQTT!';

$mqtt->publish($topic, $message, 0, false);

其中,第三个参数指定了QoS级别,0表示最多一次的传输,1表示至少一次的传输,2表示仅有一次的传输。第四个参数用于指定是否在消息中保留自己的Client ID。

  1. 订阅消息
    订阅消息是MQTT中最重要的功能之一。通过调用subscribe函数,可以让客户端订阅一个或多个主题,并指定相应的回调函数来处理收到的消息。
<?php
$topic = 'example/topic';

// 定义回调函数
$mqtt->onMessage(function($message) {
    echo 'Received message: ' . $message->payload . PHP_EOL;
});

$mqtt->subscribe($topic, 0);
$mqtt->loopForever();

在上面的例子中,我们定义了一个匿名回调函数用于处理收到的消息。回调函数将会在收到相应的消息时被调用,并输出收到的消息内容。

  1. 断开连接
    最后,当我们不再需要和MQTT服务器通信时,可以通过调用disconnect
  2. <?php
    $mqtt->disconnect();
Unter diesen gibt der dritte Parameter den QoS-Level an, 0 bedeutet höchstens eine Übertragung, 1 bedeutet mindestens eine Übertragung und 2 bedeutet nur eine Übertragung. Der vierte Parameter wird verwendet, um anzugeben, ob die eigene Client-ID in der Nachricht beibehalten werden soll.


    Nachrichten abonnierenDas Abonnieren von Nachrichten ist eine der wichtigsten Funktionen in MQTT. Durch den Aufruf der Funktion subscribe kann der Client ein oder mehrere Themen abonnieren und die entsprechende Callback-Funktion zur Verarbeitung der empfangenen Nachrichten angeben. 🎜🎜rrreee🎜Im obigen Beispiel haben wir eine anonyme Rückruffunktion definiert, um die empfangene Nachricht zu verarbeiten. Beim Empfang der entsprechenden Nachricht wird die Callback-Funktion aufgerufen und der Inhalt der empfangenen Nachricht ausgegeben. 🎜
      🎜Disconnect🎜Wenn wir schließlich nicht mehr mit dem MQTT-Server kommunizieren müssen, können wir die Verbindung trennen, indem wir die Funktion disconnect aufrufen. 🎜🎜rrreee🎜3. Zusammenfassung🎜Durch die Verwendung der MQTT-Erweiterungsbibliothek können wir die Kommunikation zwischen PHP und dem MQTT-Server einfach implementieren. In diesem Artikel werden die grundlegenden Konzepte und die Verwendung der MQTT-Erweiterungsbibliothek kurz vorgestellt und Codebeispiele bereitgestellt, um zu veranschaulichen, wie MQTT für die Veröffentlichung und das Abonnement von Nachrichten verwendet wird. Ich hoffe, dass dieser Artikel für Anfänger hilfreich sein und die MQTT-Technologie in der tatsächlichen Entwicklung besser nutzen kann. 🎜

Das obige ist der detaillierte Inhalt vonEinführungs- und Nutzungstutorial der MQTT-Erweiterungsbibliothek von PHP. 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