Maison > développement back-end > tutoriel php > Contrôle à distance de systèmes d'éclairage intelligents à l'aide de PHP et MQTT

Contrôle à distance de systèmes d'éclairage intelligents à l'aide de PHP et MQTT

PHPz
Libérer: 2023-07-09 18:24:02
original
1347 Les gens l'ont consulté

Utilisez PHP et MQTT pour réaliser le contrôle à distance des systèmes d'éclairage intelligents

Avec la popularisation d'Internet et le développement de la technologie IoT, les maisons intelligentes sont devenues une nouvelle tendance dans nos vies. Parmi eux, le système d'éclairage intelligent, en tant que l'un des appareils domestiques intelligents les plus élémentaires, peut régler la lumière et modifier la luminosité via la télécommande. Cet article expliquera comment utiliser les protocoles PHP et MQTT pour réaliser la fonction de contrôle à distance des systèmes d'éclairage intelligents.

MQTT (Message Queuing Telemetry Transport) est un protocole léger de transmission de messages instantanés qui est devenu l'un des protocoles les plus couramment utilisés dans le domaine de l'Internet des objets. Dans cet article, nous utiliserons le protocole MQTT pour implémenter la communication entre les appareils.

Tout d'abord, nous devons préparer quelques outils et un environnement. Tout d’abord, nous avons besoin d’un serveur de développement comprenant un interpréteur PHP et un client MQTT. Nous pouvons utiliser XAMPP pour créer un tel serveur de développement, qui fournit un interpréteur PHP et Mosquitto MQTT Broker. Deuxièmement, nous devons préparer un dispositif d'éclairage intelligent prenant en charge le protocole MQTT, qui peut être basé sur ESP8266 ou d'autres plates-formes matérielles similaires. Enfin, nous devons également installer un client MQTT. Dans cet article, nous utiliserons le client PHP MQTT comme exemple.

Ensuite, nous pouvons écrire du code PHP pour implémenter le contrôle à distance du système d'éclairage intelligent. Tout d'abord, nous devons présenter la bibliothèque client PHP MQTT, qui peut être téléchargée depuis GitHub et importée dans notre projet PHP.

require("phpMQTT.php");

$server = "localhost";
$port = 1883;
$username = "your_username";
$password = "your_password";
$client_id = "client_id";

$mqtt = new phpMQTT($server, $port, $client_id);
if($mqtt->connect(true, NULL, $username, $password)){
    $mqtt->publish("lighting_system", "ON", 0);
    $mqtt->close();
}else{
    echo "连接失败!";
}
Copier après la connexion

Dans le code ci-dessus, nous avons utilisé la classe phpMQTT pour créer un client MQTT et nous connecter au courtier MQTT. Parmi eux, $server et $port représentent l'adresse et le numéro de port du courtier MQTT, $username et $password représentent le nom d'utilisateur et le mot de passe de la connexion, et $client_id représente l'identifiant unique du client. Connectez-vous à MQTT Broker en appelant la méthode connect. Si la connexion réussit, la méthode de publication est appelée pour publier un message sur le courtier MQTT. Le sujet du message est « lighting_system » et le contenu du message est « ON ». Enfin, nous utilisons la méthode close pour fermer la connexion au courtier MQTT.

Le nom d'utilisateur, le mot de passe et le client_id dans le code ci-dessus doivent être remplacés en fonction de la situation réelle afin de se connecter au dispositif d'éclairage intelligent.

Maintenant, nous avons écrit le code PHP pour le contrôle à distance du système d'éclairage intelligent. Ensuite, nous devons écrire du code sur le dispositif d'éclairage intelligent pour pouvoir recevoir des instructions de télécommande à partir du code PHP.

En prenant l'ESP8266 comme exemple, nous pouvons utiliser l'IDE Arduino pour écrire du code Arduino. Voici un exemple de code simplifié :

#include <ESP8266WiFi.h>
#include <PubSubClient.h>

const char* ssid = "your_ssid";
const char* password = "your_password";
const char* mqtt_server = "mqtt_server_address";
const char* client_id = "client_id";
const char* topic = "lighting_system";

void callback(char* topic, byte* payload, unsigned int length) {
    if(strcmp((char*)payload, "ON") == 0) {
        // 灯光系统开启的逻辑
    } else if(strcmp((char*)payload, "OFF") == 0) {
       // 灯光系统关闭的逻辑
    }
}

WiFiClient espClient;
PubSubClient client(espClient);

void reconnect() {
  while (!client.connected()) {
    if (client.connect(client_id)) {
      client.subscribe(topic);
    } else {
      delay(5000);
    }
  }
}

void setup() {
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }
  client.setServer(mqtt_server, 1883);
  client.setCallback(callback);
}

void loop() {
  if (!client.connected()) {
    reconnect();
  }
  client.loop();
}
Copier après la connexion

Dans le code ci-dessus, nous devons d'abord nous connecter au réseau Wi-Fi, qui peut être défini en modifiant le SSID et le mot de passe. Ensuite, nous devons nous connecter au courtier MQTT, qui peut être défini en modifiant mqtt_server et client_id. Enfin, nous traitons le message du code PHP dans la fonction de rappel et contrôlons l'état du système d'éclairage intelligent en fonction du contenu du message.

À ce stade, nous avons complété la fonction de contrôle à distance du système d'éclairage intelligent. En écrivant du code PHP et en utilisant le protocole MQTT et le client MQTT pour communiquer avec l'appareil, nous pouvons contrôler l'état marche/arrêt du système d'éclairage intelligent via Internet n'importe où.

Pour résumer, cet article présente comment utiliser les protocoles PHP et MQTT pour réaliser la fonction de contrôle à distance des systèmes d'éclairage intelligents. En écrivant du code PHP et en utilisant la bibliothèque client MQTT pour nous connecter au courtier MQTT et publier des messages, nous pouvons réaliser le contrôle à distance du système d'éclairage intelligent. Dans le même temps, nous avons également utilisé ESP8266 et Arduino pour implémenter la logique de code du dispositif d'éclairage intelligent, en recevant des messages du courtier MQTT et en contrôlant l'état du système d'éclairage intelligent en fonction du contenu du message. J'espère que cet article vous aidera à comprendre et à mettre en œuvre le contrôle à distance des systèmes d'éclairage intelligents.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal