PHP dan MQTT: Pemantauan masa nyata data sensor jauh

王林
Lepaskan: 2023-07-09 19:06:02
asal
1766 orang telah melayarinya

PHP dan MQTT: Pemantauan masa nyata data sensor jauh

Pengenalan:
Dengan perkembangan pesat Internet of Things, kami boleh memantau dan mengawal peralatan dan persekitaran melalui sensor jauh. MQTT (Message Qeuing Telemetry Transport) ialah protokol penghantaran mesej ringan yang digunakan secara meluas dalam aplikasi IoT untuk menghantar data sensor. Artikel ini akan memperkenalkan cara menggunakan PHP dan MQTT untuk melaksanakan pemantauan masa nyata data sensor jauh.

  1. Persediaan:
    Sebelum kita mula, kita perlu menyediakan alatan dan persekitaran berikut:
  2. Pelayan atau komputer yang menjalankan Linux atau Windows
  3. Pasang PHP (versi 7 dan ke atas
  4. Pasang pelayan MQTT, seperti nyamuk.
  5. Sambung ke pelayan MQTT:
    Pertama, kita perlu menyambung ke pelayan MQTT melalui PHP. Kami boleh menggunakan sambungan MQTT PHP atau menggunakan perpustakaan pihak ketiga untuk melaksanakan sambungan. Dalam artikel ini, kami akan menggunakan perpustakaan pihak ketiga phpMQTT untuk menyambung.

Pasang perpustakaan phpMQTT:

composer require bluerhinos/phpmqtt
Salin selepas log masuk

Kod sampel untuk menyambung ke pelayan MQTT adalah seperti berikut:

<?php
require("phpMQTT.php");

$mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID");
if(!$mqtt->connect()){
    exit(1);
}

// MQTT订阅主题
$topics['sensors/data'] = array("qos" => 0, "function" => "handleSensorData");
$mqtt->subscribe($topics, 0);

while($mqtt->proc()){
}

$mqtt->close();

function handleSensorData($topic, $message){
    echo "Received message: $message from topic: $topic
";
}
?>
Salin selepas log masuk

Dalam kod sampel di atas, kami mula-mula memperkenalkan perpustakaan phpMQTT melalui pernyataan memerlukan. Kami kemudian mencipta objek mqtt dan menyambung menggunakan alamat pelayan mqtt (mqtt.example.com) dan nombor port (1883). Jika sambungan berjaya, kami boleh melanggan satu atau lebih topik. Dalam contoh ini, kami melanggan topik bernama "sensors/data" dan menentukan fungsi panggil balik handleSensorData untuk mengendalikan data yang diterima. Akhir sekali, pemantauan masa nyata dicapai dengan membaca data dalam gelung Apabila data sensor baharu diterima, fungsi handleSensorData dipanggil untuk diproses.

  1. Terbitkan Data Sensor:
    Seterusnya, kami akan mensimulasikan sensor dan menerbitkan data sensor ke pelayan MQTT melalui PHP. Berikut ialah kod contoh mudah:

    <?php
    require("phpMQTT.php");
    
    $mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID");
    if(!$mqtt->connect()){
     exit(1);
    }
    
    // MQTT发布主题
    $topic = "sensors/data";
    $message = "Sensor data: " . rand(1, 100);
    $mqtt->publish($topic, $message, 0);
    
    $mqtt->close();
    ?>
    Salin selepas log masuk

    Dalam kod di atas, kami mencipta objek mqtt dan menyambung menggunakan alamat pelayan mqtt (mqtt.example.com) dan nombor port (1883). Kami kemudiannya menentukan nama topik (sensor/data) dan data sensor untuk diterbitkan. Akhir sekali, data sensor diterbitkan ke pelayan MQTT dengan memanggil kaedah penerbitan objek mqtt.

    1. Kesimpulan:
      Dengan menggunakan PHP dan MQTT, kami boleh mencapai pemantauan masa nyata data sensor jauh. Dalam artikel ini, kami memperkenalkan cara menggunakan perpustakaan phpMQTT untuk menyambung ke pelayan MQTT, melanggan topik dan memproses data penderia yang diterima, serta cara menerbitkan data penderia ke pelayan MQTT.

    Walau bagaimanapun, ini hanyalah satu contoh, dan lebih banyak logik dan pemprosesan diperlukan dalam aplikasi sebenar. Saya harap artikel ini dapat memberikan pembaca idea asas dan contoh kod untuk meneroka lebih lanjut potensi PHP dan MQTT dalam aplikasi IoT.

    Rujukan:

    • pustaka rasmi phpMQTT: https://github.com/bluerhinos/phpMQTT

    Atas ialah kandungan terperinci PHP dan MQTT: Pemantauan masa nyata data sensor jauh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!