Rumah pembangunan bahagian belakang tutorial php Langganan mesej MQTT dan amalan penerbitan dalam pembangunan PHP

Langganan mesej MQTT dan amalan penerbitan dalam pembangunan PHP

Jul 08, 2023 pm 02:02 PM
mqtt keluaran berita Langganan mesej

Langganan dan penerbitan mesej praktikal MQTT dalam pembangunan PHP

Pengenalan:
Dengan pembangunan Internet of Things, Protokol Pengangkutan Telemetri Beratur Mesej (MQTT) memainkan peranan penting dalam komunikasi antara peranti penderia dan aplikasi bahagian belakang. Sebagai protokol ringan, MQTT mempunyai ciri penggunaan tenaga yang rendah, kebolehpercayaan yang tinggi dan kebolehskalaan. Dalam pembangunan PHP, MQTT digunakan untuk melanggan dan menerbitkan mesej, yang boleh berkomunikasi dengan mudah dengan peranti sensor dan menghantar data ke aplikasi back-end untuk pemprosesan dan paparan. Artikel ini akan memperkenalkan aplikasi praktikal MQTT dalam pembangunan PHP dan menyediakan contoh kod yang berkaitan.

1. Pengenalan kepada MQTT:
MQTT ialah protokol penghantaran baris gilir mesej berdasarkan model terbitkan/langgan. Ia menggunakan format mesej binari yang ringan dan sesuai untuk pelbagai peranti perkakasan seperti penderia dan sistem terbenam. Protokol MQTT terutamanya mengandungi dua peranan: penerbit mesej dan pelanggan mesej. Penerbit menerbitkan mesej kepada topik tertentu, manakala pelanggan melanggan topik yang diminati untuk menerima mesej yang berkaitan. Protokol MQTT juga menyokong tetapan tahap QoS (Kualiti Perkhidmatan) mesej untuk memastikan kebolehpercayaan data.

2. Pasang pelayan MQTT:
Sebelum mula mempraktikkan MQTT dalam pembangunan PHP, kita perlu membina pelayan MQTT terlebih dahulu. Berikut ialah langkah ringkas untuk menyediakan pelayan MQTT:

  1. Muat turun dan pasang pelayan MQTT seperti Mosquitto.
  2. Jalankan pelayan MQTT, port mendengar lalai ialah 1883.

3. Menggunakan MQTT dalam PHP:
Proses menggunakan MQTT untuk langganan dan penerbitan mesej dalam PHP adalah seperti berikut:

  1. Memperkenalkan perpustakaan pelanggan MQTT:
    Mula-mula anda perlu memperkenalkan perpustakaan pelanggan MQTT, yang biasa digunakan. klien MQTT terpakai dalam PHP Perpustakaan terminal termasuk phpMQTT dan mosquitto-php, dsb. Artikel ini mengambil phpMQTT sebagai contoh, yang boleh dipasang melalui komposer:

    composer require bluerhinos/phpmqttclient
    Salin selepas log masuk
  2. Konfigurasi klien MQTT:
    Sebelum melaksanakan operasi MQTT dalam kod PHP, anda perlu mengkonfigurasi sambungan terlebih dahulu, termasuk alamat pelayan, nombor port, tahap QoS , dsb. Berikut ialah contoh konfigurasi:

    $mqttServer = 'localhost'; // MQTT服务器地址
    $mqttPort = 1883; // MQTT服务器端口
    $mqttClientId = 'php_script'; // 客户端ID
    $mqttUsername = ''; //用户名
    $mqttPassword = ''; // 密码
    Salin selepas log masuk
  3. Langganan mesej MQTT:
    Untuk melanggan topik dalam PHP, anda boleh menggunakan kaedah langgan. Berikut ialah contoh: subscribe方法。以下是一个示例:

    require('phpMQTT.php');
    $mqtt = new phpMQTT($mqttServer, $mqttPort, $mqttClientId);
    if($mqtt->connect(true, NULL, $mqttUsername, $mqttPassword)) {
      $topics['topic_name'] = array('qos' => 0, 'function' => 'dataCallback');
      $mqtt->subscribe($topics, 0);
      while($mqtt->proc()){
      }
      $mqtt->close();
    } else {
      echo "连接MQTT服务器失败!";
      exit(1);
    }
    function dataCallback($topic, $payload) {
      echo "收到消息:$payload";
    }
    Salin selepas log masuk
  4. MQTT消息的发布:
    在PHP中发布一个消息,可以使用publish方法。以下是一个示例:

    require('phpMQTT.php');
    $mqtt = new phpMQTT($mqttServer, $mqttPort, $mqttClientId);
    if($mqtt->connect(true, NULL, $mqttUsername, $mqttPassword)) {
      $mqtt->publish('topic_name', '消息内容', 0);
      $mqtt->close();
    } else {
      echo "连接MQTT服务器失败!";
      exit(1);
    }
    Salin selepas log masuk

四、实战应用:
下面以一个简单的实景应用为例,演示在PHP中使用MQTT进行消息订阅与发布的实际应用。

  1. 场景描述:
    假设我们有一个温度传感器设备,其将实时温度通过MQTT协议发布到主题为temperature
    require('phpMQTT.php');
    
    $mqttServer = 'localhost'; // MQTT服务器地址
    $mqttPort = 1883; // MQTT服务器端口
    $mqttClientId = 'php_script'; // 客户端ID
    
    $mqtt = new phpMQTT($mqttServer, $mqttPort, $mqttClientId);
    
    if($mqtt->connect(true, NULL, NULL, NULL)) {
        $topics['temperature'] = array('qos' => 0, 'function' => 'temperatureCallback');
        $mqtt->subscribe($topics, 0);
    
        echo "开始订阅温度数据...
    ";
    
        while($mqtt->proc()){
        }
    
        $mqtt->close();
    } else {
        echo "连接MQTT服务器失败!";
        exit(1);
    }
    
    function temperatureCallback($topic, $payload) {
        echo "收到温度消息:$payload
    ";
        // 在这里进行温度数据的处理,如存储到数据库或展示在Web界面上
    }
    Salin selepas log masuk

  2. Penerbitan mesej MQTT:
  3. Untuk menerbitkan mesej dalam PHP, anda boleh menggunakan kaedah publish. Berikut ialah contoh:
<!DOCTYPE html>
<html>
<head>
    <title>温度监控</title>
</head>
<body>
    <h1>温度监控</h1>
    <div id="temperature"></div>

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
        $(document).ready(function() {
            var mqttServer = 'mqtt://localhost:1883';
            var clientId = 'web_client';
            var temperatureTopic = 'temperature';

            var client = mqtt.connect(mqttServer, { clientId: clientId });

            client.on('connect', function() {
                client.subscribe(temperatureTopic);
            });

            client.on('message', function(topic, message) {
                if (topic === temperatureTopic) {
                    var temperature = message.toString();
                    $('#temperature').text('当前温度:' + temperature + '℃');
                }
            });
        });
    </script>
</body>
</html>
Salin selepas log masuk

  1. 4. Aplikasi praktikal:
  2. Yang berikut mengambil aplikasi kehidupan sebenar yang mudah sebagai contoh untuk menunjukkan aplikasi praktikal menggunakan MQTT untuk langganan mesej dan penerbitan dalam PHP.

Penerangan senario:

Andaikan kami mempunyai peranti penderia suhu yang menerbitkan suhu masa nyata melalui protokol MQTT ke saluran dengan topik suhu. Aplikasi PHP kami perlu menerima dan memproses data suhu ini dalam masa nyata, dan untuk melakukan ini, kami akan melanggan topik ini dan memaparkan suhu masa nyata melalui antara muka web.

Contoh kod PHP: 🎜Langgan data suhu dan paparkan pada antara muka web: 🎜🎜rrreee🎜🎜Contoh antara muka web: 🎜Contoh kod untuk memaparkan data suhu dalam masa nyata melalui antara muka web adalah seperti berikut: 🎜🎜rrreee🎜 Kod contoh di atas menunjukkan penggunaan aplikasi Praktikal PHP menggunakan MQTT untuk langganan dan penerbitan mesej. Dengan melanggan data suhu, kami boleh menerima data suhu dalam masa nyata untuk pemprosesan dan paparan, dan dengan menerbitkan mesej, kami boleh menghantar arahan kawalan kepada peranti penderia. Dalam pembangunan sebenar, kod boleh dikembangkan dan diselaraskan mengikut keperluan tertentu. 🎜🎜Kesimpulan: 🎜Artikel ini memperkenalkan aplikasi praktikal langganan dan penerbitan mesej MQTT dalam pembangunan PHP, dan menyediakan contoh kod yang berkaitan. Dengan menggunakan protokol MQTT, aplikasi PHP boleh berkomunikasi dengan mudah dengan peranti sensor dan merealisasikan penghantaran dan pemprosesan data masa nyata. Dalam pembangunan aplikasi IoT, menggunakan MQTT untuk pemesejan boleh meningkatkan kecekapan dan kebolehpercayaan komunikasi, dan membawa kemudahan kepada pembangunan aplikasi. 🎜

Atas ialah kandungan terperinci Langganan mesej MQTT dan amalan penerbitan dalam pembangunan PHP. 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.

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)

Toleransi kesalahan dan pertimbangan keselamatan MQTT dalam pembangunan PHP Toleransi kesalahan dan pertimbangan keselamatan MQTT dalam pembangunan PHP Jul 08, 2023 am 11:34 AM

Gambaran keseluruhan toleransi kesalahan dan pertimbangan keselamatan MQTT dalam pembangunan PHP: MQTT (MessageQueuingTelemetryTransport) ialah protokol komunikasi ringan yang digunakan secara meluas dalam Internet Perkara dan komunikasi mesin-ke-mesin (M2M). Menggunakan MQTT dalam pembangunan PHP boleh mencapai fungsi seperti pemesejan masa nyata dan alat kawalan jauh. Artikel ini akan memperkenalkan toleransi kesalahan dan isu keselamatan yang perlu dipertimbangkan apabila menggunakan MQTT dalam pembangunan PHP, dan menyediakan beberapa contoh kod untuk rujukan. 1. Toleransi kesalahan

Cara menambah fungsi sembang pengguna masa nyata ke tapak web anda menggunakan PHP dan MQTT Cara menambah fungsi sembang pengguna masa nyata ke tapak web anda menggunakan PHP dan MQTT Jul 08, 2023 pm 07:46 PM

Cara menggunakan PHP dan MQTT untuk menambah fungsi sembang pengguna masa nyata ke laman web Dalam era Internet hari ini, pengguna laman web semakin memerlukan komunikasi dan komunikasi masa nyata Bagi memenuhi permintaan ini, kita boleh menggunakan PHP dan MQTT untuk menambah sebenar -fungsi sembang pengguna masa ke laman web. Artikel ini akan memperkenalkan cara menggunakan PHP dan MQTT untuk melaksanakan fungsi sembang pengguna masa nyata tapak web dan menyediakan contoh kod. Pastikan persekitaran sedia Sebelum anda bermula, pastikan anda telah memasang dan mengkonfigurasi persekitaran masa jalan PHP dan MQTT. Anda boleh menggunakan pembangunan bersepadu seperti XAMPP

Panduan Pembangunan Klien PHP MQTT Panduan Pembangunan Klien PHP MQTT Mar 27, 2024 am 09:21 AM

MQTT (MessageQueuingTelemetryTransport) ialah protokol penghantaran mesej ringan yang biasa digunakan untuk komunikasi antara peranti IoT. PHP ialah bahasa pengaturcaraan sisi pelayan yang biasa digunakan yang boleh digunakan untuk membangunkan klien MQTT. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan klien MQTT dan memasukkan kandungan berikut: Konsep asas protokol MQTT Pemilihan dan contoh penggunaan perpustakaan klien PHPMQTT: Menggunakan klien PHPMQTT untuk menerbitkan dan

Amalan terbaik untuk analisis data masa nyata menggunakan PHP dan MQTT Amalan terbaik untuk analisis data masa nyata menggunakan PHP dan MQTT Jul 08, 2023 pm 05:57 PM

Amalan terbaik untuk analisis data masa nyata menggunakan PHP dan MQTT Dengan perkembangan pesat IoT dan teknologi data besar, analisis data masa nyata menjadi semakin penting dalam pelbagai industri. Dalam analisis data masa nyata, MQTT (MQTelemetryTransport), sebagai protokol komunikasi ringan, digunakan secara meluas dalam bidang Internet Perkara. Menggabungkan PHP dan MQTT, analisis data masa nyata boleh dicapai dengan cepat dan cekap. Artikel ini akan memperkenalkan amalan terbaik untuk analisis data masa nyata menggunakan PHP dan MQTT, dan

Bina aplikasi sembang masa nyata menggunakan PHP dan MQTT Bina aplikasi sembang masa nyata menggunakan PHP dan MQTT Jul 08, 2023 pm 03:18 PM

Membina aplikasi sembang masa nyata menggunakan PHP dan MQTT Pengenalan: Dengan perkembangan pesat Internet dan populariti peranti pintar, komunikasi masa nyata telah menjadi salah satu fungsi penting dalam masyarakat moden. Untuk memenuhi keperluan komunikasi orang ramai, membangunkan aplikasi sembang masa nyata telah menjadi matlamat yang dikejar oleh banyak pembangun. Dalam artikel ini, kami akan memperkenalkan cara menggunakan protokol PHP dan MQTT (MessageQueuingTelemetryTransport) untuk membina aplikasi sembang masa nyata. apa yang

Perbandingan penyelesaian pelaksanaan PHP dan panduan pemilihan untuk protokol MQTT Perbandingan penyelesaian pelaksanaan PHP dan panduan pemilihan untuk protokol MQTT Jul 08, 2023 pm 10:43 PM

Panduan perbandingan dan pemilihan pelaksanaan PHP untuk protokol MQTT Ringkasan: MQTT (MessageQueuingTelemetryTransport) ialah protokol komunikasi penerbitan/langganan ringan yang sesuai untuk persekitaran jalur lebar rendah dan kependaman tinggi seperti Internet of Things. Artikel ini akan meneroka pelaksanaan protokol MQTT dalam PHP dan menyediakan panduan perbandingan dan pemilihan. Pengenalan: Dengan perkembangan pesat Internet Perkara, semakin banyak peranti memerlukan penghantaran dan komunikasi data masa nyata. MQTT sebagai ringan

Bagaimanakah PHP terus mendengar langganan mesej Redis dan mengendalikan tugas tak segerak? Bagaimanakah PHP terus mendengar langganan mesej Redis dan mengendalikan tugas tak segerak? Sep 05, 2023 pm 03:28 PM

Bagaimanakah PHP terus mendengar langganan mesej Redis dan mengendalikan tugas tak segerak? Dalam pembangunan PHP, kita sering menghadapi senario pemprosesan tugas tak segerak. Sebagai pangkalan data dalam memori berprestasi tinggi, Redis menyediakan mekanisme Pub/Sub yang boleh digunakan untuk menerbitkan dan melanggan mesej. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mendengar langganan mesej Redis secara berterusan dan menunjukkan cara mengendalikan tugas tak segerak melalui contoh kod. Fahami mekanisme Pub/Sub Redis Sebelum memulakan, kita perlu memahami mekanisme Pub/Sub Redis terlebih dahulu.

Panduan teknikal untuk kawalan peranti jauh menggunakan PHP dan MQTT Panduan teknikal untuk kawalan peranti jauh menggunakan PHP dan MQTT Jul 08, 2023 pm 05:09 PM

Panduan Teknikal Kawalan Peranti Jauh Menggunakan PHP dan MQTT Pengenalan: Perkembangan pesat teknologi moden telah menjadikan Internet Perkara (IoT) secara beransur-ansur menjadi kenyataan. Dalam Internet Perkara, dengan menyambungkan pelbagai peranti melalui Internet, kita boleh mencapai kawalan jauh dan pemantauan peranti. 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. Persediaan: Sebelum bermula, kita perlu memasang pelayan MQTT dan PH

See all articles