PHP と MQTT を使用して、デバイス データのリアルタイム分析と統計を実現します
概要:
モノのインターネットの急速な発展に伴い、ますます多くのデバイスがネットワーク経由で接続され、大量のリアルタイムデータ。これらのデータのリアルタイム分析と統計は、機器の使用状況をより深く理解し、機器の故障を事前に検出し、機器のパフォーマンスを最適化するのに役立ちます。この記事では、PHP および MQTT プロトコルを使用して、デバイス データのリアルタイム分析と統計を実現する方法を紹介します。
MQTT の概要:
MQTT は、軽量のパブリッシュ/サブスクライブ メッセージ送信プロトコルです。シンプルさ、コンパクトさ、実装の容易さが特徴で、ネットワーク帯域幅が限られた環境に適しています。 MQTT プロトコルの 2 つの中心概念は、パブリッシャーとサブスクライバーです。パブリッシャーは特定のトピック (トピック) にメッセージを送信し、サブスクライバーはこのトピックをサブスクライブすることでメッセージを受信します。 MQTT プロトコルは通信に非同期方式を使用しており、パブリッシャーとサブスクライバーの間に直接の関係はありません。
PHP と MQTT を使用してデバイス データのリアルタイム分析と統計を実現する手順は次のとおりです。
ステップ 1: MQTT サーバーのインストールと構成
最初にインストールする必要があります。 MQTT サーバーを構成するには、Eclipse Mosquitto、EMQ、RabbitMQ などを選択できます。
ステップ 2: PHP コードを記述する
PHP ファイルを作成し、mqtt_client.php という名前を付け、次のコードをファイルに追加します:
<?php
require('phpMQTT.php');
$server = 'mqtt_server_ip'; // MQTT服务器的IP地址
$port = 1883; // MQTT服务器的端口号
$client_id = 'phpmqtt_client'; // 客户端ID
$mqtt = new phpMQTT($server, $port, $client_id);
if(!$mqtt->connect(true, NULL, NULL, NULL, NULL)){
exit(1);
}
$topics['device_data/#'] = array('qos' => 0, 'function' => 'analyze_and_statistics');
$mqtt->subscribe($topics, 0);
while($mqtt->proc()){
}
$mqtt->close();
function analyze_and_statistics($topic, $msg){
// 在此处进行设备数据分析与统计的业务逻辑处理
echo "Received message on topic: $topic
";
echo "Message: $msg
";
}ステップ 3: データ分析と統計を記述する処理ロジック
上記のコードでは、analyze_and_statistics 関数は、受信したデバイス データを分析およびカウントするためのビジネス ロジック処理を定義します。この関数には、平均値、最大値、最小値などをリアルタイムに計算するなど、必要に応じてロジック コードを記述することができます。
ステップ 4: デバイス データを公開する
デバイス側のコードで、MQTT プロトコルを使用してデバイス データを対応するトピックに公開します。たとえば、device_data/temperature というトピックを公開し、温度データをメッセージとしてそのトピックに送信できます。
<?php
require('phpMQTT.php');
$server = 'mqtt_server_ip';
$port = 1883;
$client_id = 'device_client_1';
$mqtt = new phpMQTT($server, $port, $client_id);
if(!$mqtt->connect(true, NULL, NULL, NULL, NULL)){
exit(1);
}
$mqtt->publish('device_data/temperature', '25.6', 0);
$mqtt->close();mqtt_client.php ファイルを実行した後、MQTT を通じてデバイス データ トピックをサブスクライブし、データ受信時にデータ分析と統計を行うためにanalyze_and_statistics 関数を呼び出します。
概要:
この記事では、PHP および MQTT プロトコルを使用して、デバイス データのリアルタイム分析と統計を実現する方法を紹介します。デバイス データ トピックをサブスクライブし、対応するビジネス ロジック処理コードを記述することで、デバイス データをリアルタイムで分析し、統計計算を実行できます。このリアルタイム分析および統計手法は、機器の使用状況をより深く理解し、機器のパフォーマンスと安定性を向上させるのに役立ちます。同時に、このソリューションは柔軟性と拡張性があり、さまざまな規模やニーズの IoT アプリケーション シナリオに適応できます。
上記は、PHP と MQTT を使用してデバイス データのリアルタイム分析と統計を実装する手順とコード例です。
以上がPHPとMQTTを使用したデバイスデータのリアルタイム分析と統計の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。