PHP と MQTT を使用してスマート ホーム制御を実装する実践的な方法
モノのインターネットとスマート ホームの急速な発展に伴い、ホーム制御に対する人々の要求はますます高まっています。 MQTT は軽量な通信プロトコルとして、IoT デバイスとの通信に広く使用されています。この記事では、PHP と MQTT を使用してスマート ホーム コントロールを実装する実践的な方法を紹介し、対応するコード例を示します。
1. 環境の準備
開始する前に、次の環境を準備する必要があります:
2. MQTT の基本概念
スマート ホーム コントロールに MQTT を使用する前に、いくつかの基本的な MQTT 概念を理解する必要があります:
3. MQTT クライアントの作成と接続
まず、MQTT クライアントを作成し、MQTT プロキシ サーバーに接続する必要があります。以下はサンプルコードです:
<?php require("phpMQTT.php"); $host = "mqtt服务器IP地址"; $port = mqtt服务器端口号; $client_id = "MQTT客户端ID"; $mqtt = new phpMQTT($host, $port, $client_id); if ($mqtt->connect()) { // 连接成功 // ... } else { // 连接失败 // ... } $mqtt->close(); ?>
$host
、$port
、および $client_id## の値に注意してください。 # 変数は実際の状況に応じて変更する必要があります。
次に、MQTT クライアントを使用して、指定されたトピックにメッセージをパブリッシュできます。以下はサンプル コードです:
<?php require("phpMQTT.php"); $host = "mqtt服务器IP地址"; $port = mqtt服务器端口号; $client_id = "MQTT客户端ID"; $mqtt = new phpMQTT($host, $port, $client_id); if ($mqtt->connect()) { // 连接成功 $topic = "智能家居/灯泡状态"; $message = "ON"; $mqtt->publish($topic, $message, 0); // ... } else { // 连接失败 // ... } $mqtt->close(); ?>上記のコードでは、
ON という内容のメッセージを
Smart Home/Lamp Status トピックに発行します。
メッセージのパブリッシュに加えて、MQTT クライアントを使用して、指定されたトピックをサブスクライブし、関連メッセージを受信することもできます。以下はサンプル コードです。
<?php require("phpMQTT.php"); $host = "mqtt服务器IP地址"; $port = mqtt服务器端口号; $client_id = "MQTT客户端ID"; $mqtt = new phpMQTT($host, $port, $client_id); if ($mqtt->connect()) { // 连接成功 $topic = "智能家居/温度"; $qos = 0; $mqtt->subscribe($topic, $qos); while ($mqtt->proc()) { // 接收和处理消息 // ... } } else { // 连接失败 // ... } $mqtt->close(); ?>上記のコードでは、
Smart Home/Temperature トピックをサブスクライブし、ループを通じて関連メッセージを受信して処理します。
上記の基盤があれば、スマートホーム制御の実現を開始できます。以下は簡単な例です:
<?php require("phpMQTT.php"); $host = "mqtt服务器IP地址"; $port = mqtt服务器端口号; $client_id = "MQTT客户端ID"; $mqtt = new phpMQTT($host, $port, $client_id); if ($mqtt->connect()) { // 连接成功 // 接收温度信息 $temperature_topic = "智能家居/温度"; $mqtt->subscribe($temperature_topic, 0); // 接收开关状态 $status_topic = "智能家居/灯泡状态"; $mqtt->subscribe($status_topic, 0); while ($mqtt->proc()) { // 接收和处理消息 if ($mqtt->topic == $temperature_topic) { $temperature = $mqtt->message; // 处理温度信息 // ... } elseif ($mqtt->topic == $status_topic) { $status = $mqtt->message; // 处理开关状态 // ... } } } else { // 连接失败 // ... } $mqtt->close(); ?>上記のコードでは、2 つのトピック
Smart Home/Temperature と
Smart Home/Lamp Status をサブスクライブし、それらを受信します。受信したメッセージから温度やスイッチの状態をリアルタイムに処理できます。
この記事では、PHP と MQTT を使用してスマート ホーム コントロールを実装する実用的な方法を紹介し、対応するコード例を示します。この記事を通じて、MQTT と PHP を使用してスマート ホームの制御機能を実現する方法を理解していただき、スマート ホームの発展に貢献できれば幸いです。
以上がPHP と MQTT を使用したスマート ホーム制御への実践的なアプローチの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。