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.
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
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连接。
发布和订阅消息是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
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 mesejMenerbit 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!