Rumah >pembangunan bahagian belakang >tutorial php >Panduan teknikal untuk kawalan peranti jauh menggunakan PHP dan MQTT

Panduan teknikal untuk kawalan peranti jauh menggunakan PHP dan MQTT

王林
王林asal
2023-07-08 17:09:111892semak imbas

Panduan Teknikal Kawalan Peranti Jauh Menggunakan PHP dan MQTT

Pengenalan:
Perkembangan pesat teknologi moden telah menjadikan Internet of Things (IoT) secara beransur-ansur menjadi realiti. Dalam Internet Perkara, pelbagai peranti disambungkan melalui Internet, dan kami boleh mencapai kawalan jauh dan pemantauan peranti tersebut. MQTT ialah protokol pemindahan mesej ringan yang memudahkan komunikasi antara peranti. Artikel ini akan memperkenalkan cara menggunakan protokol PHP dan MQTT untuk mencapai kawalan peranti jauh.

1. Penyediaan:
Sebelum kita mula, kita perlu memasang pelayan MQTT dan PHP. Pilihan yang paling biasa ialah menggunakan Mosquitto sebagai pelayan MQTT, yang boleh dipasang melalui arahan seperti apt-get. Untuk PHP, kita boleh memasangnya dalam pelbagai cara, seperti LAMP, XAMPP, dll.

2. Bina pelayan MQTT:

1. Pasang Mosquitto:
Pasang Nyamuk melalui arahan berikut:

sudo apt-get update
sudo apt-get install mosquitto mosquitto-clients

Selepas pemasangan selesai, Mosquitto akan bermula secara automatik.

2. Uji pelayan Mosquitto:
Anda boleh menguji sama ada pelayan Mosquitto berjalan seperti biasa dengan menjalankan arahan berikut:

mosquitto_pub -h localhost -t test -m "Hello, MQTT"
mosquitto_sub -h localhost -t test

Jika semuanya normal, anda sepatutnya dapat melihat mesej "Hello, MQTT" pada terminal .

3. Menggunakan MQTT dalam PHP:

1. Pasang sambungan MQTT PHP:
Tiada fungsi yang menyokong MQTT dalam PHP, jadi kami perlu memasang sambungan MQTT. Ia boleh dipasang dengan arahan berikut:

sudo apt-get install php-pear php-dev libmosquitto-dev
sudo pecl install Mosquitto-alpha

Selepas pemasangan selesai, tambah kandungan berikut dalam fail php.ini:

extension=mosquitto.so

Mulakan semula pelayan Apache untuk tetapan berkuat kuasa.

2 Tulis program PHP:
Berikut ialah contoh program PHP mudah untuk menyambung ke pelayan MQTT dan menerbitkan mesej:

<?php
$mqtt = new MosquittoClient();

$mqtt->connect("localhost", 1883, 60);

$message = "Hello, MQTT";
$mqtt->publish("test", $message);

$mqtt->disconnect();
unset($mqtt);
?>

Kod di atas akan menyambung ke pelayan MQTT tempatan dan menerbitkan mesej ke topik "ujian" atasan.

3 Langgan mesej MQTT:
Selain menerbitkan mesej, kami juga boleh melanggan mesej untuk mendapatkan status peranti atau arahan kawalan. Berikut ialah contoh program PHP yang melanggan mesej MQTT:

<?php
$mqtt = new MosquittoClient();

$mqtt->onMessage(function($message){
    echo $message->payload;
});

$mqtt->connect("localhost", 1883, 60);

$mqtt->subscribe("test", 1);

while($mqtt->loop() == 0){
    
}

$mqtt->disconnect();
unset($mqtt);
?>

Kod di atas akan bersambung ke pelayan MQTT tempatan dan melanggan mesej pada topik "ujian". Apabila mesej diterima, ia dicetak pada terminal.

4 contoh kawalan peranti jauh:
Melalui langkah di atas, kami sudah boleh mengawal dan memantau peranti secara tempatan dari jauh. Seterusnya, kami menggunakan contoh mudah untuk menunjukkan cara mencapai kawalan peranti jauh melalui Internet.

1. Kod sisi peranti:

<?php
$mqtt = new MosquittoClient();

$mqtt->onConnect(function() use ($mqtt){
    $mqtt->publish("test", "Device connected", 0, false);
});

$mqtt->connect("mqtt.example.com", 1883, 60);

while($mqtt->loop() == 0){
    $mqtt->publish("test", "Device is working", 0, false);
    sleep(1);
}

$mqtt->disconnect();
unset($mqtt);
?>

Dalam kod di atas, peranti akan menyambung ke pelayan MQTT bernama "mqtt.example.com" dan menghantar mesej "Peranti berfungsi" untuk "menguji" setiap 1 saat pada topik.

2. Kod terminal kawalan:

<?php
$mqtt = new MosquittoClient();

$mqtt->onMessage(function($message){
    echo $message->payload;
});

$mqtt->connect("mqtt.example.com", 1883, 60);

$mqtt->subscribe("test", 1);

while($mqtt->loop() == 0){
    $mqtt->publish("test", "Control message", 0, false);
    sleep(1);
}

$mqtt->disconnect();
unset($mqtt);
?>

Dalam kod di atas, terminal kawalan akan bersambung ke pelayan MQTT yang sama dan melanggan mesej pada topik "ujian". Pada masa yang sama, mesej "Mesej kawalan" akan dihantar ke topik "ujian" setiap 1 saat. Apabila peranti menerima mesej, ia boleh melakukan operasi kawalan yang sepadan.

Kesimpulan:
Dengan menggunakan protokol PHP dan MQTT, kami boleh mencapai kawalan dan pemantauan peranti jauh yang mudah. Artikel ini menerangkan cara menyediakan pelayan MQTT dan cara menggunakan kod PHP untuk menyambung ke pelayan, menerbitkan dan melanggan mesej. Melalui contoh kawalan peranti jauh yang mudah, ia menunjukkan cara mencapai alat kawalan jauh melalui Internet. Ini hanyalah puncak gunung ais Internet of Things, saya harap ia akan membantu pembaca.

Rujukan:

  1. Tapak web rasmi MQTT: http://mqtt.org/
  2. Laman projek Nyamuk: https://mosquitto.org/
  3. Laman projek Eclipse Paho: https://www.eclipse.org / paho/clients/php/

Atas ialah kandungan terperinci Panduan teknikal untuk kawalan peranti jauh menggunakan PHP dan MQTT. 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