Bagaimana untuk membina sistem kawalan jauh berasaskan telefon bimbit menggunakan PHP dan MQTT
Dengan populariti peranti mudah alih, orang ramai semakin bergantung kepada telefon bimbit. Kita boleh menggunakan sistem mudah alih dan pintar telefon mudah alih untuk membina sistem kawalan jauh berdasarkan telefon mudah alih untuk mencapai kawalan jauh perkakasan pintar seperti peralatan rumah dan robot. Dalam artikel ini, kami akan memperkenalkan cara menggunakan protokol PHP dan MQTT untuk membina sistem kawalan jauh sedemikian dan memberikan contoh kod yang berkaitan.
MQTT (Message Qeuing Telemetry Transport) ialah protokol penghantaran mesej ringan yang direka untuk lebar jalur rendah dan persekitaran rangkaian yang tidak stabil. Ia menggunakan model terbitkan/langganan yang membolehkan komunikasi kependaman rendah antara peranti. Protokol MQTT sering digunakan dalam bidang Internet Perkara Berbanding dengan protokol HTTP tradisional, ia mempunyai overhed lebar jalur yang lebih rendah dan kecekapan yang lebih tinggi.
Pertama, kita perlu membina pelayan proksi MQTT untuk mengendalikan komunikasi antara telefon mudah alih dan peranti perkakasan. Pelayan proksi MQTT biasa termasuk Eclipse Mosquitto, EMQ X, dll. Anda boleh memilih salah satu daripadanya untuk dipasang dan dikonfigurasikan.
Kemudian, kita perlu melaksanakan klien MQTT pada telefon mudah alih dan peranti perkakasan masing-masing. Telefon mudah alih boleh menggunakan PHP untuk melaksanakan klien MQTT Di sini kami menggunakan perpustakaan phpMQTT untuk memudahkan proses pembangunan. Bahagian peranti perkakasan boleh dilaksanakan menggunakan pelbagai bahasa pengaturcaraan, selagi ia menyokong protokol MQTT.
Berikut ialah contoh kod PHP mudah pada telefon mudah alih, yang menggunakan topik langganan MQTT untuk menerima data penderia peranti perkakasan dan mengawal tindakan peranti perkakasan berdasarkan syarat:
<?php require("phpMQTT.php"); $server = "mqtt.example.com"; $port = 1883; $username = "your_username"; $password = "your_password"; $client_id = "your_client_id"; $mqtt = new phpMQTT($server, $port, $client_id); if ($mqtt->connect(true, NULL, $username, $password)) { $mqtt->subscribe("sensors/temperature", 0); while ($mqtt->proc()) { // 处理接收到的传感器数据 $msg = $mqtt->message; $topic = $msg["topic"]; $payload = $msg["payload"]; // 根据条件控制硬件设备 if ($payload > 28) { $mqtt->publish("devices/fan", "ON"); } else { $mqtt->publish("devices/fan", "OFF"); } } $mqtt->close(); }
Dalam kod di atas, kami mula-mula mencipta Contoh dan pas phpMQTT Kaedah connect() bersambung ke pelayan proksi MQTT. Kemudian kami menggunakan kaedah subscribe() untuk melanggan topik data sensor, dan terus menerima dan memproses data sensor melalui kaedah proc().
Semasa proses pemprosesan, kami boleh mengawal tindakan peranti perkakasan berdasarkan syarat. Sebagai contoh, jika suhu lebih tinggi daripada 28 darjah, kami menerbitkan mesej "HIDUP" ke topik "peranti/kipas" melalui kaedah terbitkan() untuk menghidupkan kipas jika tidak, kami menerbitkan mesej "MATI" untuk dihidupkan tutup kipas.
Untuk bahagian peranti perkakasan, anda boleh menggunakan pelbagai bahasa pengaturcaraan dan perpustakaan klien MQTT untuk melaksanakan klien MQTT dan menerbitkan topik dan mesej yang sepadan mengikut keperluan.
Dengan menggunakan protokol PHP dan MQTT, kami boleh membina sistem kawalan jauh berasaskan telefon mudah alih dengan mudah. Kami boleh melanggan topik melalui MQTT untuk menerima data penderia daripada peranti perkakasan dan mengawal tindakan peranti perkakasan berdasarkan syarat. Sistem jenis ini boleh digunakan secara meluas dalam automasi rumah, robot pintar dan bidang lain untuk mencapai kawalan jauh dan operasi pintar.
Di atas ialah pengenalan tentang cara menggunakan PHP dan MQTT untuk membina sistem kawalan jauh berasaskan telefon mudah alih, dan menyediakan contoh kod yang sepadan. Harap ini membantu!
Atas ialah kandungan terperinci Bagaimana untuk membina sistem kawalan jauh berasaskan telefon bimbit menggunakan PHP dan MQTT. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!