PHP と MQTT を使用して IoT デバイスにリアルタイム アラーム機能を追加する方法
モノのインターネットの急速な発展に伴い、ますます多くのデバイスがリアルタイムで通信およびデータ交換できるようになりました。インターネット。しかし、実際のアプリケーションでは、機器の異常にタイムリーに対処するために、機器の状態を監視し、警告する必要があることがよくあります。この記事では、PHP および MQTT プロトコルを使用して、IoT デバイスにリアルタイム アラーム機能を追加する方法を紹介します。
MQTT (Message Queuing Telemetry Transport) は、パブリッシュ/サブスクライブ モデルに基づく軽量の IoT プロトコルで、デバイス間のリアルタイム通信の問題を効果的に解決します。 PHP は、Web 開発の分野で広く使用されている汎用のサーバー側スクリプト言語です。
リアルタイム アラーム機能を IoT デバイスに追加するには、まず MQTT サーバーを構築する必要があります。オープン ソースの Mosquitto または Eclipse Mosquitto を MQTT サーバーとして使用できます。次のコマンドを使用して、Linux システムに Mosquitto をインストールします:
sudo apt-get install mosquitto mosquitto-clients
インストールが完了したら、Mosquitto サーバーを起動します:
mosquitto
次に、PHP の MQTT クライアント ライブラリを使用します。phpMQTT は、デバイスのサブスクリプション機能と公開機能を実装します。まず、phpMQTT ライブラリを PHP プロジェクトに導入します:
require("phpMQTT.php");
次に、MQTT クライアント インスタンスを作成し、MQTT サーバーに接続します:
$mqtt = new phpMQTT("localhost", 1883, "ClientID" . rand()); if (!$mqtt->connect(true, null, null, null, null)) { exit(1); }
接続が成功したら、サブスクライブして公開できます。動作しました。たとえば、トピックをサブスクライブします:
$mqtt->subscribe("device/sensor", 0);
指定されたトピックにメッセージをパブリッシュします:
$mqtt->publish("device/sensor", "Warning: Sensor value exceeds threshold", 0);
上記のコードでは、「device/sensor」という名前のトピックをサブスクライブし、アラーム 同じトピックへのメッセージ。
もちろん、リアルタイム アラーム機能を実現するには、リアルタイムの監視とアラームのためにデバイスのステータス情報を MQTT サーバーに送信する必要もあります。デバイス側は Python やその他の言語を使用して MQTT クライアントを実装し、指定されたトピックにデバイスのステータス情報を定期的に公開できます。
PHP プロジェクトにデバイス ステータス情報を受信するページを追加し、このトピックを購読することでデバイス ステータス情報を取得できます。例:
while ($mqtt->proc()) { // 接收设备状态信息 $message = $mqtt->message; echo $message['topic'] . ": " . $message['payload'] . " "; }
上記のコードでは、無限ループを使用してデバイスのステータス情報を受信し、それを処理のために出力します。デバイスが新しいステータス情報をリリースすると、対応するアラーム動作がトリガーされます。
要約すると、PHP と MQTT プロトコルを使用して IoT デバイスにリアルタイム アラーム機能を追加することは複雑ではありません。 MQTT サーバーを構築し、購読および公開操作に phpMQTT ライブラリを使用し、デバイス側からステータス情報を送信することで、デバイスのステータスのリアルタイム監視と警報を実現できます。この記事の紹介が IoT 開発者にとって役立つことを願っています。
(注: 上記のサンプル コードはデモンストレーションのみを目的としており、完全に使用可能なコードではありません。実際のアプリケーションでは、特定のニーズに応じて変更および改善してください。)
以上がPHP と MQTT を使用して IoT デバイスにリアルタイム アラートを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。