Menggunakan PHP dan MQTT untuk melaksanakan penghantaran data untuk kawalan jauh sistem rumah pintar

WBOY
Lepaskan: 2023-07-09 16:10:01
asal
1100 orang telah melayarinya

Gunakan PHP dan MQTT untuk merealisasikan penghantaran data sistem rumah pintar kawalan jauh

Sistem rumah pintar, sebagai pencapaian utama teknologi moden, telah secara beransur-ansur memasuki kehidupan orang ramai. Melalui sistem rumah pintar, orang ramai boleh mengawal lampu, peralatan elektrik dan peralatan lain dari jauh di rumah mereka, memberikan pengalaman hidup yang lebih mudah dan selesa. Artikel ini akan memperkenalkan cara menggunakan protokol PHP dan MQTT untuk mencapai penghantaran data untuk kawalan jauh sistem rumah pintar.

MQTT (Message Qeuing Telemetry Transport) ialah protokol pengangkutan mesej terbitan/langganan ringan yang biasa digunakan dalam Internet Perkara dan kawalan peranti jauh. Sebagai bahasa pembangunan web yang biasa digunakan, PHP mempunyai kebolehskalaan dan kestabilan yang baik. Kami boleh menggabungkan MQTT dan PHP untuk mencapai kawalan jauh sistem rumah pintar.

Pertama, kita perlu membina pelayan MQTT, yang boleh dilaksanakan menggunakan Mosquitto, pelaksanaan MQTT sumber terbuka. Memasang Mosquitto adalah sangat mudah, hanya jalankan arahan berikut dalam baris arahan:

sudo apt-get install mosquitto
Salin selepas log masuk

Selepas pemasangan selesai, kita perlu mengkonfigurasi nama pengguna dan kata laluan pelayan MQTT untuk memastikan keselamatan penghantaran data. Ia boleh ditetapkan dengan mengedit fail konfigurasi /etc/mosquitto/mosquitto.conf. /etc/mosquitto/mosquitto.conf进行设置。

接下来,我们需要安装PHP的MQTT扩展。可以使用以下命令安装:

sudo pecl install Mosquitto-alpha
Salin selepas log masuk

安装完成后,我们可以在PHP的配置文件php.ini

Seterusnya, kita perlu memasang sambungan MQTT untuk PHP. Anda boleh menggunakan arahan berikut untuk memasang:

extension=mosquitto.so
Salin selepas log masuk

Selepas pemasangan selesai, kami boleh menambah kandungan berikut pada fail konfigurasi PHP php.ini untuk membolehkan sambungan MQTT:

<?php
$mqtt_server = "mqtt://localhost:1883";
$mqtt_username = "your-username";
$mqtt_password = "your-password";
$mqtt_topic = "home/bedroom/light";
$message = "on";

$client = new MosquittoClient();
$client->setCredentials($mqtt_username, $mqtt_password);
$client->connect($mqtt_server);
$client->publish($mqtt_topic, $message, 1);
$client->disconnect();
Salin selepas log masuk

Mulakan semula Pelayan Apache untuk membuat konfigurasi berkuat kuasa.

Kini kita boleh mula menulis kod PHP untuk melaksanakan penghantaran data untuk kawalan jauh sistem rumah pintar. Berikut ialah contoh kod untuk menerbitkan mesej ke pelayan MQTT:

<?php
$mqtt_server = "mqtt://localhost:1883";
$mqtt_username = "your-username";
$mqtt_password = "your-password";
$mqtt_topic = "home/bedroom/light";

$client = new MosquittoClient();
$client->setCredentials($mqtt_username, $mqtt_password);
$client->onMessage(function($message) {
    echo $message->topic . ": " . $message->payload . "
";
});
$client->connect($mqtt_server);
$client->subscribe($mqtt_topic, 1);
$client->loopForever();
Salin selepas log masuk
Dalam kod di atas, kami mula-mula menentukan alamat pelayan MQTT, nama pengguna, kata laluan dan subjek serta kandungan mesej. Kemudian, kami mencipta objek MosquittoClient dan menetapkan nama pengguna dan kata laluan. Seterusnya, kami menyambung ke pelayan MQTT, menggunakan kaedah penerbitan untuk menerbitkan mesej ke topik yang ditentukan, dan akhirnya memutuskan sambungan.

Selain menerbitkan mesej, kami juga boleh menggunakan kaedah langgan untuk melanggan mesej di bawah topik tertentu. Berikut ialah contoh kod untuk melanggan mesej pada pelayan MQTT:

rrreee

Dalam kod di atas, kami mula-mula menentukan alamat pelayan MQTT, nama pengguna, kata laluan dan topik yang dilanggan. Kemudian, kami mencipta objek MosquittoClient dan menetapkan nama pengguna dan kata laluan. Seterusnya, kami menyambung ke pelayan MQTT, menggunakan kaedah onMessage untuk menetapkan fungsi panggil balik apabila mesej tiba, dan melanggan topik yang ditentukan melalui kaedah langgan Akhir sekali, kami menggunakan kaedah loopForever untuk memulakan gelung tak terhingga dan menunggu mesej untuk sampai. 🎜🎜Melalui contoh kod di atas, kami boleh menggunakan PHP dan MQTT dengan mudah untuk merealisasikan penghantaran data sistem rumah pintar kawalan jauh. Pembangun boleh menulis kod fungsi yang lebih kompleks mengikut keperluan mereka sendiri untuk mencapai lebih banyak fungsi kawalan rumah pintar. Harap artikel ini membantu anda! 🎜

Atas ialah kandungan terperinci Menggunakan PHP dan MQTT untuk melaksanakan penghantaran data untuk kawalan jauh sistem rumah pintar. 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