Rumah >pembangunan bahagian belakang >tutorial php >PHP dan MQTT: Membina sistem pengurusan trafik masa nyata berdasarkan IoT
PHP dan MQTT: Membina sistem pengurusan trafik masa nyata berdasarkan Internet of Things
Pengenalan:
Dengan perkembangan pesat teknologi Internet of Things, semakin banyak peranti menjadi saling berhubung. Antaranya, sistem pengurusan trafik merupakan salah satu bidang penting dalam aplikasi Internet of Things. Artikel ini akan memperkenalkan cara menggunakan protokol PHP dan MQTT untuk membina sistem pengurusan trafik masa nyata berdasarkan Internet Perkara, dan menyediakan contoh kod.
1. Apakah itu MQTT?
MQTT ialah protokol penghantaran mesej ringan yang sesuai untuk persekitaran dengan lebar jalur rendah, jalur lebar tidak stabil dan kependaman rangkaian tinggi. MQTT memfokuskan pada model penerbitan dan langganan mesej, membolehkan komunikasi data antara peranti dengan penggunaan tenaga yang rendah dan kecekapan tinggi.
2. Seni bina sistem pengurusan trafik masa nyata
Sistem pengurusan trafik masa nyata dalam artikel ini terdiri daripada komponen berikut:
3. Langkah pelaksanaan
Pasang pelayan MQTT
Pertama, kita perlu memasang dan mengkonfigurasi pelayan MQTT pada pelayan. Antaranya, Mosquitto adalah pelayan MQTT sumber terbuka yang popular Kita boleh menggunakan arahan berikut untuk memasangnya:
sudo apt-get update sudo apt-get install mosquitto
Selepas pemasangan selesai, kita perlu memulakan perkhidmatan Mosquitto:
sudo service mosquitto start
Tulis kod PHP
Seterusnya, kita perlu menulis kod PHP untuk Melaksanakan interaksi dengan pelayan MQTT. Kita boleh menggunakan perpustakaan klien MQTT PHP untuk memudahkan proses pembangunan. Berikut ialah contoh kod:
<?php require("phpMQTT.php"); $mqtt = new phpMQTT("localhost", 1883, "ClientID" . rand()); if(!$mqtt->connect()){ exit(1); } $mqtt->publish("traffic/camera1", "Hello, MQTT!"); $mqtt->close(); ?>
Dalam contoh di atas, kami mula-mula memperkenalkan perpustakaan phpMQTT dan mencipta tika MQTT. Kemudian, kami cuba menyambung ke pelayan MQTT Jika sambungan berjaya, kami boleh menggunakan kaedah publish
untuk menerbitkan mesej ke topik yang ditentukan. publish
方法发布消息到指定的主题上。
接收和处理消息
服务器端,我们需要编写代码来接收和处理来自交通监控设备的消息。以下是一个示例代码:
<?php require("phpMQTT.php"); function messageReceived($topic, $msg){ // 处理消息的逻辑代码 echo "Received message: $msg"; } $mqtt = new phpMQTT("localhost", 1883, "Server"); if(!$mqtt->connect()){ exit(1); } $mqtt->subscribe("traffic/+/camera1", 0); while($mqtt->proc()){ } $mqtt->close(); ?>
在上述示例中,我们首先定义了一个messageReceived
函数,用于处理接收到的消息。然后,我们创建了一个MQTT实例并连接到MQTT服务器。接着,使用subscribe
方法订阅特定主题的消息。在while
循环中,使用proc
messageReceived
untuk mengendalikan mesej yang diterima. Kemudian, kami mencipta tika MQTT dan disambungkan ke pelayan MQTT. Seterusnya, gunakan kaedah langgan
untuk melanggan mesej pada topik tertentu. Dalam gelung while
, gunakan kaedah proc
untuk meneruskan pemprosesan mesej yang diterima. Akhir sekali, kami boleh memaparkan maklumat masa nyata sistem pengurusan trafik melalui antara muka bahagian hadapan. Kami boleh menggunakan HTML, CSS dan JavaScript untuk melaksanakan antara muka bahagian hadapan, dan menggunakan teknologi Ajax untuk berinteraksi dengan pelayan bahagian belakang.
Atas ialah kandungan terperinci PHP dan MQTT: Membina sistem pengurusan trafik masa nyata berdasarkan IoT. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!