


Abonnement aux messages MQTT et pratique de publication dans le développement PHP
Abonnement et publication pratiques de messages MQTT dans le développement PHP
Introduction :
Avec le développement de l'Internet des objets, le protocole de transport de télémétrie Message Queuing (MQTT) joue un rôle important dans la communication entre les capteurs et les applications back-end. En tant que protocole léger, MQTT présente les caractéristiques d’une faible consommation d’énergie, d’une fiabilité et d’une évolutivité élevées. Dans le développement PHP, MQTT est utilisé pour s'abonner et publier des messages, qui peuvent facilement communiquer avec des capteurs et transmettre des données à l'application back-end pour traitement et affichage. Cet article présentera l'application pratique de MQTT dans le développement PHP et fournira des exemples de code pertinents.
1. Introduction à MQTT :
MQTT est un protocole de transmission de file d'attente de messages basé sur le modèle de publication/abonnement. Il adopte un format de message binaire léger et convient à divers périphériques matériels tels que des capteurs et des systèmes embarqués. Le protocole MQTT contient principalement deux rôles : éditeur de message et abonné au message. Les éditeurs publient des messages sur un sujet spécifique, tandis que les abonnés s'abonnent à des sujets d'intérêt pour recevoir des messages pertinents. Le protocole MQTT prend également en charge les paramètres de niveau QoS (Qualité de service) des messages pour garantir la fiabilité des données.
2. Installer le serveur MQTT :
Avant de commencer à pratiquer MQTT dans le développement PHP, nous devons d'abord créer un serveur MQTT. Voici les brèves étapes pour configurer un serveur MQTT :
- Téléchargez et installez un serveur MQTT tel que Mosquitto.
- Exécutez le serveur MQTT, le port d'écoute par défaut est 1883.
3. Utilisation de MQTT en PHP :
Le processus d'utilisation de MQTT pour l'abonnement et la publication de messages en PHP est le suivant :
-
Présentation de la bibliothèque client MQTT :
Vous devez d'abord présenter la bibliothèque client MQTT, la bibliothèque client la plus courante. client MQTT utilisé en PHP Les bibliothèques de terminaux incluent phpMQTT et mosquitto-php, etc. Cet article prend comme exemple phpMQTT, qui peut être installé via composer :composer require bluerhinos/phpmqttclient
Copier après la connexion Configuration du client MQTT :
Avant d'effectuer des opérations MQTT dans le code PHP, vous devez d'abord configurer la connexion, y compris l'adresse du serveur, le numéro de port et le niveau de QoS. , etc. Voici un exemple de configuration :$mqttServer = 'localhost'; // MQTT服务器地址 $mqttPort = 1883; // MQTT服务器端口 $mqttClientId = 'php_script'; // 客户端ID $mqttUsername = ''; //用户名 $mqttPassword = ''; // 密码
Copier après la connexionAbonnement aux messages MQTT :
Pour vous abonner à un sujet en PHP, vous pouvez utiliser la méthodesubscribe
. Voici un exemple :subscribe
方法。以下是一个示例:require('phpMQTT.php'); $mqtt = new phpMQTT($mqttServer, $mqttPort, $mqttClientId); if($mqtt->connect(true, NULL, $mqttUsername, $mqttPassword)) { $topics['topic_name'] = array('qos' => 0, 'function' => 'dataCallback'); $mqtt->subscribe($topics, 0); while($mqtt->proc()){ } $mqtt->close(); } else { echo "连接MQTT服务器失败!"; exit(1); } function dataCallback($topic, $payload) { echo "收到消息:$payload"; }
Copier après la connexionMQTT消息的发布:
在PHP中发布一个消息,可以使用publish
方法。以下是一个示例:require('phpMQTT.php'); $mqtt = new phpMQTT($mqttServer, $mqttPort, $mqttClientId); if($mqtt->connect(true, NULL, $mqttUsername, $mqttPassword)) { $mqtt->publish('topic_name', '消息内容', 0); $mqtt->close(); } else { echo "连接MQTT服务器失败!"; exit(1); }
Copier après la connexion
四、实战应用:
下面以一个简单的实景应用为例,演示在PHP中使用MQTT进行消息订阅与发布的实际应用。
- 场景描述:
假设我们有一个温度传感器设备,其将实时温度通过MQTT协议发布到主题为temperature
require('phpMQTT.php'); $mqttServer = 'localhost'; // MQTT服务器地址 $mqttPort = 1883; // MQTT服务器端口 $mqttClientId = 'php_script'; // 客户端ID $mqtt = new phpMQTT($mqttServer, $mqttPort, $mqttClientId); if($mqtt->connect(true, NULL, NULL, NULL)) { $topics['temperature'] = array('qos' => 0, 'function' => 'temperatureCallback'); $mqtt->subscribe($topics, 0); echo "开始订阅温度数据... "; while($mqtt->proc()){ } $mqtt->close(); } else { echo "连接MQTT服务器失败!"; exit(1); } function temperatureCallback($topic, $payload) { echo "收到温度消息:$payload "; // 在这里进行温度数据的处理,如存储到数据库或展示在Web界面上 }
Copier après la connexion
Publication de messages MQTT : Pour publier un message en PHP, vous pouvez utiliser la méthode
publish
. Voici un exemple : <!DOCTYPE html> <html> <head> <title>温度监控</title> </head> <body> <h1>温度监控</h1> <div id="temperature"></div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function() { var mqttServer = 'mqtt://localhost:1883'; var clientId = 'web_client'; var temperatureTopic = 'temperature'; var client = mqtt.connect(mqttServer, { clientId: clientId }); client.on('connect', function() { client.subscribe(temperatureTopic); }); client.on('message', function(topic, message) { if (topic === temperatureTopic) { var temperature = message.toString(); $('#temperature').text('当前温度:' + temperature + '℃'); } }); }); </script> </body> </html>
-
4. Application pratique : Ce qui suit prend une application simple et réelle comme exemple pour démontrer l'application pratique de l'utilisation de MQTT pour l'abonnement et la publication de messages en PHP.
Supposons que nous ayons un capteur de température qui publie la température en temps réel via le protocole MQTT sur un canal avec le sujet température
. Notre application PHP doit recevoir et traiter ces données de température en temps réel, et pour ce faire, nous nous abonnerons à ce sujet et afficherons la température en temps réel via l'interface web.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Présentation de la tolérance aux pannes et des considérations de sécurité de MQTT dans le développement PHP : MQTT (MessageQueuingTelemetryTransport) est un protocole de communication léger largement utilisé dans l'Internet des objets et la communication machine à machine (M2M). L'utilisation de MQTT dans le développement PHP peut réaliser des fonctions telles que la messagerie en temps réel et le contrôle à distance. Cet article présentera les problèmes de tolérance aux pannes et de sécurité qui doivent être pris en compte lors de l'utilisation de MQTT dans le développement PHP, et fournira quelques exemples de code pour référence. 1. Tolérance aux pannes

Comment utiliser PHP et MQTT pour ajouter une fonction de chat utilisateur en temps réel au site Web À l'ère d'Internet d'aujourd'hui, les utilisateurs de sites Web ont de plus en plus besoin de communication et de communication en temps réel. Afin de répondre à cette demande, nous pouvons utiliser PHP et MQTT pour ajouter du réel. -Fonction de chat utilisateur en temps réel sur le site Web. Cet article expliquera comment utiliser PHP et MQTT pour implémenter la fonction de chat utilisateur en temps réel du site Web et fournira des exemples de code. Assurez-vous que l'environnement est prêt Avant de commencer, assurez-vous d'avoir installé et configuré les environnements d'exécution PHP et MQTT. Vous pouvez utiliser le développement intégré tel que XAMPP

MQTT (MessageQueuingTelemetryTransport) 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 : Concepts de base du protocole MQTT Exemples de sélection et d'utilisation de la bibliothèque client PHPMQTT : Utilisation du client PHPMQTT pour publier et

Meilleures pratiques pour l'analyse de données en temps réel à l'aide de PHP et MQTT Avec le développement rapide de la technologie IoT et Big Data, l'analyse de données en temps réel devient de plus en plus importante dans divers secteurs. Dans l'analyse de données en temps réel, MQTT (MQTelemetryTransport), en tant que protocole de communication léger, est largement utilisé dans le domaine de l'Internet des objets. En combinant PHP et MQTT, l'analyse des données en temps réel peut être réalisée rapidement et efficacement. Cet article présentera les meilleures pratiques pour l'analyse de données en temps réel à l'aide de PHP et MQTT, et

Création d'une application de chat en temps réel à l'aide de PHP et MQTT Introduction : Avec le développement rapide d'Internet et la popularité des appareils intelligents, la communication en temps réel est devenue l'une des fonctions essentielles de la société moderne. Afin de répondre aux besoins de communication des gens, développer une application de chat en temps réel est devenu l'objectif poursuivi par de nombreux développeurs. Dans cet article, nous présenterons comment utiliser le protocole PHP et MQTT (MessageQueuingTelemetryTransport) pour créer une application de chat en temps réel. qu'est-ce que

Comparaison d'implémentation PHP et guide de sélection pour le protocole MQTT Résumé : MQTT (MessageQueuingTelemetryTransport) est un protocole de communication de publication/abonnement léger adapté aux environnements à faible bande passante et à haute latence tels que l'Internet des objets. Cet article explorera l'implémentation du protocole MQTT en PHP et fournira un guide de comparaison et de sélection. Introduction : Avec le développement rapide de l'Internet des objets, de plus en plus d'appareils nécessitent une transmission et une communication de données en temps réel. MQTT en tant que poids léger

Comment PHP continue-t-il d'écouter les abonnements aux messages Redis et de gérer les tâches asynchrones ? Dans le développement PHP, nous sommes souvent confrontés à des scénarios de traitement de tâches asynchrones. En tant que base de données en mémoire hautes performances, Redis fournit un mécanisme Pub/Sub qui peut être utilisé pour publier des messages et s'y abonner. Cet article expliquera comment utiliser PHP pour écouter en continu les abonnements aux messages Redis et démontrera comment gérer les tâches asynchrones à travers des exemples de code. Comprendre le mécanisme Pub/Sub de Redis Avant de commencer, nous devons d'abord comprendre le mécanisme Pub/Sub de Redis.

Avec le développement de la technologie IoT, de plus en plus d’appareils sont capables de se connecter à Internet, de communiquer et d’interagir via Internet. Dans le développement d'applications IoT, le protocole de transport de télémétrie Message Queuing (MQTT) est largement utilisé comme protocole de communication léger. Cet article explique comment utiliser l'expérience pratique du développement Java pour implémenter les fonctions IoT via MQTT. 1. Qu'est-ce que MQT ? QTT est un protocole de transmission de messages basé sur le modèle de publication/abonnement. Il présente une conception simple et une faible surcharge, et convient aux scénarios d'application qui transmettent rapidement de petites quantités de données.
