Spisu treści:
- Krok 1: Instalacja biblioteki
- Krok 2: Kod
- Krok 3: Skonfiguruj klienta MQTT (MQTTBOX)
- Krok 4: Wynik działania programu
Wideo: NodeMCU - Podstawowy przykład MQTT: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Ta lekcja pokaże podstawowe użycie protokołu MQTT na płycie NodeMCU. Używamy tutaj MQTTBox jako klienta MQTT i użyjemy NodeMCU do wykonania następujących operacji:
Publikuj „hello world” w temacie „outTopic” co dwie sekundy. Zasubskrybuj temat „inTopic”, wydrukuj wszystkie odebrane wiadomości. Zakłada się, że odebrane ładunki są ciągami, a nie plikami binarnymi. Jeśli subskrybowana wiadomość ma wartość „1”, podświetl Onboards LED. Wyłącz zintegrowaną diodę LED, jeśli wiadomość do zasubskrybowania ma wartość „0”.
Przygotowanie:Osoyoo NodeMCU x1
Kabel USB x1
Komputer x1
Arduino IDE (wersja 1.6.4+)
Podłącz NodeMCU do komputera za pomocą kabla USB.
Krok 1: Instalacja biblioteki
Zainstaluj PubSubClientlibrary
Musimy zainstalować bibliotekę punktów końcowych MQTT (PubSubClient) do komunikacji z brokerem MQTT, pobierz bibliotekę z następującego linku:
Rozpakuj powyższy plik, przenieś rozpakowany folder do folderu biblioteki Arduino IDE.
Otwórz Arduino IED, możesz znaleźć „pubsubclient” w kolumnie „Przykłady”.
Zainstaluj klienta MQTT:
użyjemy MQTTBox jako klienta MQTT. proszę pobrać z:
Krok 2: Kod
otwórz Arduino IDE–>Plik–>Przykład–>pubsubclient–>mqtt esp8266, otrzymasz przykładowy kod.
Edytuj kod, aby dopasować go do własnych ustawień Wi-Fi i MQTT, wykonując następujące operacje: 1) Konfiguracja Hotspot: Znajdź poniżej linię kodu, umieść tam swój własny identyfikator SSID i hasło.
const char* ssid = “your_hotspot_ssid”;const char* password = “your_hotspot_password”;
2) Ustawienie adresu serwera MQTT, tutaj używamy bezpłatnego brokera MQTT "broker.mqtt-dashboard.com". Możesz użyć własnego adresu URL brokera MQTT lub adresu IP, aby ustawić powyżej wartość mqtt_server. Możesz także użyć jakiegoś słynnego darmowego serwera MQTT do przetestowania projektu, takiego jak „broker.mqtt-dashboard.com”, „iot.eclipse.org” itp.
const char* mqtt_server = “broker.mqtt-dashboard.com”;
3) Ustawienia klienta MQTTJeśli Twój broker MQTT wymaga uwierzytelnienia identyfikatora klienta, nazwy użytkownika i hasła, musisz:
reszta
if (client.connect(clientId.c_str()))
Do
if (client.connect(clientId, userName, passWord)) //wstaw tutaj swój ClientId/userName/passWord
Jeśli nie, po prostu zachowaj je jako domyślne. Następnie wybierz odpowiedni typ płyty i typ portu, jak poniżej, a następnie prześlij szkic do NodeMCU.
- Płytka:”NodeMCU 0.9 (moduł ESP-12)”
- Częstotliwość procesora:”80MHz”Rozmiar lampy błyskowej:”4M (3M SPIFFS)”
- Szybkość przesyłania: „115200”
- Port: wybierz własny port szeregowy dla swojego NodeMCU
Krok 3: Skonfiguruj klienta MQTT (MQTTBOX)
W tym kroku pokażemy, jak utworzyć klienta MQTT na MQTTBox.
Otwórz swój MQTTBox i kliknij niebieski przycisk, aby dodać nowego klienta MQTT.
Skonfiguruj USTAWIENIA KLIENTA MQTT jak poniżej:
- Nazwa klienta MQTT - wybierz dowolną nazwę
- Protokół - wybierz „mqtt/tcp”
- Host - Wpisz swój „mqtt_server” w tej kolumnie, upewnij się, że jest taki sam jak twój szkic. (Używamy tutaj „broker.mqtt-dashboard.com”)
- Zachowaj inne ustawienia jako domyślne
- Kliknij, aby zapisać zmiany.
Następnie automatycznie wejdziesz na nową stronę. Jeśli wszystkie powyższe konfiguracje są poprawne, „Nie połączono” zmieni się na „Połączono”, a nazwa klienta MQTT i nazwa hosta zostaną wyświetlone na górze tej strony.
Ustawienie tematu:Upewnij się, że temat publikowania klienta MQTT jest taki sam, jak temat subskrybowanego szkicu Arduino(inTopic here). Upewnij się, że temat subskrypcji klienta MQTT jest taki sam, jak temat publikacji szkicu Arduino (outTopic here).
Krok 4: Wynik działania programu
Po zakończeniu przesyłania, jeśli nazwa hotspotu Wi-Fi i ustawienie hasła są w porządku, a broker MQTT jest podłączony, otwórz Monitor szeregowy, na monitorze szeregowym zobaczysz komunikat „hello world”.
Następnie otwórz klienta MQTT i opublikuj ładunek „1” w temacie, to NodeMCU odbierze te wiadomości, subskrybując „inTopic”, a dioda LED zaświeci się.
Opublikuj ładunek „0” w tym temacie, dioda NodeMCU zostanie wyłączona.
Zalecana:
Nowoczesny i nowy i łatwiejszy przykład szafki z klawiaturą Arduino Matrix 4x4: 3 kroki
Nowoczesny i nowy i łatwiejszy przykład szafki z klawiaturą Arduino Matrix 4x4: Kolejny przykład użycia matrycy klawiatury LCD 4x4 z obwodem I2C
Chmura IoT Guru - przykład prostego wykresu: 4 kroki
Chmura IoT Guru - prosty wykres Przykład: Chmura IoT Guru zapewnia szereg usług zaplecza za pośrednictwem interfejsu API REST i możesz łatwo zintegrować te wywołania REST ze swoją stroną internetową. Dzięki Highcharts możesz wyświetlać wykresy swojego pomiaru po prostu za pomocą wywołania AJAX
CircuitPython i TinyLiDAR: Prosty przykład: 3 kroki
CircuitPython i TinyLiDAR: Prosty przykład: MicroElectronicDesign tinyLiDAR to oparty na ST VL53L0X moduł pomiaru czasu przelotu (ToF) z połączeniem magistrali i2c. Płytki mikrokontrolera Adafruit można łatwo podłączyć do tego czujnika, ponieważ mogą one wypowiadać protokół i2c przez ich pin danych
Timery 8051 z migającą diodą Przykład Część 1: 3 kroki
Zegary 8051 z migającą diodą Przykład Część 1: W tym samouczku opowiem Ci, jak ustawić zegary 8051. Tutaj omówimy zegar 0 w trybie 1. W następnym samouczku omówimy również inne tryby
Temperatura HRV do OpenHAB przez ESP8266 (przykład kodu seryjnego!): 3 kroki
Temperatura HRV do OpenHAB przez ESP8266 (przykład kodu seryjnego!): HRV - Wireless to OpenHAB Ta instrukcja jest przeznaczona specjalnie dla tych, którzy mają system HRV (recyrkulacja ogrzewania) - chociaż części płytki drukowanej, konfiguracja Openhab lub kod Arduino (takie jak odczyt dane szeregowe TTL) może być h