Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Nous allons configurer le serveur et le client MQTT sur Raspberry Pi à l'aide des bibliothèques Mosquitto et paho-mqtt. Nous lirons un bouton et s'il est enfoncé, nous basculerons la LED du côté Arduino.
Alors que, sur Arduino, nous utiliserons la bibliothèque Adafruit MQTT. Nous allons utiliser un capteur comme le LDR (Vous pouvez utiliser n'importe quel autre capteur), le lire et le publier dès qu'il passera à Raspberry Pi.
Nous avons besoin:
Tarte aux framboises
NodeMCU
Étape 1: Ajout de bibliothèques pour Esp8266
Allez dans "Gérer les bibliothèques…" à l'aide de votre IDE Arduino et recherchez "MQTT" par Adafruit.
Après une installation réussie, ajoutez "MQTT_NodeMCU.ino" à partir du lien suivant:
Code Arduino
Apportez les modifications suivantes en remplaçant le ssid wifi, le mot de passe et l'adresse IP RPi.
#define WLAN_SSID "#397" #define WLAN_PASS "farmhouse397" #define MQTT_SERVER "192.168.0.108" #define "led_pin" #define "sensor_input"
Téléchargez le croquis et ouvrez Serial Monitor au 115200
Étape 2: Installez MQTT Server et Client sur Raspberry Pi
Tout d'abord, installez le serveur Mosquitto en utilisant:
sudo apt-get install moustique
Installez le client Mosquitto en utilisant:
sudo apt-get install mosquitto-clients
Vous pouvez valider l'installation en utilisant:
état systemctl mosquitto.service
Maintenant, nous allons installer paho-MQTT en utilisant:
sudo apt-get install python python-pipsudo pip install RPi. GPIO paho-mqtt
Utilisez ces commandes pour publier des messages de raspberry pi (-hostname) vers esp8266-leds (-topic).
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "ON"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "OFF"
-h ==> nom d'hôte ==> raspberrypi (sauf si vous l'avez modifié)
-t == > sujet
-m == > message
Étape 3: Exécutez le script Python
Vous pouvez télécharger MQTT_Pi depuis
github.com/anuragvermaa/MQTT_NodeMCU
Si tout va bien, vous devriez pouvoir voir les données du capteur dans le terminal.
Appuyez sur Ctrl+C pour quitter.