L'Internet des objets (IoT) permet l'interconnexion entre les appareils via divers capteurs, contrôleurs et appareils intelligents. MQTT (Message Dileste Télémétrie Transport) est un protocole de communication léger et efficace et est largement utilisé dans l'environnement de l'Internet des objets. Cet article montrera comment implémenter la communication IoT via le protocole MQTT à l'aide du langage de programmation PHP.
Tout d'abord, vous devez installer l'extension du client MQTT pour PHP. Il est recommandé d'utiliser l'extension Eclipse / Mosquitto-PHP. Vous pouvez l'installer via la commande suivante:
<span class="fun">Le compositeur nécessite Eclipse / Mosquitto-Php</span>
Avant de vous connecter au serveur MQTT, vous devez obtenir l'adresse, le port, le nom d'utilisateur et le mot de passe du serveur MQTT. Différents fournisseurs de services MQTT peuvent avoir différentes méthodes de configuration.
<?php
require_once 'vendor/autoload.php'; //chargerMQTTBibliothèque client
$mqtt = new MosquittoClient();
$mqtt->setCredentials('username', 'password'); // Définir le nom d'utilisateur et le mot de passe
$mqtt->onConnect(function() use ($mqtt) {
echo 'Connected to MQTT broker';
$mqtt->subscribe('topic', 0); //Abonnez-vous aux sujets
});
$mqtt->connect('mqtt.example.com', 1883, 60); // connecterMQTTserveur
$mqtt->loopForever();
?>
Une fois la connexion réussie, vous pouvez commencer à envoyer et à recevoir des messages MQTT. Voici un exemple de code montrant comment envoyer des messages à un sujet spécifique et recevoir des messages de ce sujet.
<?php
require_once 'vendor/autoload.php';
$mqtt = new MosquittoClient();
$mqtt->setCredentials('username', 'password');
$mqtt->onConnect(function() use ($mqtt) {
echo 'Connected to MQTT broker';
$mqtt->subscribe('topic', 0); //Abonnez-vous aux sujets
$mqtt->publish('topic', 'Hello, MQTT!', 0); // Envoyer un message
});
$mqtt->onMessage(function($message) {
echo 'Received message: ' . $message->payload;
});
$mqtt->connect('mqtt.example.com', 1883, 60);
$mqtt->loopForever();
?>
Le message reçu est traité en enregistrant la fonction de rappel OnMessage. Diverses opérations peuvent être effectuées en fonction des exigences, telles que le stockage des messages dans une base de données ou les transmettre à d'autres appareils.
<?php
$mqtt->onMessage(function($message) {
echo 'Received message: ' . $message->payload;
// Traiter le message reçu,Par exemple, stockez dans une base de données
// ...
});
?>
Grâce aux étapes ci-dessus, les développeurs peuvent facilement implémenter une communication IoT basée sur le protocole MQTT à l'aide de PHP. Le protocole MQTT est particulièrement adapté aux scénarios d'application IoT avec une bande passante faible et des réseaux instables. Cependant, la sécurité reste une question importante à laquelle faire attention, assurant la sécurité des connexions et la transmission sécurisée des messages.