Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Postavit ćemo MQTT server i klijenta na Raspberry Pi koristeći Mosquitto i paho-mqtt biblioteke. Pročitat ćemo dugme, a ako se pritisne, uključit ćemo / isključiti LED na Arduino strani.
Dok ćemo na Arduinu koristiti Adafruit MQTT biblioteku. Koristit ćemo senzor poput LDR -a (možete koristiti bilo koji drugi senzor), pročitati ga i objaviti čim se promijeni u Raspberry Pi.
Trebamo:
Raspberry Pi
NodeMCU
Korak 1: Dodavanje biblioteka za Esp8266
Idite na "Upravljanje bibliotekama …" koristeći svoj Arduino IDE i potražite "MQTT" od Adafruit -a.
Nakon uspješne instalacije, dodajte "MQTT_NodeMCU.ino" sa sljedeće veze:
Arduino kod
Napravite sljedeće promjene zamjenom wifi ssid -a, lozinke i RPi IP adrese.
#define WLAN_SSID " #397" #define WLAN_PASS "farmhouse397" #define MQTT_SERVER "192.168.0.108" #define "led_pin" #define "sensor_input"
Otpremite skicu i otvorite Serijski monitor na 115200
Korak 2: Instalirajte MQTT Sever i klijenta na Raspberry Pi
Prvo instalirajte Mosquitto server koristeći:
sudo apt-get install mosquitto
Instalirajte Mosquitto Client koristeći:
sudo apt-get install mosquitto-clients
Instalaciju možete potvrditi pomoću:
systemctl status mosquitto.service
Sada ćemo instalirati paho-MQTT koristeći:
sudo apt-get install python python-pipsudo pip install RPi. GPIO paho-mqtt
Koristite ove naredbe za objavljivanje -poruka od maline pi (-naziv) do esp8266-leds (-topic).
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "ON"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "OFF"
-h ==> naziv hosta ==> raspberrypi (osim ako ste ga promijenili)
-t ==> tema
-m ==> poruka
Korak 3: Pokrenite Python Script
MQTT_Pi možete preuzeti sa
github.com/anuragvermaa/MQTT_NodeMCU
Ako je sve u redu, trebali biste moći vidjeti podatke senzora u terminalu.
Pritisnite Ctrl+C za izlaz.