PHP と MQTT を使用してリモート デバイスの操作と制御を実現する
はじめに:
MQTT (メッセージ キューイング テレメトリ トランスポート) は、軽量でオープンなパブリッシュ/サブスクライブ メッセージ送信プロトコルであり、デバイス間の通信とデータ転送を行うことができます。デバイス。 PHP は、Web アプリケーションでのデバイスのリモート操作と制御を容易にするために、MQTT プロトコルと統合できる人気のあるサーバー側スクリプト言語です。
この記事では、PHP および MQTT プロトコルの使用方法を紹介し、サンプル コードを使用してリモート デバイスの操作と制御のプロセスを示します。
ステップ 1: MQTT PHP 拡張機能をインストールする
まず、PHP で MQTT プロトコルを使用できるようにするために、MQTT PHP 拡張機能をインストールする必要があります。よく使用される MQTT PHP 拡張機能には、Mosquitto と phpMQTT の 2 つがあります。この記事では例としてphpMQTTを紹介します。
ターミナルで次のコマンドを実行して、phpMQTT 拡張機能をインストールします:
composer require bluerhinos/phpmqtt
ステップ 2: MQTT サーバーに接続します
phpMQTT 拡張機能を使用して、MQTT サーバーに接続します。サーバーのホスト名とポート番号、およびクライアント ID を指定します。サンプル コードは次のとおりです。
<?php require("phpMQTT.php"); $mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID if ($mqtt->connect()) { // 连接成功 // ... } else { // 连接失败 // ... }
ステップ 3: トピックのサブスクライブ
MQTT プロトコルでは、トピック (Topic) はメッセージの内容を識別するために使用されます。デバイスから送信されたメッセージを受信するには、1 つ以上のトピックを購読する必要があります。サンプル コードは次のとおりです。
<?php require("phpMQTT.php"); $mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID if ($mqtt->connect()) { $topics = array("topic1", "topic2"); // 订阅的主题列表 $mqtt->subscribe($topics, 0); // 订阅主题 while ($mqtt->proc()) { // 处理接收到的消息 // ... } $mqtt->close(); // 关闭连接 } else { // 连接失败 // ... }
ステップ 4: メッセージのパブリッシュ
デバイスに指示を送信するには、指定されたトピックにメッセージをパブリッシュする必要があります。サンプル コードは次のとおりです。
<?php require("phpMQTT.php"); $mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID if ($mqtt->connect()) { $topic = "topic"; // 发布的主题 $message = "Hello, device!"; // 发布的消息 $mqtt->publish($topic, $message, 0); // 发布消息 $mqtt->close(); // 关闭连接 } else { // 连接失败 // ... }
ステップ 5: 受信メッセージを解析する
上記の例では、メッセージを受信した後に受信メッセージを処理する必要があります。メッセージの内容はデバイスのニーズに応じて解析でき、対応する操作はニーズに応じて実行できます。サンプルコードは次のとおりです。
<?php require("phpMQTT.php"); $mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID if ($mqtt->connect()) { $topics = array("topic1", "topic2"); // 订阅的主题列表 $mqtt->subscribe($topics, 0); // 订阅主题 while ($mqtt->proc()) { $message = $mqtt->message; // 解析接收到的消息 // ... // 根据解析的结果进行操作 // ... } $mqtt->close(); // 关闭连接 } else { // 连接失败 // ... }
概要:
PHP および MQTT プロトコルを使用することで、リモート デバイスの操作と制御を簡単に実装できます。この記事では、phpMQTT 拡張機能を使用して MQTT サーバーへの接続、トピックへのサブスクライブ、メッセージのパブリッシュ、受信メッセージの解析を行う基本的な手順を紹介し、対応するサンプル コードを示します。読者は、独自のニーズに応じてカスタマイズおよび拡張し、特定のプロジェクトと組み合わせて、より柔軟で強力なリモート デバイスの操作および制御機能を実現できます。
以上がPHPとMQTTを使用したリモートデバイスの操作と制御の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。