現在の位置: ホーム> 最新記事一覧> PHPでMQTTプロトコル通信を実装する方法:完全なガイドとコードの例

PHPでMQTTプロトコル通信を実装する方法:完全なガイドとコードの例

M66 2025-07-27

導入

IoTテクノロジーの継続的な開発により、MQTT(メッセージキューテレメトリトランスポート)プロトコルは軽量通信プロトコルであり、低帯域幅および不安定なネットワーク環境で広く使用されています。この記事では、PHPでMQTTプロトコルの通信機能を実装する方法を詳細に紹介し、IoTアプリケーションをすばやく構築するのに役立つ関連コードの例を提供します。

MQTTライブラリをインストールします

まず、MQTTプロトコルをサポートするPHPライブラリをインストールする必要があります。この記事では、「PHPMQTT」ライブラリを使用しています。これは、MQTTサーバーと通信するのに非常に適したツールです。

ライブラリは、Composer Command Lineツールを介してインストールできます。端末で次のコマンドを実行します。

<span class="fun">作曲家は、Bluerhinos/Phpmqttclientを必要とします</span>

メッセージを接続および公開します

次に、MQTTサーバーに接続してメッセージを公開する方法を見てみましょう。以下は、MQTTサーバーに接続し、PHPクライアントを介してメッセージを送信する方法を示す簡単なコード例です。

 require("phpMQTT.php");

$server = "mqtt.example.com";  // MQTTサーバーアドレス
$port = 1883;  // MQTTサーバーポート
$username = "your_username";  // ユーザー名
$password = "your_password";  // パスワード
$client_id = "client_id";  // クライアントID
$topic = "your_topic";  // トピックを投稿します
$message = "Hello, MQTT!";  // メッセージコンテンツ

$mqtt = new phpMQTT($server, $port, $client_id);

if($mqtt->connect(true, NULL, $username, $password)) {
    $mqtt->publish($topic, $message, 0);
    $mqtt->close();
} else {
    echo "接続に失敗しました!";
}

メッセージを購読します

メッセージの公開に加えて、PHPクライアントを介してMQTTサーバー上のトピックを購読して、対応するメッセージを受信することもできます。次の例は、トピックを購読し、受信したメッセージを処理する方法を示しています。

 require("phpMQTT.php");

$server = "mqtt.example.com";  // MQTTサーバーアドレス
$port = 1883;  // MQTTサーバーポート
$username = "your_username";  // ユーザー名
$password = "your_password";  // パスワード
$client_id = "client_id";  // クライアントID
$topic = "your_topic";  // トピックを購読します

$mqtt = new phpMQTT($server, $port, $client_id);

if($mqtt->connect(true, NULL, $username, $password)) {
    $mqtt->subscribe($topic, 0);
    while($mqtt->proc()) {
        // 受信したメッセージを処理します
    }
    $mqtt->close();
} else {
    echo "接続に失敗しました!";
}

受信したメッセージを処理します

上記のコードでは、サブスクライブメッセージを処理するためにコールバック関数を使用します。以下は、受信したメッセージを処理および出力する単純な関数の例です。

 function processMessage($topic, $message) {
    echo "メッセージを受信しました: " . $message . "\n";
}

require("phpMQTT.php");

$server = "mqtt.example.com";  // MQTTサーバーアドレス
$port = 1883;  // MQTTサーバーポート
$username = "your_username";  // ユーザー名
$password = "your_password";  // パスワード
$client_id = "client_id";  // クライアントID
$topic = "your_topic";  // トピックを購読します

$mqtt = new phpMQTT($server, $port, $client_id);
$mqtt->onMessage = "processMessage";  // コールバック関数を設定します

if($mqtt->connect(true, NULL, $username, $password)) {
    $mqtt->subscribe($topic, 0);
    while($mqtt->proc()) { }
    $mqtt->close();
} else {
    echo "接続に失敗しました!";
}

要約します

この記事では、「PHPMQTT」ライブラリを使用して、実際のコードの例を介してPHPでMQTTプロトコル通信機能を実装する方法を示しています。これらの例に基づいて、データ送信とメッセージ管理のために独自のIoTアプリケーションをすばやく構築できます。この記事がMQTTプロトコルをよりよく理解し、適用するのに役立つことを願っています。