Мазмуну:

NodeMCU ESP8266 - MQTT - Ubidots: 5 кадам
NodeMCU ESP8266 - MQTT - Ubidots: 5 кадам

Video: NodeMCU ESP8266 - MQTT - Ubidots: 5 кадам

Video: NodeMCU ESP8266 - MQTT - Ubidots: 5 кадам
Video: кулонометр GC97. Доработка для интеграции с Blynk (и/или MQTT) 2024, Ноябрь
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 - бул нерселердин Интернети үчүн OASISтин стандарттуу билдирүү протоколу (IoT). Бул кичинекей коддун изи жана минималдуу тармак өткөрүү жөндөмү менен алыскы түзмөктөрдү туташтыруу үчүн идеалдуу болгон өтө жеңил жарыялоо/жазылуу билдирүү транспорту катары иштелип чыккан. MQTT бүгүнкү күндө автомобиль, өндүрүш, телекоммуникация, мунай жана газ сыяктуу көптөгөн тармактарда колдонулат.

Эмне үчүн MQTT: MQTT кардарлары өтө кичине, минималдуу ресурстарды талап кылат, андыктан чакан микроконтроллерлерде колдонулушу мүмкүн. MQTT билдирүүлөрүнүн аталыштары тармактын өткөрүү жөндөмдүүлүгүн оптималдаштыруу үчүн кичинекей.

Эки багыттуу байланыш: MQTT түзмөккө булуттан түзмөккө билдирүү жөнөтүүгө мүмкүндүк берет. Бул нерселердин топторуна билдирүүлөрдү оңой жеткирүүнү камсыздайт.

Миллиондогон нерселерге масштаб: MQTT миллиондогон IoT түзмөктөрү менен туташуу үчүн масштабдуу боло алат.

Билдирүүлөрдү жеткирүүнүн ишенимдүүлүгү: IoTтин көптөгөн учурлары үчүн маанилүү. Мына ошондуктан MQTTде кызмат көрсөтүүнүн 3 аныкталган сапаты бар:

  • 0 - эң көп дегенде,
  • 1- жок дегенде бир жолу,
  • 2 - так бир жолу

Ишенимсиз тармактарды колдоо: Көптөгөн IoT түзмөктөрү ишенимсиз уюлдук тармактар аркылуу туташат. MQTTдин туруктуу сессияларды колдоосу кардарды брокер менен кайра туташуу убактысын кыскартат.

Коопсуздук иштетилген: MQTT TLS аркылуу билдирүүлөрдү шифрлөөнү жана OAuth сыяктуу заманбап аутентификация протоколдорун колдонуп кардарларды тастыктоону жеңилдетет.

Жабдуулар

  1. NodeMCU ESP8266 (же) башка жалпы ESP8266 тактасы
  2. Ubidots каттоо
  3. GitHubдан китепкананы колдоо.
  4. Кодду жүктөө үчүн Arduino IDE.

1 -кадам: Arduino IDEнин алгачкы орнотулушу

Arduino IDEнин алгачкы орнотулушу
Arduino IDEнин алгачкы орнотулушу
Arduino IDEнин алгачкы орнотулушу
Arduino IDEнин алгачкы орнотулушу
Arduino IDEнин алгачкы орнотулушу
Arduino IDEнин алгачкы орнотулушу
Arduino IDEнин алгачкы орнотулушу
Arduino IDEнин алгачкы орнотулушу
  1. UbitotsMQTTESP8266 китепканасын GIT репозиторийинен жүктөп алыңыз
  2. Arduino IDE ачыңыз, "файл" менюсунан "артыкчылыктарга" өтүңүз.
  3. "Кошумча такталар менеджеринин URL'дери" текст талаасында төмөнкүлөрдү чаптаңыз: https://arduino.esp8266.com/stable/package_esp8266… жана улантуу үчүн Ok баскычын басыңыз.
  4. "Эскиз> Китепкананы кошуу" менюсунан ". ZIP Китепканасын кошууга" өтүңүз жана жүктөлүп алынган ZIP файлынын жолун көрсөтүңүз.
  5. IDEге билдирүү келмейинче күтө туруңуз: Китепкана китепканаларыңызга кошулду. "Китепкананы кошуу" менюну текшериңиз.
  6. "Эскизден" "Китепкананы кошууга" өтүңүз жана "Ubidots MQTT for ESP8266" үчүн текшериңиз

2 -кадам: Ubidots API грамоталары

Ubidots API ишеним каттары
Ubidots API ишеним каттары
Ubidots API ишеним каттары
Ubidots API ишеним каттары
Ubidots API ишеним каттары
Ubidots API ишеним каттары

Ubidotsко кириңиз жана API грамоталарын жазыңыз. Сураныч, бизге "Демейки Токендин" мааниси гана керек болот.

3 -кадам: Кодекс.

Кодекс.
Кодекс.
Кодекс.
Кодекс.

#"UbidotsESPMQTT.h" кошуу

#define TOKEN "****************************************** *** "// Сиздин Ubidots TOKEN

#define WIFINAME "*********" // Сиздин SSID

#define WIFIPASS "******************" // Сиздин Wifi Pass

Ubidots кардары (TOKEN);

кайра чакыруу жок

{

Serial.print ("Билдирүү келди [");

Serial.print (тема);

Serial.print ("]");

үчүн (int i = 0; i <узундугу; i ++)

{

Serial.print ((char) пайдалуу жүк );

}

жараксыз орнотуу ()

{

client.setDebug (чыныгы);

Serial.begin (115200);

client.wifiConnection (WIFINAME, WIFIPASS);

client.begin (кайра чалуу);

}

боштук цикл ()

{

if (! client.connected ())

{

client.reconnect ();

}

float value1 = analogRead (A0);

client.add ("температура", маани1);

client.ubidotsPublish ("менин-жаңы-түзмөк");

client.loop ();

}

Эскертүү: Сызыктардын жакшыраак чегинүүсү үчүн скриншотторго кайрылыңыз.

4 -кадам: туташуу, компиляциялоо жана кодду жүктөө.

Кодду туташуу, компиляциялоо жана жүктөө.
Кодду туташуу, компиляциялоо жана жүктөө.
Кодду туташуу, компиляциялоо жана жүктөө.
Кодду туташуу, компиляциялоо жана жүктөө.
Кодду туташуу, компиляциялоо жана жүктөө.
Кодду туташуу, компиляциялоо жана жүктөө.

NodeMCU ESP8266'ны компьютериңизге/ноутбукка туташтыруунун, анын портун аныктоонун, кодду компиляциялоонун жана жүктөөнүн учуру эмес.

Сураныч, эгер сиз Arduino IDEде жаңы болсоңуз, процессти жакшыраак түшүнүү үчүн тиркелген скриншоттордон керектүү жардамды алыңыз.

5 -кадам: Акыркы текшерүү.

Акыркы текшерүү.
Акыркы текшерүү.

Эгер баары ойдогудай болсо, скриншотто көрсөтүлгөн нерсеге окшош нерсени байкай билишиңиз керек.

Бул код "client.ubidotsPublish (" my-new-device ");" жарыяланат.

Эскертүү: Ubodots тактасында эч нерсе көрсөтүлбөсө, NodeMCUду ажыратып, кайра туташтыруу сунушталат.

Өзүңүздү байкап туруңуз. Мен Ubidots & NodeMCU ESP8266 менен дагы бир нече пост жазууга аракет кылып жатам.

Сунушталууда: