Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Vom configura serverul și clientul MQTT pe Raspberry Pi folosind bibliotecile Mosquitto și paho-mqtt. Vom citi un buton și dacă este apăsat vom comuta LED-ul pe partea Arduino.
În timp ce, pe Arduino vom folosi biblioteca Adafruit MQTT. Vom folosi un senzor precum LDR (Puteți utiliza orice alt senzor), îl vom citi și îl vom publica imediat ce se va schimba în Raspberry Pi.
Avem nevoie:
Raspberry Pi
NodeMCU
Pasul 1: Adăugarea de biblioteci pentru Esp8266
Accesați „Gestionați bibliotecile …” utilizând ID-ul dvs. Arduino și căutați „MQTT” de Adafruit.
După instalarea cu succes, adăugați „MQTT_NodeMCU.ino” de la următorul link:
Cod Arduino
Efectuați următoarele modificări prin înlocuirea ssid-ului wifi, a parolei și a adresei IP RPi.
#define WLAN_SSID "# 397" #define WLAN_PASS "farmhouse397" #define MQTT_SERVER "192.168.0.108" #define "led_pin" #define "sensor_input"
Încărcați schița și deschideți Serial Monitor la 115200
Pasul 2: Instalați MQTT Sever și Client pe Raspberry Pi
Mai întâi, instalați serverul Mosquitto folosind:
sudo apt-get install mosquitto
Instalați Mosquitto Client folosind:
sudo apt-get install mosquitto-clients
Puteți valida instalarea utilizând:
systemctl status mosquitto.service
Acum, vom instala paho-MQTT folosind:
sudo apt-get install python python-pipsudo pip install RPi. GPIO paho-mqtt
Folosiți aceste comenzi pentru a publica -messages from raspberry pi (-hostname) to esp8266-leds (-topic).
mosquitto_pub -h raspberrypi -t "/ leds / esp8266" -m "ON"
mosquitto_pub -h raspberrypi -t "/ leds / esp8266" -m "OFF"
-h ==> numele gazdei ==> raspberrypi (cu excepția cazului în care l-ați schimbat)
-t ==> subiect
-m ==> mesaj
Pasul 3: Rulați Python Script
Puteți descărca MQTT_Pi de la
github.com/anuragvermaa/MQTT_NodeMCU
Dacă totul este în regulă, ar trebui să puteți vedea datele senzorului în terminal.
Apăsați Ctrl + C pentru a ieși.