Inhoudsopgave:

NodeMCU ESP8266 - MQTT - Ubidots - Ajarnpa
NodeMCU ESP8266 - MQTT - Ubidots - Ajarnpa

Video: NodeMCU ESP8266 - MQTT - Ubidots - Ajarnpa

Video: NodeMCU ESP8266 - MQTT - Ubidots - Ajarnpa
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 is een standaard berichtenprotocol van OASIS voor het Internet of Things (IoT). Het is ontworpen als een extreem lichtgewicht publish/subscribe berichtentransport dat ideaal is voor het aansluiten van externe apparaten met een kleine codevoetafdruk en minimale netwerkbandbreedte. MQTT wordt tegenwoordig gebruikt in een groot aantal verschillende industrieën, zoals de auto-industrie, productie, telecommunicatie, olie en gas, enz.

Waarom MQTT: MQTT-clients zijn erg klein, vereisen minimale middelen en kunnen dus op kleine microcontrollers worden gebruikt. MQTT-berichtheaders zijn klein om de netwerkbandbreedte te optimaliseren.

Bidirectionele communicatie: MQTT zorgt voor berichten tussen apparaat naar cloud en cloud naar apparaat. Dit zorgt voor een gemakkelijke uitzending van berichten naar groepen dingen.

Schaal naar miljoenen dingen: MQTT kan worden geschaald om verbinding te maken met miljoenen IoT-apparaten.

Betrouwbaarheid van berichtbezorging: het is belangrijk voor veel IoT-gebruiksscenario's. Dit is de reden waarom MQTT 3 gedefinieerde servicekwaliteitsniveaus heeft:

  • 0 - maximaal één keer,
  • 1- minstens één keer,
  • 2 - precies één keer

Ondersteuning voor onbetrouwbare netwerken: Veel IoT-apparaten maken verbinding via onbetrouwbare mobiele netwerken. De ondersteuning van MQTT voor aanhoudende sessies vermindert de tijd om de klant opnieuw te verbinden met de makelaar.

Beveiliging ingeschakeld: MQTT maakt het gemakkelijk om berichten te versleutelen met TLS en om clients te authenticeren met behulp van moderne authenticatieprotocollen, zoals OAuth.

Benodigdheden

  1. NodeMCU ESP8266 (of) een ander generiek ESP8266-bord
  2. Ubidots-registratie
  3. Ondersteunende bibliotheek van de GitHub.
  4. Arduino IDE om de code te uploaden.

Stap 1: Eerste installatie van Arduino IDE

Eerste installatie van Arduino IDE
Eerste installatie van Arduino IDE
Eerste installatie van Arduino IDE
Eerste installatie van Arduino IDE
Eerste installatie van Arduino IDE
Eerste installatie van Arduino IDE
Eerste installatie van Arduino IDE
Eerste installatie van Arduino IDE
  1. Download de UbidotsMQTTESP8266-bibliotheek van de GIT-repository
  2. Open Arduino IDE, navigeer naar "voorkeuren" in het menu "bestand".
  3. Plak in het tekstveld "Extra Boards Manager-URL's" het volgende: https://arduino.esp8266.com/stable/package_esp8266… & druk op Ok om verder te gaan.
  4. Navigeer naar "ZIP-bibliotheek toevoegen" in het menu "Schets > Bibliotheek opnemen" en geef het pad van het gedownloade zipbestand aan.
  5. Wacht totdat de IDE een bericht ontvangt: Bibliotheek toegevoegd aan uw bibliotheken. Controleer het menu "Bibliotheek opnemen".
  6. Navigeer naar "Bibliotheek opnemen" vanuit "Sketch" en controleer op "Ubidots MQTT voor ESP8266"

Stap 2: Ubidots API-referenties

Ubidots API-referenties
Ubidots API-referenties
Ubidots API-referenties
Ubidots API-referenties
Ubidots API-referenties
Ubidots API-referenties

Log in op Ubidots en noteer de API-referenties. Houd er rekening mee dat we alleen de waarde van de "Default Token" nodig hebben.

Stap 3: De code.

De code.
De code.
De code.
De code.

#include "UbidotsESPMQTT.h"

#define TOKEN "********************************************* ***" // Uw Ubidots-TOKEN

#define WIFINAME "*********" //Uw SSID

#define WIFIPASS "******************" // Uw wifi-pas

Ubidots-client (TOKEN);

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

{

Serial.print("Bericht aangekomen [");

Serial.print(onderwerp);

Serieel.print("] ");

voor (int i=0; i<lengte; i++)

{

Serial.print((char)payload);

}

ongeldige setup()

{

client.setDebug (waar);

Serieel.begin(115200);

client.wifiVerbinding (WIFINAME, WIFIPASS);

cliënt.begin(terugbellen);

}

lege lus()

{

if(!client.verbonden())

{

cliënt.opnieuw verbinden();

}

float-waarde1 = analoog lezen (A0);

client.add ("temperatuur", waarde1);

client.ubidotsPublish("mijn-nieuwe-apparaat");

cliënt.loop();

}

Opmerking: raadpleeg de schermafbeeldingen voor een betere inspringing van de regels.

Stap 4: Verbind, compileer en upload de code.

Verbind, compileer en upload de code.
Verbind, compileer en upload de code.
Verbind, compileer en upload de code.
Verbind, compileer en upload de code.
Verbind, compileer en upload de code.
Verbind, compileer en upload de code.

Het is geen tijd om uw NodeMCU ESP8266 op uw pc/laptop aan te sluiten, de poort te identificeren, de code te compileren en te uploaden.

Neem de nodige hulp van de bijgevoegde schermafbeeldingen om het proces beter te begrijpen als de Arduino IDE nieuw voor u is.

Stap 5: De laatste controle.

De laatste controle.
De laatste controle.

Als alles goed gaat, zou je hetzelfde moeten kunnen zien als wat wordt weergegeven in de schermafbeelding.

Deze regel in de code "client.ubidotsPublish("my-new-device");" wordt gepubliceerd.

Opmerking: als er niets wordt weergegeven in het Ubodots-dashboard, wordt aangeraden om de NodeMCU los te koppelen en opnieuw aan te sluiten.

Houd jezelf op de hoogte. Ik probeer er nog een paar te posten met Ubidots & NodeMCU ESP8266.

Aanbevolen: