Maison >développement back-end >tutoriel php >Guide de développement de clients PHP MQTT
MQTT (Message Queuing Telemetry Transport) est un protocole léger de transmission de messages couramment utilisé pour la communication entre les appareils IoT. PHP est un langage de programmation côté serveur couramment utilisé qui peut être utilisé pour développer des clients MQTT. Cet article présentera comment utiliser PHP pour développer un client MQTT et inclura le contenu suivant :
Le protocole MQTT est basé sur le modèle de publication-abonnement, qui contient les composants de base suivants :
Dans le protocole MQTT, le Client envoie et reçoit des messages en établissant une connexion avec le Broker. Chaque message se compose d'un sujet et d'une charge utile (contenu du message). La charge utile peut être n'importe quel type de données, comme du texte, des chiffres, du JSON et d'autres formats. Les abonnés peuvent recevoir des messages envoyés par les éditeurs en s'abonnant à un sujet spécifique, et les éditeurs peuvent publier des messages sur un sujet spécifique, et tous les clients abonnés au sujet recevront le message.
En PHP, vous pouvez utiliser la bibliothèque Mosquitto pour développer des clients MQTT. Mosquitto Library est une bibliothèque client MQTT légère qui prend en charge les versions MQTT 3.1 et 3.1.1 du protocole.
Le développement du client MQTT à l'aide de la bibliothèque Mosquitto nécessite les étapes suivantes :
Ce qui suit sont utilisés Exemple de code pour développer le client PHP MQTT avec la bibliothèque Mosquitto :
<?php // 1. 安装Mosquitto Library // 安装Mosquitto Library需要使用系统自带的包管理工具,如apt-get、yum等 // 例如,在Ubuntu下可以使用以下命令安装:sudo apt-get install mosquitto mosquitto-clients php-mosquitto // 2. 创建Mosquitto Client $mqtt = new MosquittoClient(); // 3. 连接到MQTT Broker $mqtt->connect('localhost', 1883); // 4. 发布和订阅消息 // 发布消息 $mqtt->publish('test_topic', 'hello world', 0); // 订阅消息 $mqtt->subscribe('test_topic', 0); $mqtt->loop(); // 5. 断开与Broker的连接 $mqtt->disconnect(); unset($mqtt); ?>
Dans le code ci-dessus, nous créons d'abord une instance du client Mosquitto et utilisons la méthode connect
方法连接到本地的MQTT Broker。然后,我们使用publish
方法发布了一条名为“test_topic”的消息。接着,我们使用subscribe
方法订阅了同样的话题,并使用loop
方法开始循环接收消息。最后,我们使用disconnect
pour nous déconnecter du courtier.
Ce qui suit est un exemple de code pour développer un client MQTT simple à l'aide de la bibliothèque PHP Mosquitto, qui peut publier des messages sur le courtier et s'abonner au sujet nommé "test_topic", et envoyer le message reçu au terminal.
<?php // 1. 安装Mosquitto Library // 2. 创建Mosquitto Client $mqtt = new MosquittoClient(); // 3. 连接到MQTT Broker $mqtt->connect('localhost', 1883); // 4. 发布和订阅消息 // 发布消息 $mqtt->publish('test_topic', 'hello world', 0); // 订阅消息 $mqtt->subscribe('test_topic', 0); $mqtt->loop(function ($message) { echo 'Received message: ' . $message->payload . PHP_EOL; }); // 5. 断开与Broker的连接 $mqtt->disconnect(); unset($mqtt); ?>
Dans le code ci-dessus, nous avons ajouté une fonction de rappel pour gérer le message reçu, qui affichera la charge utile du message sur le terminal. Mais ce n'est qu'un exemple simple. En fait, les scénarios d'application des clients MQTT sont très larges, comme la surveillance des appareils IoT, la transmission de données en temps réel, etc. Grâce à la bibliothèque PHP Mosquitto, nous pouvons développer des clients MQTT de manière pratique et rapide pour obtenir une transmission et un échange de données efficaces.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!