Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengenalan dan tutorial penggunaan pustaka sambungan MQTT PHP

Pengenalan dan tutorial penggunaan pustaka sambungan MQTT PHP

王林
王林asal
2023-07-08 11:33:091851semak imbas

Pengenalan dan tutorial penggunaan pustaka sambungan MQTT PHP

Pengenalan:
Dengan perkembangan pesat Internet of Things, MQTT (Message Qeuing Telemetry Transport), sebagai protokol komunikasi yang ringan, telah mendapat perhatian dan aplikasi yang meluas. Dalam pembangunan PHP, dengan menggunakan perpustakaan sambungan MQTT, kami boleh berkomunikasi dengan pelayan MQTT dengan mudah Artikel ini akan memperkenalkan konsep asas dan penggunaan perpustakaan sambungan MQTT, dan menunjukkan cara menggunakan MQTT untuk penerbitan dan langganan mesej melalui kod. contoh.

1. Pengenalan kepada perpustakaan sambungan MQTT
Pustaka sambungan MQTT ialah sambungan PHP yang digunakan untuk berkomunikasi dengan pelayan MQTT Ia menyediakan satu siri fungsi dan kelas yang membolehkan kami melaksanakan fungsi MQTT dengan mudah. Sebelum kita mula, kita perlu memasang perpustakaan sambungan. Bergantung pada versi PHP dan jenis sistem pengendalian yang anda gunakan, anda boleh memasangnya dengan cara yang berbeza.

2. Penggunaan pustaka sambungan MQTT

  1. Menyambung ke pelayan MQTT
    Langkah pertama untuk menggunakan perpustakaan sambungan MQTT ialah membuat klien MQTT dan mewujudkan sambungan dengan pelayan MQTT. Semasa proses sambungan, kami perlu menentukan nama hos pelayan, nombor port dan ID klien.
<?php
$host = 'mqtt.example.com';
$port = 1883;
$clientID = 'php-mqtt-client';

$mqtt = new MosquittoClient($clientID);
$mqtt->connect($host, $port);
  1. Terbitkan mesej
    Untuk menerbitkan mesej ke pelayan MQTT, kita perlu menentukan topik (Topik) dan kandungan mesej. Mesej boleh dihantar ke topik yang sepadan dengan memanggil fungsi publish. publish函数即可将消息发送到相应的主题上。
<?php
$topic = 'example/topic';
$message = 'Hello, MQTT!';

$mqtt->publish($topic, $message, 0, false);

其中,第三个参数指定了QoS级别,0表示最多一次的传输,1表示至少一次的传输,2表示仅有一次的传输。第四个参数用于指定是否在消息中保留自己的Client ID。

  1. 订阅消息
    订阅消息是MQTT中最重要的功能之一。通过调用subscribe函数,可以让客户端订阅一个或多个主题,并指定相应的回调函数来处理收到的消息。
<?php
$topic = 'example/topic';

// 定义回调函数
$mqtt->onMessage(function($message) {
    echo 'Received message: ' . $message->payload . PHP_EOL;
});

$mqtt->subscribe($topic, 0);
$mqtt->loopForever();

在上面的例子中,我们定义了一个匿名回调函数用于处理收到的消息。回调函数将会在收到相应的消息时被调用,并输出收到的消息内容。

  1. 断开连接
    最后,当我们不再需要和MQTT服务器通信时,可以通过调用disconnect
  2. <?php
    $mqtt->disconnect();
Antaranya, parameter ketiga menentukan tahap QoS, 0 bermaksud paling banyak satu penghantaran, 1 bermaksud sekurang-kurangnya satu penghantaran, dan 2 bermaksud hanya satu penghantaran. Parameter keempat digunakan untuk menentukan sama ada untuk mengekalkan ID Pelanggannya sendiri dalam mesej.


    Langgan mesejLanggan mesej ialah salah satu fungsi terpenting dalam MQTT. Dengan memanggil fungsi langgan, pelanggan boleh melanggan satu atau lebih topik dan menentukan fungsi panggil balik yang sepadan untuk memproses mesej yang diterima. 🎜🎜rrreee🎜Dalam contoh di atas, kami menentukan fungsi panggil balik tanpa nama untuk mengendalikan mesej yang diterima. Fungsi panggil balik akan dipanggil apabila mesej yang sepadan diterima, dan kandungan mesej yang diterima akan dikeluarkan. 🎜
      🎜Putuskan sambungan🎜Akhir sekali, apabila kita tidak perlu lagi berkomunikasi dengan pelayan MQTT, kita boleh memutuskan sambungan dengan memanggil fungsi disconnect. 🎜🎜rrreee🎜3. Ringkasan🎜Dengan menggunakan perpustakaan sambungan MQTT, kami boleh melaksanakan komunikasi antara PHP dan pelayan MQTT dengan mudah. Artikel ini memperkenalkan secara ringkas konsep asas dan penggunaan pustaka sambungan MQTT, dan menyediakan contoh kod untuk menunjukkan cara menggunakan MQTT untuk penerbitan dan langganan mesej. Saya harap artikel ini dapat membantu pemula dan menggunakan teknologi MQTT dengan lebih baik dalam pembangunan sebenar. 🎜

Atas ialah kandungan terperinci Pengenalan dan tutorial penggunaan pustaka sambungan MQTT PHP. 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