Sommario:

NodeMCU ESP8266 - MQTT - Ubidot: 5 passaggi
NodeMCU ESP8266 - MQTT - Ubidot: 5 passaggi

Video: NodeMCU ESP8266 - MQTT - Ubidot: 5 passaggi

Video: NodeMCU ESP8266 - MQTT - Ubidot: 5 passaggi
Video: Getting Started with MQTT on Arduino Using ESP8266 2024, Novembre
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 è un protocollo di messaggistica standard OASIS per Internet of Things (IoT). È progettato come un trasporto di messaggistica di pubblicazione/sottoscrizione estremamente leggero, ideale per connettere dispositivi remoti con un footprint di codice ridotto e larghezza di banda di rete minima. MQTT oggi è utilizzato in un'ampia varietà di settori, come quello automobilistico, manifatturiero, delle telecomunicazioni, del petrolio e del gas, ecc.

Perché MQTT: I client MQTT sono molto piccoli, richiedono risorse minime, quindi possono essere utilizzati su piccoli microcontrollori. Le intestazioni dei messaggi MQTT sono piccole per ottimizzare la larghezza di banda della rete.

Comunicazione bidirezionale: MQTT consente la messaggistica tra dispositivo e cloud e tra cloud e dispositivo. Ciò semplifica la trasmissione di messaggi a gruppi di cose.

Scala fino a milioni di cose: MQTT può scalare per connettersi con milioni di dispositivi IoT.

Affidabilità della consegna dei messaggi: è importante per molti casi d'uso IoT. Questo è il motivo per cui MQTT ha 3 livelli di qualità del servizio definiti:

  • 0 - al massimo una volta,
  • 1- almeno una volta,
  • 2 - esattamente una volta

Supporto per reti inaffidabili: molti dispositivi IoT si connettono su reti cellulari inaffidabili. Il supporto di MQTT per le sessioni persistenti riduce il tempo necessario per ricollegare il client al broker.

Sicurezza abilitata: MQTT semplifica la crittografia dei messaggi utilizzando TLS e l'autenticazione dei client utilizzando i moderni protocolli di autenticazione, come OAuth.

Forniture

  1. NodeMCU ESP8266 (o) qualsiasi altra scheda ESP8266 generica
  2. Registrazione Ubidot
  3. Libreria di supporto da GitHub.
  4. Arduino IDE per caricare il codice.

Passaggio 1: configurazione iniziale dell'IDE Arduino

Configurazione iniziale dell'IDE Arduino
Configurazione iniziale dell'IDE Arduino
Configurazione iniziale dell'IDE Arduino
Configurazione iniziale dell'IDE Arduino
Configurazione iniziale dell'IDE Arduino
Configurazione iniziale dell'IDE Arduino
Configurazione iniziale dell'IDE Arduino
Configurazione iniziale dell'IDE Arduino
  1. Scarica la libreria UbidotsMQTTESP8266 dal repository GIT
  2. Apri Arduino IDE, vai a "preferenze" dal menu "file".
  3. Nel campo di testo "Ulteriori URL di Boards Manager", incolla quanto segue: https://arduino.esp8266.com/stable/package_esp8266… e premi Ok per procedere.
  4. Passare a "Aggiungi libreria. ZIP" dal menu "Schizzo > Includi libreria" e indicare il percorso del file zip scaricato.
  5. Attendi a meno che l'IDE non riceva un messaggio: Libreria aggiunta alle tue librerie. Controlla il menu "Includi libreria".
  6. Passa a "Includi libreria" da "Sketch" e controlla "Ubidots MQTT per ESP8266"

Passaggio 2: credenziali API Ubidots

Credenziali API Ubidots
Credenziali API Ubidots
Credenziali API Ubidots
Credenziali API Ubidots
Credenziali API Ubidots
Credenziali API Ubidots

Accedi a Ubidots e prendi nota delle credenziali API. Tieni presente che avremo bisogno solo del valore del "Token predefinito".

Passaggio 3: il codice.

Il codice.
Il codice.
Il codice.
Il codice.

#include "UbidotsESPMQTT.h"

#define TOKEN "************************************************** ***" // Il tuo TOKEN Ubidots

#define WIFINAME "**********" //Il tuo SSID

#define WIFIPASS "******************" // Il tuo Pass Wifi

Cliente Ubidots (TOKEN);

void callback (char* argomento, byte* payload, lunghezza int senza segno)

{

Serial.print("Messaggio arrivato [");

Serial.print(argomento);

Serial.print("] ");

for (int i=0; i<lunghezza; i++)

{

Serial.print((char)payload);

}

configurazione nulla()

{

client.setDebug(true);

Serial.begin(115200);

client.wifiConnection(WIFINAME, WIFIPASS);

client.begin(richiamata);

}

ciclo vuoto()

{

if(!client.connected())

{

client.reconnect();

}

valore float1 = analogRead(A0);

client.add("temperatura", valore1);

client.ubidotsPublish("mio-nuovo-dispositivo");

client.loop();

}

Nota: fare riferimento agli screenshot per una migliore indentazione delle linee.

Passaggio 4: collega, compila e carica il codice.

Connetti, compila e carica il codice.
Connetti, compila e carica il codice.
Connetti, compila e carica il codice.
Connetti, compila e carica il codice.
Connetti, compila e carica il codice.
Connetti, compila e carica il codice.

Non è il momento di connettere il tuo NodeMCU ESP8266 al tuo PC/Laptop, identificarne la porta, compilare e caricare il codice.

Si prega di prendere l'aiuto necessario dagli screenshot allegati per comprendere meglio il processo se si è nuovi nell'IDE Arduino.

Passaggio 5: il controllo finale.

Il controllo finale.
Il controllo finale.

Se tutto va bene, dovresti essere in grado di osservare qualcosa di simile a quanto rappresentato nello screenshot.

Questa riga nel codice "client.ubidotsPublish("my-new-device");" viene pubblicato.

Nota: nel caso in cui nulla venga rappresentato nella dashboard di Ubodots, si consiglia di disconnettere e riconnettere il NodeMCU.

Tenetevi sintonizzati. Sto cercando di pubblicarne altri con Ubidots e NodeMCU ESP8266.

Consigliato: