Maison >développement back-end >tutoriel php >Utiliser PHP et MQTT pour implémenter la transmission de données pour le contrôle à distance des systèmes de maison intelligente
Utilisez PHP et MQTT pour réaliser la transmission de données des systèmes de maison intelligente télécommandés
Les systèmes de maison intelligente, en tant que réalisation majeure de la technologie moderne, sont progressivement entrés dans la vie des gens. Grâce aux systèmes de maison intelligente, les gens peuvent contrôler à distance les lumières, les appareils électriques et autres équipements de leur maison, offrant ainsi une expérience de vie plus pratique et plus confortable. Cet article expliquera comment utiliser les protocoles PHP et MQTT pour réaliser la transmission de données pour le contrôle à distance des systèmes de maison intelligente.
MQTT (Message Queuing Telemetry Transport) est un protocole léger de transport de messages de publication/abonnement couramment utilisé dans l'Internet des objets et le contrôle d'appareils à distance. En tant que langage de développement Web couramment utilisé, PHP présente une bonne évolutivité et stabilité. Nous pouvons combiner MQTT et PHP pour réaliser le contrôle à distance des systèmes de maison intelligente.
Tout d'abord, nous devons créer un serveur MQTT, qui peut être implémenté à l'aide de Mosquitto, une implémentation open source de MQTT. L'installation de Mosquitto est très simple, il suffit d'exécuter la commande suivante dans la ligne de commande :
sudo apt-get install mosquitto
Une fois l'installation terminée, nous devons configurer le nom d'utilisateur et le mot de passe du serveur MQTT pour assurer la sécurité de la transmission des données. Il peut être défini en éditant le fichier de configuration /etc/mosquitto/mosquitto.conf
. /etc/mosquitto/mosquitto.conf
进行设置。
接下来,我们需要安装PHP的MQTT扩展。可以使用以下命令安装:
sudo pecl install Mosquitto-alpha
安装完成后,我们可以在PHP的配置文件php.ini
extension=mosquitto.soUne fois l'installation terminée, nous pouvons ajouter le contenu suivant au fichier de configuration PHP
php.ini
pour activer l'extension MQTT : <?php $mqtt_server = "mqtt://localhost:1883"; $mqtt_username = "your-username"; $mqtt_password = "your-password"; $mqtt_topic = "home/bedroom/light"; $message = "on"; $client = new MosquittoClient(); $client->setCredentials($mqtt_username, $mqtt_password); $client->connect($mqtt_server); $client->publish($mqtt_topic, $message, 1); $client->disconnect();Redémarrez le Serveur Apache pour que la configuration prenne effet. Nous pouvons maintenant commencer à écrire du code PHP pour implémenter la transmission de données pour le contrôle à distance du système de maison intelligente. Voici un exemple de code pour publier un message sur un serveur MQTT :
<?php $mqtt_server = "mqtt://localhost:1883"; $mqtt_username = "your-username"; $mqtt_password = "your-password"; $mqtt_topic = "home/bedroom/light"; $client = new MosquittoClient(); $client->setCredentials($mqtt_username, $mqtt_password); $client->onMessage(function($message) { echo $message->topic . ": " . $message->payload . " "; }); $client->connect($mqtt_server); $client->subscribe($mqtt_topic, 1); $client->loopForever();Dans le code ci-dessus, nous spécifions d'abord l'adresse, le nom d'utilisateur, le mot de passe du serveur MQTT, ainsi que le sujet et le contenu du message. Ensuite, nous avons créé un objet MosquittoClient et défini le nom d'utilisateur et le mot de passe. Ensuite, nous nous connectons au serveur MQTT, utilisons la méthode de publication pour publier un message sur le sujet spécifié et enfin nous nous déconnectons. En plus de publier des messages, nous pouvons également utiliser la méthode d'abonnement pour vous abonner aux messages sous un certain sujet. Voici un exemple de code pour s'abonner aux messages sur un serveur MQTT :
rrreee
Dans le code ci-dessus, nous spécifions d'abord l'adresse du serveur MQTT, le nom d'utilisateur, le mot de passe et le sujet souscrit. Ensuite, nous avons créé un objet MosquittoClient et défini le nom d'utilisateur et le mot de passe. Ensuite, nous nous connectons au serveur MQTT, utilisons la méthode onMessage pour définir la fonction de rappel lorsque le message arrive et nous abonnons au sujet spécifié via la méthode d'abonnement. Enfin, nous utilisons la méthode loopForever pour démarrer une boucle infinie et attendre le. message à arriver. 🎜🎜Grâce à l'exemple de code ci-dessus, nous pouvons facilement utiliser PHP et MQTT pour réaliser la transmission de données de systèmes de maison intelligente télécommandés. Les développeurs peuvent écrire des codes fonctionnels plus complexes en fonction de leurs propres besoins pour obtenir davantage de fonctions de contrôle de maison intelligente. J'espère que cet article vous aidera ! 🎜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!