Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP dan MQTT: Membina sistem pengurusan trafik masa nyata berdasarkan IoT

PHP dan MQTT: Membina sistem pengurusan trafik masa nyata berdasarkan IoT

WBOY
WBOYasal
2023-07-09 21:22:381248semak imbas

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:

  1. Pelayan MQTT: Bertanggungjawab untuk penghantaran dan pengurusan mesej.
  2. Peralatan pemantauan trafik: seperti kamera, penderia, dsb., bertanggungjawab untuk mengumpul data trafik.
  3. Pelayan belakang: digunakan untuk menerima dan memproses data daripada peranti pemantauan trafik.
  4. Antara muka hadapan: digunakan untuk memaparkan maklumat masa nyata sistem pengurusan trafik.

3. Langkah pelaksanaan

  1. 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
  2. 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方法发布消息到指定的主题上。

  3. 接收和处理消息
    服务器端,我们需要编写代码来接收和处理来自交通监控设备的消息。以下是一个示例代码:

    <?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

  4. Terima dan proses mesej
    Sebelah pelayan, kita perlu menulis kod untuk menerima dan memproses mesej daripada peranti pemantauan trafik. Berikut ialah contoh kod:
  5. rrreee
Dalam contoh di atas, kami mula-mula mentakrifkan fungsi 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.


Paparan hadapan

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.

  1. IV Ringkasan
  2. Artikel ini memperkenalkan cara menggunakan protokol PHP dan MQTT untuk membina sistem pengurusan trafik masa nyata berdasarkan Internet of Things. Kami memasang dan mengkonfigurasi pelayan MQTT dan menulis kod PHP untuk berinteraksi dengan pelayan MQTT. Pada masa yang sama, kami juga menyediakan kod sampel untuk pemprosesan mesej dan paparan bahagian hadapan. Sistem pengurusan trafik masa nyata ini boleh mengumpul data trafik dalam masa nyata dan memaparkannya kepada pengguna melalui antara muka hadapan, yang sangat penting untuk penyeliaan dan perancangan trafik.
  3. Sampel kod:

pustaka phpMQTT: https://github.com/bluerhinos/phpMQTT
  1. Pemasangan pelayan MQTT: https://mosquitto.org/download/
  2. Rujukan:
  3. Rujukan:
🎜 /mqtt.org/🎜🎜https://www.w3schools.com/php/php_ajax_intro.asp🎜🎜https://developer.mozilla.org/en-US/docs/Glossary/Server🎜🎜

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!

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