Avec le développement continu de la technologie IoT, le protocole MQTT (Message Quidue Telemétry Transport) est un protocole de communication léger et est largement utilisé dans les environnements de réseau à faible bande passante et instables. Cet article vous présentera en détail comment implémenter la fonction de communication du protocole MQTT dans PHP et fournir des exemples de code pertinents pour vous aider à créer rapidement des applications IoT.
Tout d'abord, nous devons installer une bibliothèque PHP qui prend en charge le protocole MQTT. Cet article utilise la bibliothèque "PHPMQTT", qui est un outil très approprié pour communiquer avec les serveurs MQTT.
La bibliothèque peut être installée via l'outil de ligne de commande Composer. Exécutez la commande suivante dans le terminal:
<span class="fun">Le compositeur nécessite Bluerhinos / PhpmqttClient</span>
Ensuite, jetons un coup d'œil à la connexion au serveur MQTT et publions un message. Voici un exemple de code simple montrant comment se connecter à un serveur MQTT et envoyer des messages via un client PHP.
require("phpMQTT.php");
$server = "mqtt.example.com"; // MQTTAdresse du serveur
$port = 1883; // MQTTPort de serveur
$username = "your_username"; // nom d'utilisateur
$password = "your_password"; // mot de passe
$client_id = "client_id"; // ClientID
$topic = "your_topic"; // Publier un sujet
$message = "Hello, MQTT!"; // Contenu du message
$mqtt = new phpMQTT($server, $port, $client_id);
if($mqtt->connect(true, NULL, $username, $password)) {
$mqtt->publish($topic, $message, 0);
$mqtt->close();
} else {
echo "Échec de la connexion!";
}
En plus de publier des messages, nous pouvons également souscrire à des sujets sur le serveur MQTT via le client PHP et recevoir des messages correspondants. L'exemple suivant montre comment s'abonner à un sujet et traiter les messages reçus.
require("phpMQTT.php");
$server = "mqtt.example.com"; // MQTTAdresse du serveur
$port = 1883; // MQTTPort de serveur
$username = "your_username"; // nom d'utilisateur
$password = "your_password"; // mot de passe
$client_id = "client_id"; // ClientID
$topic = "your_topic"; // Abonnez-vous aux sujets
$mqtt = new phpMQTT($server, $port, $client_id);
if($mqtt->connect(true, NULL, $username, $password)) {
$mqtt->subscribe($topic, 0);
while($mqtt->proc()) {
// Traiter le message reçu
}
$mqtt->close();
} else {
echo "Échec de la connexion!";
}
Dans le code ci-dessus, nous utilisons une fonction de rappel pour gérer les messages souscrits. Ce qui suit est un exemple de fonction simple qui traite et publie le message reçu.
function processMessage($topic, $message) {
echo "Message reçu: " . $message . "\n";
}
require("phpMQTT.php");
$server = "mqtt.example.com"; // MQTTAdresse du serveur
$port = 1883; // MQTTPort de serveur
$username = "your_username"; // nom d'utilisateur
$password = "your_password"; // mot de passe
$client_id = "client_id"; // ClientID
$topic = "your_topic"; // Abonnez-vous aux sujets
$mqtt = new phpMQTT($server, $port, $client_id);
$mqtt->onMessage = "processMessage"; // Définir la fonction de rappel
if($mqtt->connect(true, NULL, $username, $password)) {
$mqtt->subscribe($topic, 0);
while($mqtt->proc()) { }
$mqtt->close();
} else {
echo "Échec de la connexion!";
}
Cet article montre comment utiliser la bibliothèque "PHPMQTT" pour implémenter la fonction de communication du protocole MQTT dans PHP via des exemples de code réels. Sur la base de ces exemples, vous pouvez rapidement créer vos propres applications IoT pour la transmission des données et la gestion des messages. J'espère que cet article vous aidera à mieux comprendre et appliquer le protocole MQTT.