PHP と MQTT: リモート センサー データのリアルタイム監視
はじめに:
モノのインターネットの急速な発展により、リモート センサーを通じて機器や環境を監視および制御できるようになります。 MQTT (Message Queuing Telemetry Transport) は、センサー データを送信するために IoT アプリケーションで広く使用されている軽量のメッセージ送信プロトコルです。この記事では、PHP と MQTT を使用してリモート センサー データのリアルタイム監視を実装する方法を紹介します。
phpMQTT ライブラリをインストールします:
composer require bluerhinos/phpmqtt
MQTT サーバーに接続するためのサンプル コードは次のとおりです:
<?php require("phpMQTT.php"); $mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); if(!$mqtt->connect()){ exit(1); } // MQTT订阅主题 $topics['sensors/data'] = array("qos" => 0, "function" => "handleSensorData"); $mqtt->subscribe($topics, 0); while($mqtt->proc()){ } $mqtt->close(); function handleSensorData($topic, $message){ echo "Received message: $message from topic: $topic "; } ?>
上記のサンプル コードでは、最初に以下を紹介します。 require ステートメントによる phpMQTT ライブラリ。次に、mqtt オブジェクトを作成し、mqtt サーバーのアドレス (mqtt.example.com) とポート番号 (1883) を使用して接続します。接続が成功すると、1 つ以上のトピックをサブスクライブできます。この例では、「sensors/data」という名前のトピックをサブスクライブし、受信したデータを処理するコールバック関数 handleSensorData を指定します。最後に、データをループで読み込むことでリアルタイム監視を実現し、新しいセンサーデータを受信すると、handleSensorData 関数を呼び出して処理します。
センサー データの公開:
次に、センサーをシミュレートし、センサー データを PHP 経由で MQTT サーバーに公開します。以下は簡単なコード例です:
<?php require("phpMQTT.php"); $mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); if(!$mqtt->connect()){ exit(1); } // MQTT发布主题 $topic = "sensors/data"; $message = "Sensor data: " . rand(1, 100); $mqtt->publish($topic, $message, 0); $mqtt->close(); ?>
上記のコードでは、mqtt オブジェクトを作成し、mqtt サーバーのアドレス (mqtt.example.com) とポート番号を使用します。 ( 1883) 接続します。次に、トピック名 (センサー/データ) と公開するセンサー データを指定しました。最後に、mqtt オブジェクトの public メソッドを呼び出すことによって、センサー データが MQTT サーバーに公開されます。
ただし、これは単なる例であり、実際のアプリケーションではさらに多くのロジックと処理が必要になります。この記事が読者に、IoT アプリケーションにおける PHP と MQTT の可能性をさらに探求するための基本的なアイデアとコード例を提供できれば幸いです。
参考資料:
以上がPHP および MQTT: リモート センサー データのリアルタイム監視の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。