Spisu treści:

NodeMCU - Podstawowy przykład MQTT: 4 kroki
NodeMCU - Podstawowy przykład MQTT: 4 kroki

Wideo: NodeMCU - Podstawowy przykład MQTT: 4 kroki

Wideo: NodeMCU - Podstawowy przykład MQTT: 4 kroki
Wideo: MQTT mosquitto raspberry pi + konfiguracja Sonoff 2024, Listopad
Anonim
Image
Image

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

Instalacja biblioteki
Instalacja biblioteki
Instalacja biblioteki
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

Kod
Kod
Kod
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)

Skonfiguruj klienta MQTT (MQTTBOX)
Skonfiguruj klienta MQTT (MQTTBOX)
Skonfiguruj klienta MQTT (MQTTBOX)
Skonfiguruj klienta MQTT (MQTTBOX)
Skonfiguruj klienta MQTT (MQTTBOX)
Skonfiguruj klienta MQTT (MQTTBOX)
Skonfiguruj klienta MQTT (MQTTBOX)
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

Wynik działania programu
Wynik działania programu
Wynik działania programu
Wynik działania programu
Wynik działania programu
Wynik działania programu
Wynik działania programu
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: