ホームページ >バックエンド開発 >PHPチュートリアル >PHP と MQTT: イベント駆動型のリアルタイム データ分析システムの構築
PHP と MQTT: イベント駆動型のリアルタイム データ分析システムの構築
今日のデジタル時代では、リアルタイム データ分析が企業の意思決定とビジネスの最適化の鍵となっています。効率的なリアルタイム データ分析を実現するには、データを収集、処理、保存するための信頼性と柔軟性に優れたシステムが必要です。この記事では、PHP と MQTT (Message Queuing Telemetry Transport) を使用して、イベント駆動型のリアルタイム データ分析システムを構築する方法を紹介します。
<?php require 'vendor/autoload.php'; use EclipseMosquittoClient as MosquittoClient; $client = new MosquittoClient(); $client->setCredentials('username', 'password'); // 如果需要认证,添加用户名和密码 $client->onConnect(function () use (&$client) { $client->publish('topic', 'Hello from PHP!', 0, false); $client->disconnect(); }); $client->onDisconnect(function () { echo "Disconnected from MQTT broker."; }); $client->connect('localhost', 1883, 60); $client->loopForever(); ?>
上記のコードは、最初に require 'vendor を渡します。 /autoload.php ';
Paho MQTT クライアント ライブラリを導入し、新しいクライアント インスタンスを作成します。ログイン認証情報は、setCredentials
メソッドを使用して設定できます。 onConnect
イベント コールバックでは、publish
メソッドを使用して、指定されたトピックにメッセージをパブリッシュし、接続を閉じることができます。最後に、connect
メソッドを使用して MQTT ブローカー サーバーに接続し、loopForever
メソッドを使用して接続を維持します。
トピックをサブスクライブするには、次のコードを使用できます:
<?php require 'vendor/autoload.php'; use EclipseMosquittoClient as MosquittoClient; $client = new MosquittoClient(); $client->setCredentials('username', 'password'); // 如果需要认证,添加用户名和密码 $client->onConnect(function () use (&$client) { $client->subscribe('topic', 0); }); $client->onMessage(function ($message) { echo "Received message: " . $message->payload . " "; }); $client->connect('localhost', 1883, 60); $client->loopForever(); ?>
上記のコードは公開コードに似ています。まず、必要なライブラリを導入し、クライアント インスタンスを作成し、認証情報。 onConnect
イベント コールバックで、subscribe
メソッドを使用して、指定されたトピックをサブスクライブします。 onMessage
イベント コールバックでは、受信したメッセージを処理できます。最後に、connect
メソッドを使用して MQTT プロキシ サーバーに接続し、接続をアクティブに保ちます。
<?php $servername = 'localhost'; $username = 'username'; $password = 'password'; $dbname = 'database'; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // 准备SQL语句 $sql = "INSERT INTO data (timestamp, value) VALUES ('" . time() . "', '10.5')"; // 执行SQL语句 if ($conn->query($sql) === TRUE) { echo "Data inserted successfully."; } else { echo "Error: " . $sql . "<br>" . $conn->error; } // 关闭连接 $conn->close(); ?>
上記のコードは、まず MySQL 接続を作成し、接続が成功したかどうかを確認します。次に、挿入するデータを含む SQL ステートメントを準備し、実行します。最後に接続を閉じます。
結論:
この記事では、PHP と MQTT を使用してイベント駆動型のリアルタイム データ分析システムを構築する方法を紹介しました。まず、MQTT プロキシ サーバーをインストールして構成し、次に PHP を使用してプロキシ サーバーに接続し、特定のトピックに関するメッセージをパブリッシュまたはサブスクライブします。最後に、PHP を使用してデータ処理と保存のロジック コードを作成し、MySQL データベースにデータを保存する方法を示しました。このようなシステムを使用することで、企業はデータをリアルタイムで監視および分析し、タイムリーな意思決定を行い、ビジネスを最適化することができます。
参考資料:
以上がPHP と MQTT: イベント駆動型のリアルタイム データ分析システムの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。