Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Vi ska installera MQTT-server och klient på Raspberry Pi med hjälp av Mosquitto- och paho-mqtt-bibliotek. Vi kommer att läsa en knapp och om den trycks in växlar vi LED på Arduino -sidan.
På Arduino kommer vi att använda Adafruit MQTT -bibliotek. Vi kommer att använda en sensor som LDR (Du kan använda vilken annan sensor som helst), läsa den och publicera den så snart den ändras till Raspberry Pi.
Vi behöver:
Raspberry Pi
NodeMCU
Steg 1: Lägga till bibliotek för Esp8266
Gå till "Hantera bibliotek …" med din Arduino IDE och sök efter "MQTT" av Adafruit.
Efter lyckad installation lägger du till "MQTT_NodeMCU.ino" från följande länk:
Arduino -kod
Gör följande ändringar genom att ersätta wifi ssid, lösenord och RPi IP -adress.
#define WLAN_SSID " #397" #define WLAN_PASS "farmhouse397" #define MQTT_SERVER "192.168.0.108" #define "led_pin" #define "sensor_input"
Ladda upp skissen och öppna Serial Monitor på 115200
Steg 2: Installera MQTT Sever och Client på Raspberry Pi
Installera först Mosquitto -servern med:
sudo apt-get install mygg
Installera Mosquitto Client med:
sudo apt-get install myggklienter
Du kan validera installationen med:
systemctl status mosquitto.service
Nu installerar vi paho-MQTT med:
sudo apt-get install python python-pipsudo pip install RPi. GPIO paho-mqtt
Använd dessa kommandon för att publicera -meddelanden från hallon pi (-hostname) till esp8266-leds (-topic).
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "ON"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "OFF"
-h ==> värdnamn ==> raspberrypi (om du inte har ändrat det)
-t ==> ämne
-m ==> meddelande
Steg 3: Kör Python Script
Du kan ladda ner MQTT_Pi från
github.com/anuragvermaa/MQTT_NodeMCU
Om allt är bra bör du kunna se sensordata i terminalen.
Tryck på Ctrl+C för att avsluta.