ホームページ >バックエンド開発 >PHPチュートリアル >MQTT プロトコルの PHP 実装ソリューション構築および展開ガイド

MQTT プロトコルの PHP 実装ソリューション構築および展開ガイド

王林
王林オリジナル
2023-07-10 23:55:382651ブラウズ

MQTT (Message Queuing Telemetry Transport) は、IoT デバイス間の通信に広く使用されている軽量のメッセージ送信プロトコルです。広く使用されているサーバー スクリプト言語である PHP には、MQTT プロトコルを実装するためのソリューションも多数あります。この記事では、PHP ベースの MQTT プロトコル実装ソリューションを構築および展開する方法を紹介し、関連するコード例を示します。

1. 準備

ビルドとデプロイを開始する前に、PHP と関連拡張機能がサーバーにインストールされていることを確認する必要があります。この記事で使用する拡張機能は phpMQTT です。これは、一連の便利な機能を提供するオープンソースの MQTT クライアント ライブラリです。

まず、次のコマンドを使用して phpMQTT 拡張機能をインストールします:

composer require bluerhinos/phpmqtt

2. MQTT ブローカーに接続します

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 接続を閉じます。

3. メッセージのパブリッシュとサブスクライブ

メッセージのパブリッシュとサブスクライブは、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 関数では、受信したメッセージを処理できます。

4. 概要

この記事では、PHP ベースの MQTT プロトコル実装ソリューションを紹介し、MQTT クライアント ライブラリとして phpMQTT を使用し、いくつかのコード例を示します。この記事を読み、サンプル コードに従うことで、MQTT プロトコルの PHP 実装を迅速に構築してデプロイできます。もちろん、MQTT プロトコルの PHP 実装は他にもあり、自分のニーズに応じて最適なツールを選択できます。

この記事がお役に立てば幸いです。また、構築と展開が成功することを祈っています。

以上がMQTT プロトコルの PHP 実装ソリューション構築および展開ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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