MQTT (Message Queuing Telemetry Transport) は、IoT デバイス間の通信に広く使用されている軽量のメッセージ送信プロトコルです。広く使用されているサーバー スクリプト言語である PHP には、MQTT プロトコルを実装するためのソリューションも多数あります。この記事では、PHP ベースの MQTT プロトコル実装ソリューションを構築および展開する方法を紹介し、関連するコード例を示します。
ビルドとデプロイを開始する前に、PHP と関連拡張機能がサーバーにインストールされていることを確認する必要があります。この記事で使用する拡張機能は phpMQTT です。これは、一連の便利な機能を提供するオープンソースの MQTT クライアント ライブラリです。
まず、次のコマンドを使用して phpMQTT 拡張機能をインストールします:
composer require bluerhinos/phpmqtt
phpMQTT を使用して MQTT ブローカーとの接続を確立するには、ブローカーのアドレスとポート、ユーザー名とパスワードを指定する必要があります。以下に例を示します。
<?php require("phpMQTT.php"); $mqtt = new phpMQTT("mqtt.example.com", 1883, "client_id"); if ($mqtt->connect(true, NULL, "username", "password")) { // 连接成功 } else { // 连接失败 } $mqtt->close(); ?>
phpMQTT
コンストラクターでは、MQTT ブローカーのアドレス (mqtt.example.com) とポート番号 (1883) が渡されます。同時にクライアント ID も渡されます。これは自分で変更できます。
次に、connect
関数を使用して MQTT ブローカーに接続します。この関数の最初のパラメータは、MQTT ブローカの永続セッションを有効にするかどうかを指定します (true は有効を意味します)、2 番目のパラメータはブローカの SSL 証明書パス、3 番目と 4 番目のパラメータはブローカのユーザー名とパスワードです。接続が成功すると、接続成功コード ブロックが実行されます。それ以外の場合は、接続に失敗したコードのブロックが実行されます。
最後に、接続を切断する必要がある場合は、close
関数を使用して MQTT 接続を閉じます。
メッセージのパブリッシュとサブスクライブは、MQTT の中核機能の 1 つです。 phpMQTT では、publish
関数を使用してメッセージをパブリッシュし、subscribe
関数を使用してメッセージをサブスクライブできます。
次は、メッセージのパブリッシュの例です:
<?php require("phpMQTT.php"); $mqtt = new phpMQTT("mqtt.example.com", 1883, "client_id"); if ($mqtt->connect(true, NULL, "username", "password")) { $mqtt->publish("topic", "message"); } else { // 连接失败 } $mqtt->close(); ?>
上の例では、publish
関数が呼び出され、「topic」という名前のトピックにメッセージをパブリッシュします。 。
次はメッセージを購読する例です:
<?php require("phpMQTT.php"); $mqtt = new phpMQTT("mqtt.example.com", 1883, "client_id"); if ($mqtt->connect(true, NULL, "username", "password")) { $topics = array("topic1", "topic2"); $mqtt->subscribe($topics); while ($mqtt->proc()) { // 处理订阅的消息 } } else { // 连接失败 } $mqtt->close(); ?>
上の例では、subscribe
関数を呼び出し、トピック配列を渡してメッセージを購読します。複数のトピック。次に、ループを使用して proc
関数を呼び出し、ループ内でサブスクライブされたメッセージをリッスンします。 proc
関数では、受信したメッセージを処理できます。
この記事では、PHP ベースの MQTT プロトコル実装ソリューションを紹介し、MQTT クライアント ライブラリとして phpMQTT を使用し、いくつかのコード例を示します。この記事を読み、サンプル コードに従うことで、MQTT プロトコルの PHP 実装を迅速に構築してデプロイできます。もちろん、MQTT プロトコルの PHP 実装は他にもあり、自分のニーズに応じて最適なツールを選択できます。
この記事がお役に立てば幸いです。また、構築と展開が成功することを祈っています。
以上がMQTT プロトコルの PHP 実装ソリューション構築および展開ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。