Obsah:

NodeMCU - MQTT Základní příklad: 4 kroky
NodeMCU - MQTT Základní příklad: 4 kroky

Video: NodeMCU - MQTT Základní příklad: 4 kroky

Video: NodeMCU - MQTT Základní příklad: 4 kroky
Video: LinuxDays 2015 - MQTT, protokol pro IoT - Adam Hořčica 2024, Červenec
Anonim
Image
Image

Tato lekce ukáže základní využití protokolu MQTT na desce NodeMCU. MQTTBox zde používáme jako klienta MQTT a NodeMCU použijeme k provedení následujících operací:

Každé dvě sekundy publikujte „ahoj svět“k tématu „outTopic“. Přihlaste se k odběru tématu „inTopic“, vytiskněte si všechny přijaté zprávy. Předpokládá, že přijatá užitečná zatížení jsou řetězce, nikoli binární soubory. Pokud je odebíraná zpráva „1“, rozsviťte integrovaná LED. Vypněte integrovanou LED, pokud je zpráva k odběru „0“.

Příprava: Osoyoo NodeMCU x1

USB kabel x1

PC x1

Arduino IDE (verze 1.6.4+)

Připojte NodeMCU k počítači pomocí kabelu USB.

Krok 1: Instalace knihovny

Instalace knihovny
Instalace knihovny
Instalace knihovny
Instalace knihovny

Nainstalujte PubSubClientlibrary

Ke komunikaci s brokerem MQTT potřebujeme nainstalovat knihovnu koncových bodů MQTT (PubSubClient), stáhněte si knihovnu z následujícího odkazu:

Rozbalte výše uvedený soubor, přesuňte rozbalenou složku do složky knihovny Arduino IDE.

Otevřete Arduino IED, ve sloupci „Příklady“najdete „pubsubclient“.

Nainstalujte klienta MQTT:

použijeme MQTTBox jako klienta MQTT. stáhněte si prosím z:

Krok 2: Kód

Kód
Kód
Kód
Kód

otevřete Arduino IDE–> Soubor–> Příklad–> pubsubclient–> mqtt esp8266, dostanete ukázkový kód.

Upravte kód tak, aby odpovídal vašemu vlastnímu nastavení WiFi a MQTT, následujícími operacemi: 1) Konfigurace hotspotu: Najděte níže řádek kódu, vložte tam svůj vlastní ssid a heslo.

const char* ssid = „your_hotspot_ssid“; const char* heslo = „your_hotspot_password“;

2) Nastavení adresy serveru MQTT, zde používáme bezplatného brokera MQTT „broker.mqtt-dashboard.com“. K nastavení výše hodnoty mqtt_server můžete použít svoji vlastní URL nebo IP adresu brokera MQTT. K testování projektu můžete také použít nějaký slavný bezplatný server MQTT, například „broker.mqtt-dashboard.com“, „iot.eclipse.org“atd.

const char* mqtt_server = „broker.mqtt-dashboard.com“;

3) Nastavení klienta MQTT Pokud váš broker MQTT vyžaduje ověření ID klienta, uživatelského jména a hesla, musíte

změna

if (client.connect (clientId.c_str ()))

Na

if (client.connect (clientId, userName, passWord)) // sem vložte clientId/userName/passWord

Pokud tomu tak není, ponechte je jako výchozí. Poté proveďte výběr odpovídajícího typu desky a typu portu, jak je uvedeno níže, a poté nahrajte skicu na NodeMCU.

  • Deska: „NodeMCU 0.9 (modul ESP-12)“
  • Frekvence CPU: „80MHz“Velikost blesku: „4M (3M SPIFFS)“
  • Rychlost nahrávání: "115200"
  • Port: Vyberte si vlastní sériový port pro váš NodeMCU

Krok 3: Konfigurace klienta MQTT (MQTTBOX)

Konfigurace klienta MQTT (MQTTBOX)
Konfigurace klienta MQTT (MQTTBOX)
Konfigurace klienta MQTT (MQTTBOX)
Konfigurace klienta MQTT (MQTTBOX)
Konfigurace klienta MQTT (MQTTBOX)
Konfigurace klienta MQTT (MQTTBOX)
Konfigurace klienta MQTT (MQTTBOX)
Konfigurace klienta MQTT (MQTTBOX)

V tomto kroku si ukážeme, jak vytvořit klienta MQTT na MQTTBox.

Otevřete svůj MQTTBox a kliknutím na modré tlačítko přidejte nového klienta MQTT.

NASTAVENÍ KLIENTA MQTT nakonfigurujte následujícím způsobem:

  • Jméno klienta MQTT - vyberte libovolné jméno, které se vám líbí
  • Protokol - vyberte „mqtt/tcp“
  • Hostitel - Do tohoto sloupce zadejte svůj „mqtt_server“, ujistěte se, že je stejný jako váš náčrtek. (Zde používáme „broker.mqtt-dashboard.com“)
  • Ponechat ostatní nastavení jako výchozí
  • Kliknutím na uložíte změny.

Poté automaticky zadáte novou stránku. Pokud je výše uvedená konfigurace správná, „Nepřipojeno“se změní na „Připojeno“, v horní části této stránky se zobrazí vaše jméno klienta MQTT a název hostitele.

Nastavení tématu: Ujistěte se, že vaše téma publikování klienta MQTT je stejné jako vaše téma přihlášení k odběru skici Arduino (inTopic zde). Ujistěte se, že vaše téma přihlášení k odběru klienta MQTT je stejné jako téma publikování skici Arduino (outTopic zde).

Krok 4: Výsledek spuštění programu

Výsledek spuštění programu
Výsledek spuštění programu
Výsledek spuštění programu
Výsledek spuštění programu
Výsledek spuštění programu
Výsledek spuštění programu
Výsledek spuštění programu
Výsledek spuštění programu

Po dokončení nahrávání, pokud je název a heslo hotspotu wifi v pořádku a je připojen broker MQTT, otevřete Serial Monitor, na sériovém monitoru se zobrazí zpráva „Hello world“.

Poté otevřete klienta MQTT a publikujte užitečné zatížení „1“k tématu, tento NodeMCU bude přijímat tyto zprávy přihlášením k odběru „inTopic“a LED bude svítit.

Publikovat užitečné zatížení „0“k tomuto tématu, LED dioda NodeMCU zhasne.

Doporučuje: