Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Vi skal sette opp MQTT-server og klient på Raspberry Pi ved å bruke Mosquitto og paho-mqtt biblioteker. Vi vil lese en knapp, og hvis den trykkes vil vi veksle LED på Arduino -siden.
Mens vi på Arduino vil bruke Adafruit MQTT -bibliotek. Vi vil bruke en sensor som LDR (Du kan bruke hvilken som helst annen sensor), lese den og publisere den så snart den endres til Raspberry Pi.
Vi trenger:
Bringebær Pi
NodeMCU
Trinn 1: Legge til biblioteker for Esp8266
Gå til "Administrer biblioteker …" ved hjelp av Arduino IDE og søk etter "MQTT" av Adafruit.
Etter vellykket installasjon, legg til "MQTT_NodeMCU.ino" fra følgende lenke:
Arduino -koden
Gjør følgende endringer ved å erstatte wifi ssid, passord og RPi IP -adresse.
#define WLAN_SSID " #397" #define WLAN_PASS "farmhouse397" #define MQTT_SERVER "192.168.0.108" #define "led_pin" #define "sensor_input"
Last opp skissen og åpne Serial Monitor på 115200
Trinn 2: Installer MQTT Sever og Client på Raspberry Pi
Installer først Mosquitto -serveren med:
sudo apt-get install mygg
Installer Mosquitto Client med:
sudo apt-get install mosquitto-klienter
Du kan validere installasjonen ved å:
systemctl status mosquitto.service
Nå installerer vi paho-MQTT ved hjelp av:
sudo apt-get install python python-pipsudo pip install RPi. GPIO paho-mqtt
Bruk disse kommandoene til å publisere meldinger fra bringebær pi (-vertsnavn) til esp8266-leds (-topic).
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "ON"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "OFF"
-h ==> vertsnavn ==> raspberrypi (med mindre du har endret det)
-t ==> emne
-m ==> melding
Trinn 3: Kjør Python Script
Du kan laste ned MQTT_Pi fra
github.com/anuragvermaa/MQTT_NodeMCU
Hvis alt er bra, bør du kunne se sensordata i terminalen.
Trykk Ctrl+C for å avslutte.