ホームページ >バックエンド開発 >PHPチュートリアル >PHP と MQTT を使用したリアルタイム データ視覚化のベスト プラクティス

PHP と MQTT を使用したリアルタイム データ視覚化のベスト プラクティス

PHPz
PHPzオリジナル
2023-07-07 17:53:42901ブラウズ

PHP と MQTT を使用したリアルタイム データ視覚化のベスト プラクティス

はじめに:
IoT テクノロジーの継続的な発展により、さまざまなセンサー データを簡単に収集できるようになりました。このデータをリアルタイムで視覚化する方法は重要な課題です。この記事では、PHP および MQTT プロトコルを使用してリアルタイムのデータ視覚化を実現する方法のベスト プラクティスを紹介します。

1. MQTT プロトコルとは何ですか?
MQTT は、IoT デバイス間の通信に使用される軽量の通信プロトコルです。シンプル、軽量、オープンソースであるため、IoT アプリケーションに非常に適しています。

2. PHP と MQTT を選択する理由は何ですか?

  1. PHP はスクリプト言語として、学習と使用が簡単です。
  2. MQTT プロトコルは、低帯域幅、低消費電力、高信頼性という特徴を備えており、IoT アプリケーションに非常に適しています。
  3. PHP には、MQTT サーバーと簡単に通信できる Mosquitto、PHPMQTT などの豊富な MQTT クライアント ライブラリがあります。
#3. リアルタイム データ視覚化のベスト プラクティス

リアルタイム データ視覚化を実現するプロセスでは、次の手順を実行する必要があります。
# 環境の準備

まず、サーバーに Mosquitto などの MQTT サーバーをインストールする必要があります。次に、Mosquitto-PHP などの PHP 用の MQTT クライアント ライブラリをインストールする必要があります。次のコマンドを実行してインストールできます。
    sudo apt-get install mosquitto mosquitto-clients
    sudo apt-get install php-pear
    sudo apt-get install php-dev
    sudo pecl install Mosquitto-alpha
    sudo echo "extension=mosquitto.so" > /etc/php/7.2/cli/conf.d/20-mosquitto.ini

  1. MQTT クライアントの作成

    次に、MQTT サーバーと通信するための MQTT クライアントを作成する必要があります。 Mosquitto-PHP ライブラリを使用してクライアントを作成できます。サンプル コードは次のとおりです。
  2. <?php
    $mqtt = new MosquittoClient();
    $mqtt->onConnect('connectHandler');
    $mqtt->onMessage('messageHandler');
    $mqtt->connect('mqtt.example.com', 1883, 60); // 连接到MQTT服务器
    
    function connectHandler($r)
    {
     // 连接成功后的处理逻辑
    }
    
    function messageHandler($m)
    {
     // 接收到消息后的处理逻辑
    }
    
    $mqtt->loopForever(); //开启循环监听

  3. データの公開

    データを公開する必要がある場合は、次のコードを使用してデータを公開できます。
  4. # #データのサブスクライブ
  5. データをサブスクライブする必要がある場合は、次のコードを使用してデータをサブスクライブできます:

    $mqtt->publish('topic', 'message', 2, false); // 发布消息

    データの視覚化
  6. データを受信した後、対応するチャート ライブラリを使用してデータの視覚化を実行できます。これは、Highcharts や Echarts などのチャート ライブラリを使用して実現できます。

  7. 4. デモの例

    シンプルなリアルタイム温度監視システムを実装してみましょう。まず、センサー デバイスなどのデータを公開するクライアントを作成します:
  8. $mqtt->subscribe('topic', 2); // 订阅消息
  9. 次に、リアルタイムの温度データを受信して​​表示するためにデータをサブスクライブするクライアントを作成します:
    $mqtt = new MosquittoClient();
    $mqtt->connect('mqtt.example.com', 1883, 60);
    
    while (true) {
        $temperature = getTemperature(); // 获取温度数据
        $mqtt->publish('temperature', $temperature, 2, false);
        sleep(1); // 每隔1秒发布一次数据
    }
  10. 最後に、Highcharts を使用してリアルタイムの温度視覚化を実現します。まず、Highcharts ライブラリを導入し、次に温度グラフを作成し、データを受信した後にグラフを更新する必要があります:
$mqtt = new MosquittoClient();
$mqtt->connect('mqtt.example.com', 1883, 60);
$mqtt->subscribe('temperature', 2);

$mqtt->onMessage(function ($message){
    $temperature = $message->payload;
    echo '当前温度:' . $temperature . '℃';
});

$mqtt->loopForever();

結論:
PHP および MQTT プロトコルを通じて、リアルタイム データを実現できます。視覚化。実際には、特定のニーズに応じて PHP と MQTT が提供する機能を柔軟に使用して、より豊かなデータ視覚化効果を実現できます。

以上がPHP と MQTT を使用したリアルタイム データ視覚化のベスト プラクティスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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