Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Chystáme se nastavit server a klienta MQTT na Raspberry Pi pomocí knihoven Mosquitto a paho-mqtt. Přečteme tlačítko a pokud je stisknuto, přepneme LED na straně Arduino.
Zatímco na Arduinu použijeme knihovnu Adafruit MQTT. Použijeme senzor jako LDR (můžete použít jakýkoli jiný senzor), přečtěte si ho a zveřejněte, jakmile se změní na Raspberry Pi.
Potřebujeme:
Raspberry Pi
NodeMCU
Krok 1: Přidání knihoven pro Esp8266
Přejděte na „Spravovat knihovny…“pomocí IDE Arduino a vyhledejte „MQTT“od Adafruit.
Po úspěšné instalaci přidejte „MQTT_NodeMCU.ino“z následujícího odkazu:
Arduino kód
Proveďte následující změny nahrazením wifi ssid, hesla a IP adresy RPi.
#define WLAN_SSID " #397" #define WLAN_PASS "farmhouse397" #define MQTT_SERVER "192.168.0.108" #define "led_pin" #define "sensor_input"
Nahrajte skicu a otevřete Serial Monitor na 115200
Krok 2: Nainstalujte MQTT Sever a klienta na Raspberry Pi
Nejprve nainstalujte server Mosquitto pomocí:
sudo apt-get install mosquitto
Nainstalujte si Mosquitto Client pomocí:
sudo apt-get install mosquitto-clients
Instalaci můžete ověřit pomocí:
systemctl status mosquitto.service
Nyní nainstalujeme paho-MQTT pomocí:
sudo apt-get install python python-pipsudo pip install RPi. GPIO paho-mqtt
Pomocí těchto příkazů můžete publikovat -zprávy od raspberry pi (-hostname) po esp8266-leds (-topic).
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "ON"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "OFF"
-h ==> název hostitele ==> raspberrypi (pokud jste jej nezměnili)
-t ==> téma
-m ==> zpráva
Krok 3: Spusťte Python Script
MQTT_Pi si můžete stáhnout z
github.com/anuragvermaa/MQTT_NodeMCU
Pokud je vše v pořádku, měli byste v terminálu vidět data senzorů.
Ukončete stisknutím Ctrl+C.