Maison  >  Article  >  développement back-end  >  Tutoriel d'introduction et d'utilisation de la bibliothèque d'extensions MQTT de PHP

Tutoriel d'introduction et d'utilisation de la bibliothèque d'extensions MQTT de PHP

王林
王林original
2023-07-08 11:33:091850parcourir

Introduction et tutoriel d'utilisation de la bibliothèque d'extensions MQTT de PHP

Introduction :
Avec le développement rapide de l'Internet des objets, MQTT (Message Queuing Telemetry Transport), en tant que protocole de communication léger, a reçu une attention et une application généralisées. Dans le développement de PHP, en utilisant la bibliothèque d'extensions MQTT, nous pouvons facilement communiquer avec le serveur MQTT. Cet article présentera les concepts de base et l'utilisation de la bibliothèque d'extensions MQTT et montrera comment utiliser MQTT pour la publication et l'abonnement de messages via du code. exemples.

1. Introduction à la bibliothèque d'extensions MQTT
La bibliothèque d'extensions MQTT est une extension PHP utilisée pour communiquer avec le serveur MQTT. Elle fournit une série de fonctions et de classes qui nous permettent d'implémenter facilement les fonctions MQTT. Avant de commencer, nous devons installer la bibliothèque d'extensions. Selon la version de PHP et le type de système d'exploitation que vous utilisez, vous pouvez l'installer de différentes manières.

2. Utilisation de la bibliothèque d'extensions MQTT

  1. Connexion au serveur MQTT
    La première étape pour utiliser la bibliothèque d'extensions MQTT consiste à créer un client MQTT et à établir une connexion avec le serveur MQTT. Pendant le processus de connexion, nous devons spécifier le nom d'hôte, le numéro de port et l'ID client du serveur.
<?php
$host = 'mqtt.example.com';
$port = 1883;
$clientID = 'php-mqtt-client';

$mqtt = new MosquittoClient($clientID);
$mqtt->connect($host, $port);
  1. Publier un message
    Pour publier un message sur le serveur MQTT, nous devons spécifier le sujet (Topic) et le contenu du message. Le message peut être envoyé au sujet correspondant en appelant la fonction publier. 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();
Parmi eux, le troisième paramètre spécifie le niveau de QoS, 0 signifie au plus une transmission, 1 signifie au moins une transmission et 2 signifie une seule transmission. Le quatrième paramètre est utilisé pour spécifier s'il faut conserver son propre ID client dans le message.


    S'abonner aux messagesL'abonnement aux messages est l'une des fonctions les plus importantes de MQTT. En appelant la fonction subscribe, le client peut s'abonner à un ou plusieurs sujets et spécifier la fonction de rappel correspondante pour traiter les messages reçus. 🎜🎜rrreee🎜Dans l'exemple ci-dessus, nous avons défini une fonction de rappel anonyme pour gérer le message reçu. La fonction de rappel sera appelée lorsque le message correspondant sera reçu et le contenu du message reçu sera affiché. 🎜
      🎜Déconnecter🎜Enfin, lorsque l'on n'a plus besoin de communiquer avec le serveur MQTT, on peut se déconnecter en appelant la fonction disconnect. 🎜🎜rrreee🎜3. Résumé🎜En utilisant la bibliothèque d'extensions MQTT, nous pouvons facilement implémenter la communication entre PHP et le serveur MQTT. Cet article présente brièvement les concepts de base et l'utilisation de la bibliothèque d'extensions MQTT, et fournit des exemples de code pour montrer comment utiliser MQTT pour la publication et l'abonnement de messages. J'espère que cet article pourra être utile aux débutants et mieux utiliser la technologie MQTT dans le développement réel. 🎜

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