ホームページ  >  記事  >  バックエンド開発  >  PHP および MQTT: リモート センサー データのリアルタイム監視

PHP および MQTT: リモート センサー データのリアルタイム監視

王林
王林オリジナル
2023-07-09 19:04:441781ブラウズ

PHP と MQTT: リモート センサー データのリアルタイム監視

はじめに:
モノのインターネットの急速な発展により、リモート センサーを通じて機器や環境を監視および制御できるようになります。 MQTT (Message Queuing Telemetry Transport) は、センサー データを送信するために IoT アプリケーションで広く使用されている軽量のメッセージ送信プロトコルです。この記事では、PHP と MQTT を使用してリモート センサー データのリアルタイム監視を実装する方法を紹介します。

  1. 準備作業:
    始める前に、次のツールと環境を準備する必要があります:
  2. Linux または Windows を実行するサーバーまたはコンピューター;
  3. PHP (バージョン 7 以降) をインストールします。
  4. Mosquitto などの MQTT サーバーをインストールします。
  5. MQTT サーバーに接続します:
    まず、PHP を通じて MQTT サーバーに接続する必要があります。 PHP の MQTT 拡張機能を使用するか、サードパーティのライブラリを使用して接続を実装できます。この記事では、サードパーティのライブラリ phpMQTT を使用して接続します。

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 関数を呼び出して処理します。

  1. センサー データの公開:
    次に、センサーをシミュレートし、センサー データを 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 サーバーに公開されます。

  1. 結論:
    PHP と MQTT を使用することで、リモート センサー データのリアルタイム監視を実現できます。この記事では、phpMQTT ライブラリを使用して MQTT サーバーに接続し、トピックをサブスクライブし、受信したセンサー データを処理する方法と、センサー データを MQTT サーバーに公開する方法を紹介しました。

ただし、これは単なる例であり、実際のアプリケーションではさらに多くのロジックと処理が必要になります。この記事が読者に、IoT アプリケーションにおける PHP と MQTT の可能性をさらに探求するための基本的なアイデアとコード例を提供できれば幸いです。

参考資料:

  • phpMQTT 公式ライブラリ: https://github.com/bluerhinos/phpMQTT

以上がPHP および MQTT: リモート センサー データのリアルタイム監視の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。