Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembinaan penyelesaian pelaksanaan PHP dan panduan penggunaan untuk protokol MQTT

Pembinaan penyelesaian pelaksanaan PHP dan panduan penggunaan untuk protokol MQTT

王林
王林asal
2023-07-10 23:55:382581semak imbas

MQTT (Message Qeuing Telemetry Transport) ialah protokol penghantaran mesej ringan yang digunakan secara meluas untuk komunikasi antara peranti IoT. Sebagai bahasa skrip pelayan yang digunakan secara meluas, PHP juga mempunyai banyak penyelesaian untuk melaksanakan protokol MQTT. Artikel ini akan memperkenalkan cara membina dan menggunakan penyelesaian pelaksanaan protokol MQTT berasaskan PHP dan menyediakan contoh kod yang berkaitan.

1. Persediaan

Sebelum mula membina dan menggunakan, anda perlu memastikan bahawa PHP dan sambungan yang berkaitan telah dipasang pada pelayan. Sambungan yang digunakan dalam artikel ini ialah phpMQTT, iaitu perpustakaan klien MQTT sumber terbuka yang menyediakan satu siri fungsi mudah.

Mula-mula, pasang sambungan phpMQTT menggunakan arahan berikut:

composer require bluerhinos/phpmqtt

2 Sambung ke broker MQTT

Untuk mewujudkan sambungan dengan broker MQTT menggunakan phpMQTT, anda perlu memberikan alamat, port, nama pengguna dan kata laluan broker. . Berikut ialah contoh:

<?php
require("phpMQTT.php");

$mqtt = new phpMQTT("mqtt.example.com", 1883, "client_id");

if ($mqtt->connect(true, NULL, "username", "password")) {
   // 连接成功
} else {
   // 连接失败
}

$mqtt->close();
?>

Dalam pembina phpMQTT, alamat broker MQTT (mqtt.example.com) dan nombor port (1883) dihantar masuk. Pada masa yang sama, ID pelanggan juga dihantar, yang boleh anda ubah suai sendiri. phpMQTT构造函数中,传入了MQTT代理的地址(mqtt.example.com)和端口号(1883)。同时,还传入了一个客户端ID,您可以自行修改。

接下来,使用connect函数连接到MQTT代理。该函数的第一个参数指定了是否启用MQTT代理的持久化会话(true表示启用),第二个参数是代理的SSL证书路径,第三个和第四个参数是代理的用户名和密码。如果连接成功,将执行连接成功的代码块。否则,将执行连接失败的代码块。

最后,在需要断开连接的地方,使用close函数关闭MQTT连接。

3. 发布和订阅消息

发布和订阅消息是MQTT的核心功能之一。在phpMQTT中,可以使用publish函数发布消息,使用subscribe函数订阅消息。

以下是一个发布消息的示例:

<?php
require("phpMQTT.php");

$mqtt = new phpMQTT("mqtt.example.com", 1883, "client_id");

if ($mqtt->connect(true, NULL, "username", "password")) {
   $mqtt->publish("topic", "message");
} else {
   // 连接失败
}

$mqtt->close();
?>

在上述示例中,调用了publish函数,将消息发布到名为"topic"的主题上。

以下是一个订阅消息的示例:

<?php
require("phpMQTT.php");

$mqtt = new phpMQTT("mqtt.example.com", 1883, "client_id");

if ($mqtt->connect(true, NULL, "username", "password")) {
   $topics = array("topic1", "topic2");
   $mqtt->subscribe($topics);
   while ($mqtt->proc()) {
      // 处理订阅的消息
   }
} else {
   // 连接失败
}

$mqtt->close();
?>

在上述示例中,调用subscribe函数,传入一个主题数组,即可订阅多个主题的消息。然后使用一个循环,调用proc函数,循环监听订阅的消息。在proc

Seterusnya, gunakan fungsi connect untuk menyambung kepada broker MQTT. Parameter pertama fungsi ini menentukan sama ada untuk mendayakan sesi berterusan broker MQTT (benar bermakna didayakan), parameter kedua ialah laluan sijil SSL broker, dan parameter ketiga dan keempat ialah nama pengguna dan kata laluan broker. Jika sambungan berjaya, blok kod kejayaan sambungan akan dilaksanakan. Jika tidak, blok kod yang gagal disambungkan akan dilaksanakan.

Akhir sekali, gunakan fungsi close untuk menutup sambungan MQTT di mana sambungan perlu diputuskan.

3. Terbit dan melanggan mesej

Menerbit dan melanggan mesej adalah salah satu fungsi teras MQTT. Dalam phpMQTT, anda boleh menggunakan fungsi publish untuk menerbitkan mesej dan fungsi subscribe untuk melanggan mesej. 🎜🎜Berikut ialah contoh penerbitan mesej: 🎜rrreee🎜Dalam contoh di atas, fungsi publish dipanggil untuk menerbitkan mesej kepada topik bernama "topik". 🎜🎜Berikut ialah contoh melanggan mesej: 🎜rrreee🎜Dalam contoh di atas, panggil fungsi langgan dan masukkan tatasusunan topik untuk melanggan mesej daripada berbilang topik. Kemudian gunakan gelung untuk memanggil fungsi proc untuk mendengar mesej yang dilanggan dalam satu gelung. Dalam fungsi proc, mesej yang diterima boleh diproses. 🎜🎜4. Ringkasan🎜🎜Artikel ini memperkenalkan penyelesaian pelaksanaan protokol MQTT berasaskan PHP, menggunakan phpMQTT sebagai perpustakaan klien MQTT dan menyediakan beberapa contoh kod. Dengan membaca artikel ini dan mengikut kod sampel, anda boleh membina dan menggunakan pelaksanaan PHP protokol MQTT dengan cepat. Sudah tentu, terdapat pelaksanaan PHP lain bagi protokol MQTT untuk dipilih, dan anda boleh memilih alat yang paling sesuai mengikut keperluan anda sendiri. 🎜🎜Saya harap artikel ini dapat membantu anda, dan saya doakan anda berjaya dalam menyediakan dan menggunakan! 🎜

Atas ialah kandungan terperinci Pembinaan penyelesaian pelaksanaan PHP dan panduan penggunaan untuk protokol MQTT. 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