Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
MQTT este un protocol de mesagerie standard OASIS pentru Internetul obiectelor (IoT). Este conceput ca un transport de mesagerie de publicare / abonare extrem de ușor, ideal pentru conectarea dispozitivelor la distanță cu o amprentă mică de cod și o lățime de bandă minimă a rețelei. MQTT astăzi este utilizat într-o mare varietate de industrii, cum ar fi industria auto, producția, telecomunicațiile, petrolul și gazele etc.
De ce MQTT: clienții MQTT sunt foarte mici, necesită resurse minime, astfel încât să poată fi folosiți pe microcontrolere mici. Anteturile de mesaje MQTT sunt mici pentru a optimiza lățimea de bandă a rețelei.
Comunicare bidirecțională: MQTT permite trimiterea de mesaje între dispozitiv în cloud și cloud pe dispozitiv. Acest lucru facilitează transmiterea mesajelor către grupuri de lucruri.
Scalați la milioane de lucruri: MQTT poate scala pentru a se conecta cu milioane de dispozitive IoT.
Fiabilitatea livrării mesajelor: este importantă pentru multe cazuri de utilizare IoT. Acesta este motivul pentru care MQTT are 3 niveluri definite de calitate a serviciului:
- 0 - cel mult o dată,
- 1- cel puțin o dată,
- 2 - exact o dată
Suport pentru rețele nesigure: Multe dispozitive IoT se conectează prin rețele celulare nesigure. Asistența MQTT pentru sesiuni persistente reduce timpul de reconectare a clientului cu brokerul.
Securitate activată: MQTT facilitează criptarea mesajelor folosind TLS și autentificarea clienților folosind protocoale moderne de autentificare, cum ar fi OAuth.
Provizii
- NodeMCU ESP8266 (sau) orice altă placă ESP8266 generică
- Înregistrare Ubidots
- Biblioteca de sprijin din GitHub.
- Arduino IDE pentru a încărca codul.
Pasul 1: Configurarea inițială a Arduino IDE
- Descărcați biblioteca UbidotsMQTTESP8266 din GIT Repository
- Deschideți Arduino IDE, navigați la „preferințe” din meniul „fișier”.
- În câmpul de text „Adrese URL de gestionare a plăcilor suplimentare”, lipiți următoarele: https://arduino.esp8266.com/stable/package_esp8266… și apăsați pe Ok pentru a continua.
- Navigați la „Adăugați o bibliotecă. ZIP” din meniul „Sketch> Include Library” și indicați calea fișierului zip descărcat.
- Așteptați dacă IDE nu primește un mesaj: Biblioteca adăugată bibliotecilor dvs. Verificați meniul „Includeți biblioteca”.
- Navigați la „Includeți biblioteca” din „Sketch” și căutați „Ubidots MQTT pentru ESP8266”
Pasul 2: acreditări API Ubidots
Conectați-vă la Ubidots și notați acreditările API. Rețineți că vom avea nevoie doar de valoarea „Jeton implicit”.
Pasul 3: Codul.
#include „UbidotsESPMQTT.h”
#define TOKEN "*********************************************** *** "// Ubidotii tăi TOKEN
#define WIFINAME "*********" // SSID-ul dvs.
#define WIFIPASS "******************" // Wifi Pass
Client Ubidots (TOKEN);
apel invers nul (char * topic, octet * sarcină utilă, lungime int nesemnată)
{
Serial.print („Mesajul a sosit [”);
Serial.print (subiect);
Serial.print ("]");
for (int i = 0; i <lungime; i ++)
{
Serial.print ((char) sarcină utilă );
}
configurare nulă ()
{
client.setDebug (adevărat);
Serial.begin (115200);
client.wifiConnection (WIFINAME, WIFIPASS);
client.begin (callback);
}
bucla nulă ()
{
if (! client.connected ())
{
client.reconnect ();
}
float value1 = analogRead (A0);
client.add ("temperatură", valoare1);
client.ubidotsPublish („dispozitivul meu-nou”);
client.loop ();
}
Notă: Vă rugăm să consultați capturile de ecran pentru o mai bună indentare a liniilor.
Pasul 4: conectați, compilați și încărcați codul.
Nu este timpul să vă conectați NodeMCU ESP8266 la computer / laptop, să identificați portul, să compilați și să încărcați codul.
Vă rugăm să luați ajutorul necesar din capturile de ecran atașate pentru a înțelege mai bine procesul dacă sunteți nou în IDE-ul Arduino.
Pasul 5: Verificarea finală.
Dacă totul merge bine, ar trebui să puteți observa similar cu ceea ce este reprezentat în captura de ecran.
Această linie din codul "client.ubidotsPublish (" dispozitivul meu-nou ");" se publică.
Notă: În cazul în care nimic nu este reprezentat în tabloul de bord Ubodots, se recomandă deconectarea și reconectarea NodeMCU.
Țineți-vă la curent. Încerc să mai postez câteva cu Ubidots & NodeMCU ESP8266.