Maison  >  Article  >  développement back-end  >  Guide de développement de clients PHP MQTT

Guide de développement de clients PHP MQTT

PHPz
PHPzoriginal
2024-03-27 09:21:04698parcourir

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 :

  1. Concepts de base du protocole MQTT
  2. Sélection et utilisation de la bibliothèque client PHP MQTT
  3. Exemple : Utilisation du client PHP MQTT pour publier et abonnez-vous aux messages

Concepts de base du protocole MQTT

Le protocole MQTT est basé sur le modèle de publication-abonnement, qui contient les composants de base suivants :

  • Broker : serveur MQTT, utilisé pour recevoir et transférer les messages des clients
  • Client : Client MQTT, qui peut être un Publisher (éditeur)
  • Sujet : Sujet du message, similaire au sujet d'un email, utilisé pour identifier le contenu du message
  • QoS : Qualité du service de message, divisée en trois types : QoS 0, QoS 1 et QoS 2, utilisés pour spécifier la fiabilité et l'efficacité de la transmission des messages

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.

Sélection et utilisation de la bibliothèque client PHP MQTT

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 :

  1. Installer la bibliothèque Mosquitto
  2. Créer le client Mosquitto
  3. Connectez-vous au courtier MQTT
  4. Publiez et abonnez-vous aux messages
  5. Déconnectez-vous du courtier

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.

Exemple : publiez et abonnez-vous à des messages à l'aide du client PHP MQTT

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn