Rumah pembangunan bahagian belakang tutorial php PHP dan MQTT: Petua untuk membina sistem teragih berdasarkan pemesejan

PHP dan MQTT: Petua untuk membina sistem teragih berdasarkan pemesejan

Jul 08, 2023 pm 10:03 PM
php mqtt sistem teragih

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.";
    }
?>
Salin selepas log masuk

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;
    }
?>
Salin selepas log masuk

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) {
        // 处理传感器数据的逻辑
    }
?>
Salin selepas log masuk

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

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

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

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

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

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

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

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

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

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

Panduan Ringkas CakePHP Panduan Ringkas CakePHP Sep 10, 2024 pm 05:27 PM

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.

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

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

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

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,

See all articles