Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP dan MQTT untuk menyediakan pemantauan dan keupayaan kawalan jauh untuk peranti IoT

Cara menggunakan PHP dan MQTT untuk menyediakan pemantauan dan keupayaan kawalan jauh untuk peranti IoT

王林
王林asal
2023-07-08 22:13:401609semak imbas

Cara menggunakan PHP dan MQTT untuk menyediakan fungsi pemantauan dan kawalan jauh untuk peranti IoT

Dengan perkembangan teknologi IoT, semakin banyak peranti memerlukan pemantauan dan kawalan jauh. Penyelesaian biasa untuk menyediakan fungsi ini untuk peranti adalah dengan menggunakan protokol MQTT. MQTT (Message Qeuing Telemetry Transport) ialah protokol penghantaran mesej terbitan/langganan ringan yang sesuai untuk lebar jalur rendah dan persekitaran rangkaian yang tidak stabil. PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas dengan pelbagai medan aplikasi dan sumber pembangunan yang kaya. Artikel ini akan memperkenalkan cara menggunakan PHP dan MQTT untuk menyediakan fungsi pemantauan dan kawalan jauh untuk peranti IoT, dengan contoh kod.

Pertama, kita perlu memahami prinsip asas MQTT. MQTT adalah berdasarkan model terbitkan/langganan Pelanggan boleh menerbitkan mesej pada satu atau lebih topik dan melanggan satu atau lebih topik. Apabila mesej baharu diterbitkan pada topik, pelanggan yang melanggan topik tersebut akan menerima mesej tersebut. Menggunakan protokol MQTT, kita boleh mencapai pemantauan dan kawalan jauh peralatan.

Dalam kod PHP, kita perlu menggunakan perpustakaan pelanggan MQTT untuk menyambung kepada broker MQTT untuk menerbitkan dan melanggan mesej. Di sini kami menggunakan perpustakaan phpMQTT, yang boleh dipasang melalui Composer untuk memudahkan pengurusan pergantungan Kaedah pemasangan khusus adalah seperti berikut:

composer require bluerhinos/phpmqtt

Selepas pemasangan selesai, kami boleh memperkenalkan perpustakaan ke dalam kod PHP dan mula menulis kod kami.

Pertama, kita perlu menyambung kepada broker MQTT. Berikut ialah contoh kod:

require("phpMQTT.php");

$host = "mqtt.example.com"; // MQTT代理的主机名或IP地址
$port = 1883; // MQTT代理的端口号
$client_id = "phpMQTT_pub"; // 客户端ID
$username = "your_username"; // MQTT代理的用户名
$password = "your_password"; // MQTT代理的密码

$mqtt = new phpMQTT($host, $port, $client_id);
if (!$mqtt->connect(true, NULL, $username, $password)) {
  exit("连接失败");
}

Dalam kod di atas, kami telah mencipta klien MQTT menggunakan kelas phpMQTT dan disambungkan kepada broker MQTT melalui kaedah connect(). Perlu diingatkan bahawa dalam penggunaan sebenar, anda perlu menggantikan nama hos yang sepadan, nombor port, ID pelanggan, nama pengguna dan kata laluan dengan tetapan anda sendiri.

Seterusnya, kami boleh menerbitkan mesej melalui kaedah publish() dan melanggan topik melalui kaedah subscribe(). Berikut ialah contoh kod:

// 发布消息
$topic = "sensor1/data"; // 要发布消息的主题
$message = "Hello, MQTT!"; // 要发布的消息

$mqtt->publish($topic, $message);

// 订阅主题
$topics['sensor1/#'] = array("qos" => 0, "function" => "handle_message"); // 订阅以sensor1/开头的主题,并指定消息处理函数为handle_message

$mqtt->subscribe($topics);

// 消息处理函数
function handle_message($topic, $message) {
  echo "收到消息:$message
";
}

Dalam kod di atas, kami menerbitkan mesej melalui kaedah publish() dan melanggan topik bermula dengan sensor1/ melalui kaedah subscribe(). Pada masa yang sama, kami mentakrifkan fungsi pemprosesan mesej handle_message untuk mencetak mesej apabila ia diterima.

Melalui kod di atas, kami boleh mencapai pemantauan dan kawalan jauh peranti. Apabila kami menerbitkan mesej, peranti yang melanggan topik tersebut akan dapat menerima mesej dan mengambil tindakan yang sewajarnya seperti yang diperlukan.

Kesimpulannya, menggunakan PHP dan MQTT untuk menyediakan fungsi pemantauan dan kawalan jauh untuk peranti IoT adalah penyelesaian yang agak mudah dan fleksibel. Melalui mod terbitkan/langganan protokol MQTT, kami boleh mencapai komunikasi yang cekap antara peranti. Menggunakan perpustakaan phpMQTT, anda boleh dengan mudah menyepadukan fungsi MQTT dalam kod PHP dan merealisasikan pemantauan dan kawalan jauh peranti. Artikel ini menyediakan beberapa contoh kod asas untuk rujukan dan amalan pembaca.

Sudah tentu, terdapat banyak pertimbangan lain untuk fungsi pemantauan dan kawalan jauh peranti IoT, seperti pengesahan peranti, keselamatan, dsb. Dalam aplikasi sebenar, kita perlu menambah baik dan mengoptimumkan mengikut keperluan dan senario tertentu. Saya harap artikel ini dapat memberikan sedikit inspirasi kepada pembaca dalam pemantauan dan kawalan jauh peranti IoT, dan membantu pembaca memahami dan menggunakan teknologi PHP dan MQTT dengan lebih baik.

Atas ialah kandungan terperinci Cara menggunakan PHP dan MQTT untuk menyediakan pemantauan dan keupayaan kawalan jauh untuk peranti IoT. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn