Rumah > Artikel > pembangunan bahagian belakang > Menggunakan PHP dan MQTT untuk melaksanakan penghantaran data untuk kawalan jauh sistem rumah pintar
Gunakan PHP dan MQTT untuk merealisasikan penghantaran data sistem rumah pintar kawalan jauh
Sistem rumah pintar, sebagai pencapaian utama teknologi moden, telah secara beransur-ansur memasuki kehidupan orang ramai. Melalui sistem rumah pintar, orang ramai boleh mengawal lampu, peralatan elektrik dan peralatan lain dari jauh di rumah mereka, memberikan pengalaman hidup yang lebih mudah dan selesa. Artikel ini akan memperkenalkan cara menggunakan protokol PHP dan MQTT untuk mencapai penghantaran data untuk kawalan jauh sistem rumah pintar.
MQTT (Message Qeuing Telemetry Transport) ialah protokol pengangkutan mesej terbitan/langganan ringan yang biasa digunakan dalam Internet Perkara dan kawalan peranti jauh. Sebagai bahasa pembangunan web yang biasa digunakan, PHP mempunyai kebolehskalaan dan kestabilan yang baik. Kami boleh menggabungkan MQTT dan PHP untuk mencapai kawalan jauh sistem rumah pintar.
Pertama, kita perlu membina pelayan MQTT, yang boleh dilaksanakan menggunakan Mosquitto, pelaksanaan MQTT sumber terbuka. Memasang Mosquitto adalah sangat mudah, hanya jalankan arahan berikut dalam baris arahan:
sudo apt-get install mosquitto
Selepas pemasangan selesai, kita perlu mengkonfigurasi nama pengguna dan kata laluan pelayan MQTT untuk memastikan keselamatan penghantaran data. Ia boleh ditetapkan dengan mengedit fail konfigurasi /etc/mosquitto/mosquitto.conf
. /etc/mosquitto/mosquitto.conf
进行设置。
接下来,我们需要安装PHP的MQTT扩展。可以使用以下命令安装:
sudo pecl install Mosquitto-alpha
安装完成后,我们可以在PHP的配置文件php.ini
extension=mosquitto.soSelepas pemasangan selesai, kami boleh menambah kandungan berikut pada fail konfigurasi PHP
php.ini
untuk membolehkan sambungan MQTT: <?php $mqtt_server = "mqtt://localhost:1883"; $mqtt_username = "your-username"; $mqtt_password = "your-password"; $mqtt_topic = "home/bedroom/light"; $message = "on"; $client = new MosquittoClient(); $client->setCredentials($mqtt_username, $mqtt_password); $client->connect($mqtt_server); $client->publish($mqtt_topic, $message, 1); $client->disconnect();Mulakan semula Pelayan Apache untuk membuat konfigurasi berkuat kuasa. Kini kita boleh mula menulis kod PHP untuk melaksanakan penghantaran data untuk kawalan jauh sistem rumah pintar. Berikut ialah contoh kod untuk menerbitkan mesej ke pelayan MQTT:
<?php $mqtt_server = "mqtt://localhost:1883"; $mqtt_username = "your-username"; $mqtt_password = "your-password"; $mqtt_topic = "home/bedroom/light"; $client = new MosquittoClient(); $client->setCredentials($mqtt_username, $mqtt_password); $client->onMessage(function($message) { echo $message->topic . ": " . $message->payload . " "; }); $client->connect($mqtt_server); $client->subscribe($mqtt_topic, 1); $client->loopForever();Dalam kod di atas, kami mula-mula menentukan alamat pelayan MQTT, nama pengguna, kata laluan dan subjek serta kandungan mesej. Kemudian, kami mencipta objek MosquittoClient dan menetapkan nama pengguna dan kata laluan. Seterusnya, kami menyambung ke pelayan MQTT, menggunakan kaedah penerbitan untuk menerbitkan mesej ke topik yang ditentukan, dan akhirnya memutuskan sambungan. Selain menerbitkan mesej, kami juga boleh menggunakan kaedah langgan untuk melanggan mesej di bawah topik tertentu. Berikut ialah contoh kod untuk melanggan mesej pada pelayan MQTT:
rrreee
Dalam kod di atas, kami mula-mula menentukan alamat pelayan MQTT, nama pengguna, kata laluan dan topik yang dilanggan. Kemudian, kami mencipta objek MosquittoClient dan menetapkan nama pengguna dan kata laluan. Seterusnya, kami menyambung ke pelayan MQTT, menggunakan kaedah onMessage untuk menetapkan fungsi panggil balik apabila mesej tiba, dan melanggan topik yang ditentukan melalui kaedah langgan Akhir sekali, kami menggunakan kaedah loopForever untuk memulakan gelung tak terhingga dan menunggu mesej untuk sampai. 🎜🎜Melalui contoh kod di atas, kami boleh menggunakan PHP dan MQTT dengan mudah untuk merealisasikan penghantaran data sistem rumah pintar kawalan jauh. Pembangun boleh menulis kod fungsi yang lebih kompleks mengikut keperluan mereka sendiri untuk mencapai lebih banyak fungsi kawalan rumah pintar. Harap artikel ini membantu anda! 🎜Atas ialah kandungan terperinci Menggunakan PHP dan MQTT untuk melaksanakan penghantaran data untuk kawalan jauh sistem rumah pintar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!