Inhaltsverzeichnis:

NodeMCU ESP8266 - MQTT - Ubidots - Gunook
NodeMCU ESP8266 - MQTT - Ubidots - Gunook

Video: NodeMCU ESP8266 - MQTT - Ubidots - Gunook

Video: NodeMCU ESP8266 - MQTT - Ubidots - Gunook
Video: MQTT Protocol with NodeMCU ESP8266 Tutorial 2024, November
Anonim
NodeMCU ESP8266 - MQTT - Ubidots
NodeMCU ESP8266 - MQTT - Ubidots
NodeMCU ESP8266 - MQTT - Ubidots
NodeMCU ESP8266 - MQTT - Ubidots
NodeMCU ESP8266 - MQTT - Ubidots
NodeMCU ESP8266 - MQTT - Ubidots

MQTT ist ein OASIS-Standard-Messaging-Protokoll für das Internet der Dinge (IoT). Es ist als extrem leichtgewichtiger Publish/Subscribe-Messaging-Transport konzipiert, der sich ideal für die Verbindung von Remote-Geräten mit geringem Code-Footprint und minimaler Netzwerkbandbreite eignet. MQTT wird heute in einer Vielzahl von Branchen eingesetzt, wie z. B. Automobil, Fertigung, Telekommunikation, Öl und Gas usw.

Warum MQTT: MQTT-Clients sind sehr klein, benötigen nur minimale Ressourcen und können daher auf kleinen Mikrocontrollern verwendet werden. MQTT-Nachrichtenheader sind klein, um die Netzwerkbandbreite zu optimieren.

Bidirektionale Kommunikation: MQTT ermöglicht das Messaging zwischen Gerät zu Cloud und Cloud zu Gerät. Dies erleichtert das Senden von Nachrichten an Gruppen von Dingen.

Skalieren auf Millionen von Dingen: MQTT kann skaliert werden, um eine Verbindung mit Millionen von IoT-Geräten herzustellen.

Zuverlässigkeit der Nachrichtenzustellung: Sie ist für viele IoT-Anwendungsfälle wichtig. Aus diesem Grund hat MQTT 3 definierte Quality of Service Levels:

  • 0 - höchstens einmal,
  • 1- mindestens einmal,
  • 2 - genau einmal

Unterstützung für unzuverlässige Netzwerke: Viele IoT-Geräte verbinden sich über unzuverlässige Mobilfunknetze. Die Unterstützung von MQTT für persistente Sitzungen verkürzt die Zeit, um den Client wieder mit dem Broker zu verbinden.

Security Enabled: MQTT macht es einfach, Nachrichten mit TLS zu verschlüsseln und Clients mit modernen Authentifizierungsprotokollen wie OAuth zu authentifizieren.

Lieferungen

  1. NodeMCU ESP8266 (oder) jedes andere generische ESP8266-Board
  2. Ubidots-Registrierung
  3. Unterstützende Bibliothek von GitHub.
  4. Arduino IDE zum Hochladen des Codes.

Schritt 1: Ersteinrichtung der Arduino IDE

Ersteinrichtung der Arduino-IDE
Ersteinrichtung der Arduino-IDE
Ersteinrichtung der Arduino-IDE
Ersteinrichtung der Arduino-IDE
Ersteinrichtung der Arduino-IDE
Ersteinrichtung der Arduino-IDE
Ersteinrichtung der Arduino-IDE
Ersteinrichtung der Arduino-IDE
  1. Laden Sie die UbidotsMQTTESP8266-Bibliothek aus dem GIT-Repository herunter
  2. Öffnen Sie die Arduino IDE, navigieren Sie im Menü "Datei" zu "Einstellungen".
  3. Fügen Sie im Textfeld "Additional Boards Manager URLs" Folgendes ein: https://arduino.esp8266.com/stable/package_esp8266… & drücken Sie auf Ok, um fortzufahren.
  4. Navigieren Sie im Menü "Skizze > Bibliothek einschließen" zu ". ZIP-Bibliothek hinzufügen" und geben Sie den Pfad der heruntergeladenen ZIP-Datei an.
  5. Warten Sie, bis die IDE eine Meldung erhält: Bibliothek zu Ihren Bibliotheken hinzugefügt. Überprüfen Sie das Menü "Bibliothek einschließen".
  6. Navigieren Sie von "Skizze" zu "Bibliothek einschließen" und suchen Sie nach "Ubidots MQTT for ESP8266".

Schritt 2: Ubidots API-Anmeldeinformationen

Ubidots API-Anmeldeinformationen
Ubidots API-Anmeldeinformationen
Ubidots API-Anmeldeinformationen
Ubidots API-Anmeldeinformationen
Ubidots API-Anmeldeinformationen
Ubidots API-Anmeldeinformationen

Melden Sie sich bei Ubidots an und notieren Sie sich die API-Anmeldeinformationen. Bitte beachten Sie, dass wir nur den Wert des "Default Token" benötigen.

Schritt 3: Der Code.

Der Code.
Der Code.
Der Code.
Der Code.

#include "UbidotsESPMQTT.h"

#define TOKEN "************************************************ ***" // Dein Ubidot-TOKEN

#define WIFINAME "*********" //Deine SSID

#define WIFIPASS "********************" // Dein Wifi Pass

Ubidots-Client (TOKEN);

void callback(char* topic, byte* payload, unsigned int length)

{

Serial.print ("Nachricht angekommen [");

Serial.print (Thema);

Serial.print("]");

für (int i=0; i<Länge; i++)

{

Serial.print ((char)payload);

}

Void-Setup ()

{

client.setDebug(true);

Serial.begin(115200);

client.wifiConnection(WIFINAME, WIFIPASS);

client.begin (Rückruf);

}

Leere Schleife ()

{

if(!client.connected())

{

client.reconnect();

}

Gleitkommawert1 = analogRead(A0);

client.add("Temperatur", Wert1);

client.ubidotsPublish("mein-neues-Gerät");

client.loop();

}

Hinweis: Bitte beachten Sie die Screenshots zur besseren Einrückung der Linien.

Schritt 4: Verbinden, kompilieren und den Code hochladen.

Verbinden, kompilieren und den Code hochladen.
Verbinden, kompilieren und den Code hochladen.
Verbinden, kompilieren und den Code hochladen.
Verbinden, kompilieren und den Code hochladen.
Verbinden, kompilieren und den Code hochladen.
Verbinden, kompilieren und den Code hochladen.

Es ist nicht an der Zeit, Ihren NodeMCU ESP8266 mit Ihrem PC/Laptop zu verbinden, seinen Port zu identifizieren, den Code zu kompilieren und hochzuladen.

Bitte entnehmen Sie den beigefügten Screenshots die notwendige Hilfe, um den Prozess besser zu verstehen, wenn Sie neu in der Arduino IDE sind.

Schritt 5: Der letzte Check.

Der letzte Check.
Der letzte Check.

Wenn alles gut geht, sollten Sie ähnliches beobachten können, wie es im Screenshot dargestellt ist.

Diese Zeile im Code "client.ubidotsPublish("my-new-device");" wird veröffentlicht.

Hinweis: Falls im Ubodots-Dashboard nichts angezeigt wird, wird empfohlen, die NodeMCU zu trennen und erneut zu verbinden.

Bleiben Sie dran. Ich versuche, ein paar mehr mit Ubidots & NodeMCU ESP8266 zu posten.

Empfohlen: