Rumah > Artikel > pembangunan bahagian belakang > Amalan terbaik untuk pemantauan dan visualisasi data masa nyata menggunakan PHP dan MQTT
Amalan terbaik untuk pemantauan dan visualisasi data masa nyata menggunakan PHP dan MQTT
Abstrak:
Artikel ini akan memperkenalkan cara menggunakan protokol PHP dan MQTT untuk melaksanakan pemantauan dan visualisasi data masa nyata. Kami akan menggunakan MQTT untuk pemesejan dan PHP untuk mengendalikan mesej dan memberikan data. Melalui panduan dalam artikel ini, anda akan belajar cara membina sistem pemantauan data masa nyata yang mudah dan cara memaparkan data secara visual.
Pengenalan:
Dengan mempopularkan Internet, kami boleh memperoleh sejumlah besar data masa nyata melalui pelbagai penderia dan peranti. Cara memantau dan menggambarkan data ini supaya kami dapat memahami data dengan lebih baik dan membuat keputusan telah menjadi isu utama. Artikel ini akan menumpukan pada amalan terbaik untuk pemantauan dan visualisasi data masa nyata menggunakan PHP dan MQTT.
1. Apakah itu protokol MQTT?
MQTT (Message Qeuing Telemetry Transport) ialah protokol pemesejan yang ringan, terbuka dan mudah dilaksanakan. Ia sesuai untuk penghantaran merentasi rangkaian, lebar jalur rendah dan persekitaran rangkaian yang tidak stabil, dan sangat sesuai untuk senario IoT. MQTT menggunakan model publish-subscribe untuk menyampaikan mesej, yang mempunyai ciri penggunaan sumber yang rendah dan kependaman yang rendah.
2. Bina pelayan MQTT
Sebelum menggunakan protokol MQTT, kita perlu membina pelayan MQTT. Terdapat banyak pelayan MQTT sumber terbuka untuk dipilih, seperti Mosquitto, EMQ X, dsb. Di sini kami mengambil Mosquitto sebagai contoh untuk diperkenalkan.
Mula-mula, pasang pelayan Mosquitto. Anda boleh memasangnya melalui baris arahan atau antara muka grafik Untuk kaedah tertentu, sila rujuk dokumentasi rasmi Mosquitto. Selepas pemasangan selesai, mulakan pelayan Mosquitto.
3. Gunakan PHP untuk menyambung ke pelayan MQTT
Untuk menggunakan protokol MQTT dalam PHP, kita perlu menggunakan perpustakaan klien MQTT PHP. Di sini kami menggunakan perpustakaan phpmqtt/phpmqtt. Anda boleh memasang perpustakaan ini melalui Komposer:
composer require phpmqtt/phpmqtt
Selepas pemasangan selesai, kami boleh menyambung dan melanggan topik pelayan MQTT melalui kod berikut:
<?php require("vendor/autoload.php"); use PhpMqttClientMqttClient; $client = new MqttClient("mqtt://localhost:1883"); $client->connect(); $client->subscribe("topic_name", function (string $topic, string $message){ // 处理接收到的消息 // 在这里可以对接收到的消息进行处理,如存储到数据库等 }); while (true) { $client->loop(true); }
Dalam kod, kami mula-mula mencipta objek MqttClient, dan kemudian gunakan kaedah sambung untuk menyambung ke pelayan Mosquitto . Seterusnya, kami melanggan topik menggunakan kaedah langgan. Dalam fungsi panggil balik yang menerima mesej, kita boleh memproses mesej yang diterima. Akhir sekali, teruskan mendengar mesej MQTT dengan memanggil kaedah gelung dalam gelung.
4 Visualisasi Data
Setelah kami berjaya menyambung ke pelayan MQTT dan melanggan topik yang berkaitan, kami boleh mula memvisualisasikan data. Di sini kami menggunakan pustaka Chart.js untuk memaparkan carta.
Mula-mula, perkenalkan fail perpustakaan Chart.js:
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
Kemudian, cipta elemen kanvas dalam HTML untuk memaparkan carta:
<canvas id="myChart" width="400" height="400"></canvas>
Seterusnya, kita boleh menggunakan kod berikut untuk mendapatkan data dan membentangkan carta:
rreeeDalam kod di atas, kami mula-mula mencipta objek Carta dan menetapkan jenis carta kepada carta garis. Kemudian, kami menentukan tatasusunan dataArr untuk menyimpan data yang diterima. Dalam fungsi panggil balik mesej, kami menambah data yang diterima pada tatasusunan dataArr dan mengemas kini data carta. Akhir sekali, kami mengemas kini paparan carta dengan memanggil kaedah kemas kini.
Kesimpulan:
Melalui artikel ini, kami memperkenalkan amalan terbaik tentang cara menggunakan protokol PHP dan MQTT untuk mencapai pemantauan dan visualisasi data masa nyata. Dengan membina pelayan MQTT, menggunakan perpustakaan PHP untuk menyambung ke pelayan dan melanggan topik, dan menggunakan perpustakaan Chart.js untuk melukis carta, kami boleh membina sistem pemantauan data masa nyata yang ringkas dan memaparkan data secara visual dengan cepat. Saya harap artikel ini akan membantu untuk pembangunan pemantauan dan visualisasi data masa nyata.
Atas ialah kandungan terperinci Amalan terbaik untuk pemantauan dan visualisasi data masa nyata menggunakan PHP dan MQTT. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!