Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Zamierzamy skonfigurować serwer i klienta MQTT na Raspberry Pi przy użyciu bibliotek Mosquitto i paho-mqtt. Odczytamy przycisk i jeśli zostanie wciśnięty, przełączymy diodę LED po stronie Arduino.
Natomiast na Arduino wykorzystamy bibliotekę Adafruit MQTT. Użyjemy czujnika takiego jak LDR (możesz użyć dowolnego innego czujnika), przeczytamy go i opublikujemy, gdy tylko zmieni się na Raspberry Pi.
Potrzebujemy:
Malina Pi
WęzełMCU
Krok 1: Dodawanie bibliotek dla Esp8266
Przejdź do „Zarządzaj bibliotekami…” za pomocą swojego Arduino IDE i wyszukaj „MQTT” autorstwa Adafruit.
Po udanej instalacji dodaj "MQTT_NodeMCU.ino" z następującego linku:
Kod Arduino
Wprowadź następujące zmiany, zastępując wifi ssid, hasło i adres IP RPi.
#define WLAN_SSID "#397" #define WLAN_PASS "farmhouse397" #define MQTT_SERVER "192.168.0.108" #define "led_pin" #define "sensor_input"
Prześlij szkic i otwórz Serial Monitor na 115200
Krok 2: Zainstaluj serwer i klienta MQTT na Raspberry Pi
Najpierw zainstaluj serwer Mosquitto za pomocą:
sudo apt-get install mosquitto
Zainstaluj klienta Mosquitto za pomocą:
sudo apt-get install mosquitto-clients
Możesz sprawdzić poprawność instalacji, używając:
systemctl status mosquitto.service
Teraz zainstalujemy paho-MQTT za pomocą:
sudo apt-get zainstaluj python python-pipsudo pip zainstaluj RPi. GPIO paho-mqtt
Użyj tych poleceń, aby publikować -wiadomości od raspberry pi (-hostname) do esp8266-leds (-topic).
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "WŁ"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "WYŁ"
-h == > nazwa hosta ==> raspberrypi (chyba że go zmieniłeś)
-t == > temat
-m == > wiadomość
Krok 3: Uruchom skrypt Pythona
Możesz pobrać MQTT_Pi z
github.com/anuragvermaa/MQTT_NodeMCU
Jeśli wszystko jest w porządku, powinieneś być w stanie zobaczyć dane czujnika w terminalu.
Naciśnij Ctrl+C, aby wyjść.