Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Wir werden MQTT-Server und -Client auf Raspberry Pi mit Mosquitto- und paho-mqtt-Bibliotheken einrichten. Wir werden eine Taste lesen und wenn sie gedrückt wird, werden wir die LED auf der Arduino-Seite umschalten.
Auf Arduino verwenden wir die Adafruit MQTT-Bibliothek. Wir werden einen Sensor wie LDR verwenden (Sie können jeden anderen Sensor verwenden), ihn auslesen und veröffentlichen, sobald er auf Raspberry Pi wechselt.
Wir brauchen:
Himbeer-Pi
KnotenMCU
Schritt 1: Hinzufügen von Bibliotheken für Esp8266
Gehen Sie mit Ihrer Arduino IDE zu "Manage Libraries…" und suchen Sie nach "MQTT" von Adafruit.
Fügen Sie nach erfolgreicher Installation "MQTT_NodeMCU.ino" über folgenden Link hinzu:
Arduino-Code
Nehmen Sie die folgenden Änderungen vor, indem Sie die WLAN-Ssid, das Passwort und die RPi-IP-Adresse ersetzen.
#define WLAN_SSID "#397" #define WLAN_PASS "farmhouse397" #define MQTT_SERVER "192.168.0.108" #define "led_pin" #define "sensor_input"
Laden Sie die Skizze hoch und öffnen Sie Serial Monitor bei 115200
Schritt 2: MQTT-Server und -Client auf Raspberry Pi installieren
Installieren Sie zuerst den Mosquitto-Server mit:
sudo apt-get install mosquitto
Installieren Sie Mosquitto Client mit:
sudo apt-get install mosquitto-clients
Sie können die Installation validieren mit:
systemctl-status mosquitto.service
Jetzt installieren wir paho-MQTT mit:
sudo apt-get install python python-pipsudo pip install RPi. GPIO paho-mqtt
Verwenden Sie diese Befehle, um -messages von Raspberry Pi (-hostname) an esp8266-leds (-topic) zu veröffentlichen.
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "ON"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "OFF"
-h == > Hostname ==> raspberrypi (es sei denn, Sie haben es geändert)
-t == > Thema
-m == > Nachricht
Schritt 3: Python-Skript ausführen
Sie können MQTT_Pi herunterladen von
github.com/anuragvermaa/MQTT_NodeMCU
Wenn alles in Ordnung ist, sollten Sie die Sensordaten im Terminal sehen können.
Drücken Sie zum Beenden Strg+C.