


PHP dan MQTT: Petua untuk membina sistem teragih berdasarkan pemesejan
PHP dan MQTT: Petua untuk membina sistem teragih berdasarkan penghantaran mesej
Pengenalan:
Dengan perkembangan pesat Internet dan Internet of Things, permintaan untuk sistem teragih semakin meningkat. Membina sistem pengedaran yang cekap dan boleh dipercayai adalah tugas yang kompleks. Artikel ini akan memperkenalkan cara menggunakan protokol PHP dan MQTT untuk membina sistem teragih berdasarkan penghantaran mesej, memberikan pembaca beberapa petua dan contoh kod.
Bahagian 1: Pengenalan kepada protokol MQTT
MQTT (Mesej Queue Telemetry Transport) ialah protokol penghantaran mesej terbitan/langganan yang ringan Ia pada asalnya direka untuk menghantar data sensor, tetapi dengan perkembangan Internet of Things, ia telah meluas digunakan dalam sistem teragih. MQTT mempunyai ciri kependaman rendah, penggunaan lebar jalur yang rendah, kesederhanaan dan fleksibiliti, dan sangat sesuai untuk digunakan dalam persekitaran dengan sambungan rangkaian yang tidak stabil.
Bahagian Kedua: Penyepaduan PHP dan MQTT
PHP ialah bahasa skrip sebelah pelayan yang digunakan secara meluas dengan perpustakaan pengaturcaraan rangkaian yang kaya dan perpustakaan klien MQTT yang boleh berinteraksi dengan pelayan MQTT. Di bawah ialah contoh kod PHP mudah untuk menyambung ke pelayan MQTT, menerbitkan mesej dan melanggan mesej.
<?php require("phpMQTT.php"); $mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); if ($mqtt->connect()) { $mqtt->publish("topic", "Hello MQTT"); $mqtt->subscribe("topic"); while ($mqtt->proc()) {} $mqtt->close(); } else { echo "Failed to connect."; } ?>
Dalam kod di atas, anda perlu memperkenalkan fail phpMQTT.php, yang mengandungi perpustakaan klien MQTT. Kemudian nyatakan objek phpMQTT menggunakan alamat pelayan MQTT, port dan ID klien yang ditentukan. Sambung ke pelayan MQTT dengan memanggil kaedah connect() Jika sambungan berjaya, anda boleh menggunakan kaedah publish() untuk menerbitkan mesej dan kaedah subscribe() untuk melanggan mesej. Kemudian gunakan kaedah proc() untuk memastikan kod berjalan sehingga mesej yang dilanggan diterima. Akhir sekali, putuskan sambungan daripada pelayan MQTT dengan memanggil kaedah close().
Bahagian 3: Contoh Praktikal Sistem Teragih
Pertimbangkan senario berikut: Kami mempunyai sistem teragih yang terdiri daripada berbilang penderia dan pelayan pusat. Penderia boleh mengumpul data dalam masa nyata dan menerbitkan data ke pelayan pusat melalui protokol MQTT.
Berikut ialah contoh kod PHP mudah untuk pengumpulan dan penerbitan data di bahagian sensor:
<?php require("phpMQTT.php"); $mqtt = new phpMQTT("mqtt.example.com", 1883, "SensorID"); if ($mqtt->connect()) { while (true) { $data = getValueFromSensor(); // 从传感器获取数据 $mqtt->publish("sensor_data", json_encode($data)); sleep(1); } $mqtt->close(); } else { echo "Failed to connect."; } function getValueFromSensor() { // 获取传感器数据的逻辑 return $data; } ?>
Dalam kod di atas, mula-mula nyatakan objek phpMQTT dan sambungkan ke pelayan MQTT. Kemudian data penderia dikumpul secara berterusan melalui gelung dan data diterbitkan kepada topik bernama "sensor_data" melalui kaedah publish(). Ambil perhatian bahawa kaedah json_encode() digunakan untuk menukar data ke dalam format JSON. Tetapkan selang pengumpulan data dengan memanggil kaedah sleep(). Akhir sekali, sambungan ke pelayan MQTT diputuskan melalui kaedah close().
Di bahagian pelayan tengah, contoh kod yang serupa boleh digunakan untuk melanggan data penderia dan memprosesnya:
<?php require("phpMQTT.php"); $mqtt = new phpMQTT("mqtt.example.com", 1883, "ServerID"); if ($mqtt->connect()) { $mqtt->subscribe("sensor_data"); while ($mqtt->proc()) { $msg = $mqtt->getMessage(); $data = json_decode($msg->payload, true); processData($data); // 处理传感器数据的逻辑 } $mqtt->close(); } else { echo "Failed to connect."; } function processData($data) { // 处理传感器数据的逻辑 } ?>
Dalam kod di atas, langgan topik "sensor_data" dengan memanggil kaedah subscribe(). Kemudian kaedah proc() dipanggil secara berterusan melalui gelung untuk menerima mesej langganan untuk data sensor. Apabila memproses mesej, anda boleh menggunakan kaedah getMessage() untuk mendapatkan kandungan mesej dan menggunakan kaedah json_decode() untuk menghuraikan data ke dalam format tatasusunan, dan kemudian memproses data seperti yang diperlukan.
Kesimpulan:
Dengan menggunakan protokol PHP dan MQTT, kami boleh membina sistem teragih berdasarkan penghantaran mesej dengan mudah. Artikel ini memperkenalkan ciri-ciri protokol MQTT dan cara menggunakan PHP dan MQTT untuk menyepadukan dan mengamalkan kod contoh sistem teragih. Saya harap artikel ini dapat memberikan sedikit rujukan dan bantuan untuk pembaca semasa membina sistem teragih.
Atas ialah kandungan terperinci PHP dan MQTT: Petua untuk membina sistem teragih berdasarkan pemesejan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

CakePHP ialah rangka kerja MVC sumber terbuka. Ia menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP mempunyai beberapa perpustakaan untuk mengurangkan beban tugas yang paling biasa.

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,
