Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
MQTT je standardní protokol pro zasílání zpráv OASIS pro internet věcí (IoT). Je navržen jako extrémně lehký přenos zpráv publikování/předplatného, který je ideální pro připojení vzdálených zařízení s malou stopou kódu a minimální šířkou pásma sítě. MQTT se dnes používá v celé řadě průmyslových odvětví, jako je automobilový průmysl, výroba, telekomunikace, ropa a plyn atd.
Proč MQTT: Klienti MQTT jsou velmi malí, vyžadují minimální zdroje, takže je lze použít na malých mikrokontrolérech. Hlavičky zpráv MQTT jsou malé, aby optimalizovaly šířku pásma sítě.
Obousměrná komunikace: MQTT umožňuje zasílání zpráv mezi zařízením do cloudu a cloudem do zařízení. To umožňuje snadné vysílání zpráv do skupin věcí.
Škálování na miliony věcí: MQTT lze škálovat a propojit s miliony zařízení IoT.
Spolehlivost doručování zpráv: Je to důležité pro mnoho případů použití IoT. Proto má MQTT 3 definované úrovně kvality služeb:
- 0 - maximálně jednou,
- 1- alespoň jednou,
- 2 - přesně jednou
Podpora nespolehlivých sítí: Mnoho zařízení IoT se připojuje přes nespolehlivé mobilní sítě. Podpora MQTT pro trvalé relace zkracuje čas opětovného připojení klienta k brokerovi.
Zabezpečení povoleno: MQTT usnadňuje šifrování zpráv pomocí TLS a ověřování klientů pomocí moderních ověřovacích protokolů, jako je OAuth.
Zásoby
- NodeMCU ESP8266 (nebo) jakákoli jiná obecná deska ESP8266
- Registrace Ubidots
- Podpora knihovny z GitHubu.
- Arduino IDE k nahrání kódu.
Krok 1: Počáteční nastavení Arduino IDE
- Stáhněte si knihovnu UbidotsMQTTESP8266 z úložiště GIT
- Otevřete Arduino IDE, v nabídce „soubor“přejděte na „předvolby“.
- Do textového pole „Adresy URL dalších správců desek“vložte následující: https://arduino.esp8266.com/stable/package_esp8266… a pokračujte stisknutím tlačítka Ok.
- V nabídce „Skica> Zahrnout knihovnu“přejděte na „Přidat knihovnu. ZIP“a označte cestu ke staženému souboru zip.
- Počkejte, dokud IDE neobdrží zprávu: Knihovna přidána do vašich knihoven. Zkontrolujte nabídku „Zahrnout knihovnu“.
- Přejděte na „Zahrnout knihovnu“ze „Skici“a zkontrolujte „Ubidots MQTT pro ESP8266“
Krok 2: Ubidots API Credentials
Přihlaste se k Ubidots a poznamenejte si pověření API. Vezměte prosím na vědomí, že budeme potřebovat pouze hodnotu „výchozího tokenu“.
Krok 3: Kód.
#include "UbidotsESPMQTT.h"
#define TOKEN "*********************************************************** *** "// Vaše Ubidots TOKEN
#define WIFINAME "*********" // Vaše SSID
#define WIFIPASS "*******************" // Váš Wifi Pass
Klient Ubidots (TOKEN);
neplatné zpětné volání (znak* téma, byte* užitečné zatížení, délka bez znaménka)
{
Serial.print ("Zpráva dorazila [");
Serial.print (téma);
Serial.print ("]");
pro (int i = 0; i <délka; i ++)
{
Serial.print ((char) užitečné zatížení );
}
neplatné nastavení ()
{
client.setDebug (true);
Serial.begin (115200);
client.wifiConnection (WIFINAME, WIFIPASS);
client.begin (zpětné volání);
}
prázdná smyčka ()
{
if (! client.connected ())
{
client.reconnect ();
}
float value1 = analogRead (A0);
client.add ("teplota", hodnota1);
client.ubidotsPublish („moje nové zařízení“);
client.loop ();
}
Poznámka: Pro lepší odsazení řádků se podívejte na snímky obrazovky.
Krok 4: Připojte, kompilujte a nahrajte kód.
Není načase připojit váš NodeMCU ESP8266 k vašemu PC/notebooku, identifikovat jeho port, zkompilovat a nahrát kód.
Vezměte si prosím potřebnou pomoc z přiložených snímků obrazovky, abyste lépe porozuměli postupu, pokud jste v Arduino IDE noví.
Krok 5: Poslední kontrola.
Pokud vše půjde dobře, měli byste být schopni pozorovat podobné tomu, co je znázorněno na snímku obrazovky.
Tento řádek v kódu "client.ubidotsPublish (" my-new-device ");" se zveřejňuje.
Poznámka: V případě, že se na řídicím panelu Ubodots nic nezastupuje, doporučujeme NodeMCU odpojit a znovu připojit.
Zůstaňte naladěni. Snažím se zveřejnit několik dalších s Ubidots & NodeMCU ESP8266.