Maison  >  Article  >  développement back-end  >  Fonctionnement et contrôle des appareils à distance à l'aide de PHP et MQTT

Fonctionnement et contrôle des appareils à distance à l'aide de PHP et MQTT

王林
王林original
2023-07-08 19:09:241021parcourir

Utilisez PHP et MQTT pour réaliser le fonctionnement et le contrôle des appareils à distance

Introduction :
MQTT (Message Queuing Telemetry Transport) est un protocole de transmission de messages de publication/abonnement léger et ouvert qui peut réaliser la communication et la transmission de données entre les appareils. PHP est un langage de script côté serveur populaire qui peut être intégré au protocole MQTT pour faciliter le fonctionnement et le contrôle à distance des appareils dans les applications Web.

Cet article expliquera comment utiliser les protocoles PHP et MQTT et démontrera le processus de fonctionnement et de contrôle des appareils à distance via un exemple de code.

Étape 1 : Installer l'extension PHP MQTT
Tout d'abord, vous devez installer l'extension PHP MQTT pour pouvoir utiliser le protocole MQTT en PHP. Il existe deux extensions PHP MQTT couramment utilisées, Mosquitto et phpMQTT. Cet article présentera phpMQTT à titre d'exemple.

Exécutez la commande suivante dans le terminal pour installer l'extension phpMQTT :

composer require bluerhinos/phpmqtt

Étape 2 : Connectez-vous au serveur MQTT
Utilisez l'extension phpMQTT pour vous connecter au serveur MQTT Vous devez spécifier le nom d'hôte, le numéro de port et le client. ID du serveur. L'exemple de code est le suivant :

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

$mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID
if ($mqtt->connect()) {
    // 连接成功
    // ...
} else {
    // 连接失败
    // ...
}

Étape 3 : Abonnez-vous au sujet
Dans le protocole MQTT, le sujet (Topic) est utilisé pour identifier le contenu du message. Pour recevoir des messages envoyés par un appareil, vous devez vous abonner à un ou plusieurs sujets. L'exemple de code est le suivant :

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

$mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID
if ($mqtt->connect()) {
    $topics = array("topic1", "topic2"); // 订阅的主题列表
    $mqtt->subscribe($topics, 0); // 订阅主题
    while ($mqtt->proc()) {
        // 处理接收到的消息
        // ...
    }
    $mqtt->close(); // 关闭连接
} else {
    // 连接失败
    // ...
}

Étape 4 : Publier un message
Pour envoyer des instructions à l'appareil, vous devez publier un message sur le sujet spécifié. L'exemple de code est le suivant :

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

$mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID
if ($mqtt->connect()) {
    $topic = "topic"; // 发布的主题
    $message = "Hello, device!"; // 发布的消息
    $mqtt->publish($topic, $message, 0); // 发布消息
    $mqtt->close(); // 关闭连接
} else {
    // 连接失败
    // ...
}

Étape 5 : Analyser le message reçu
Dans l'exemple ci-dessus, nous devons traiter le message reçu après l'avoir reçu. Le contenu du message peut être analysé en fonction des besoins du dispositif, et les opérations correspondantes peuvent être effectuées en fonction des besoins. L'exemple de code est le suivant :

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

$mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID
if ($mqtt->connect()) {
    $topics = array("topic1", "topic2"); // 订阅的主题列表
    $mqtt->subscribe($topics, 0); // 订阅主题
    while ($mqtt->proc()) {
        $message = $mqtt->message;
        
        // 解析接收到的消息
        // ...
        
        // 根据解析的结果进行操作
        // ...
    }
    $mqtt->close(); // 关闭连接
} else {
    // 连接失败
    // ...
}

Résumé :
En utilisant les protocoles PHP et MQTT, nous pouvons facilement implémenter le fonctionnement et le contrôle des appareils à distance. Cet article présente les étapes de base de l'utilisation de l'extension phpMQTT pour se connecter à un serveur MQTT, s'abonner à des sujets, publier des messages et analyser les messages reçus, et fournit un exemple de code correspondant. Les lecteurs peuvent le personnaliser et l'étendre en fonction de leurs propres besoins et en conjonction avec des projets spécifiques pour obtenir des fonctions de fonctionnement et de contrôle d'appareils à distance plus flexibles et plus puissantes.

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