
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04



MQTT - это стандартный протокол обмена сообщениями OASIS для Интернета вещей (IoT). Он разработан как чрезвычайно легкий транспорт для обмена сообщениями публикации / подписки, который идеально подходит для подключения удаленных устройств с небольшим объемом кода и минимальной пропускной способностью сети. Сегодня MQTT используется в самых разных отраслях, таких как автомобилестроение, производство, телекоммуникации, нефть и газ и т. Д.
Почему MQTT: клиенты MQTT очень маленькие, требуют минимальных ресурсов, поэтому могут использоваться на небольших микроконтроллерах. Заголовки сообщений MQTT небольшие для оптимизации пропускной способности сети.
Двунаправленная связь: MQTT позволяет обмениваться сообщениями между устройством в облако и из облака в устройство. Это упрощает рассылку сообщений группам вещей.
Масштабирование до миллионов вещей: MQTT можно масштабировать для подключения к миллионам устройств IoT.
Надежность доставки сообщений: это важно для многих случаев использования Интернета вещей. Вот почему MQTT имеет 3 определенных уровня качества обслуживания:
- 0 - не более одного раза,
- 1- хотя бы один раз,
- 2 - ровно один раз
Поддержка ненадежных сетей: многие устройства Интернета вещей подключаются через ненадежные сотовые сети. Поддержка постоянных сеансов в MQTT сокращает время на повторное подключение клиента к брокеру.
Включена безопасность: MQTT упрощает шифрование сообщений с использованием TLS и аутентификацию клиентов с использованием современных протоколов аутентификации, таких как OAuth.
Запасы
- NodeMCU ESP8266 (или) любая другая универсальная плата ESP8266
- Регистрация Ubidots
- Вспомогательная библиотека из GitHub.
- Arduino IDE для загрузки кода.
Шаг 1: Начальная установка Arduino IDE




- Загрузите библиотеку UbidotsMQTTESP8266 из репозитория GIT
- Откройте Arduino IDE, перейдите к «настройкам» из меню «файл».
- В текстовое поле «Дополнительные URL-адреса диспетчера плат» вставьте следующее: https://arduino.esp8266.com/stable/package_esp8266… и нажмите ОК, чтобы продолжить.
- Перейдите к «Добавить. ZIP-библиотеку» из меню «Скетч> Включить библиотеку» и укажите путь к загруженному zip-файлу.
- Подождите, пока IDE не получит сообщение: Библиотека добавлена в ваши библиотеки. Проверьте меню «Включить библиотеку».
- Перейдите к «Включить библиотеку» из «Эскиза» и проверьте «Ubidots MQTT для ESP8266».
Шаг 2. Учетные данные API Ubidots



Войдите в Ubidots и запишите учетные данные API. Обратите внимание, что нам понадобится только значение «Токена по умолчанию».
Шаг 3: Код.


#include "UbidotsESPMQTT.h"
#define TOKEN "********************************************* *** "// Ваш ТОКЕН Ubidots
#define WIFINAME "*********" // Ваш SSID
#define WIFIPASS "******************" // Ваш пропуск Wi-Fi
Клиент Ubidots (ТОКЕН);
void callback (char * topic, byte * payload, unsigned int length)
{
Serial.print ("Сообщение пришло [");
Serial.print (тема);
Serial.print ("]");
для (int i = 0; i <length; i ++)
{
Serial.print ((char) payload );
}
установка void ()
{
client.setDebug (правда);
Serial.begin (115200);
client.wifiConnection (WIFINAME, WIFIPASS);
client.begin (обратный вызов);
}
пустой цикл ()
{
если (! client.connected ())
{
client.reconnect ();
}
значение с плавающей запятой1 = 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.
Рекомендуемые:
Как подключить NodeMCU ESP8266 к базе данных MySQL: 7 шагов

Как подключить NodeMCU ESP8266 к базе данных MySQL: MySQL - это широко используемая система управления реляционными базами данных (СУБД), в которой используется язык структурированных запросов (SQL). В какой-то момент вы можете захотеть загрузить данные датчика Arduino / NodeMCU в базу данных MySQL. В этом руководстве мы увидим, как подключиться
NodeMcu ESP8266 Первая установка с Arduino IDE: 10 шагов

NodeMcu ESP8266 Первая установка с Arduino IDE: я делаю устройства, управляемые Twitch; кастомные консоли, контроллеры и прочие новинки! Прямые трансляции проходят каждую среду и субботу в 21:00 по восточному стандартному времени на https://www.twitch.tv/noycebru, основные моменты на TikTok @noycebru, а обучающие программы можно посмотреть на YouT
Дисплей с датчиком CO2 Plug & Play с NodeMCU / ESP8266 для школ, детских садов или вашего дома: 7 шагов

Дисплей с датчиком CO2 Plug & Play с NodeMCU / ESP8266 для школ, детских садов или вашего дома: я собираюсь показать вам, как быстро построить plug & play датчик СО2, где все элементы проекта будут соединены проводами DuPont. Остается только 5 точек, которые нужно припаять, потому что до этого проекта я вообще не паял
Получение времени из Интернета с помощью ESP8266 - Проект часов NTP с ESP8266 Nodemcu: 5 шагов

Получение времени из Интернета с помощью ESP8266 | Проект часов NTP с ESP8266 Nodemcu: в этом руководстве мы увидим, как узнать время с помощью ESP8266 / nodemcu с Arduino IDE. Определение времени особенно полезно при регистрации данных для отметки времени ваших показаний. Если ваш проект ESP8266 имеет доступ к Интернету, вы можете получить время с помощью Network T
ESP8266 NODEMCU BLYNK IOT Tutorial - Esp8266 IOT с использованием Blunk и Arduino IDE - Управление светодиодами через Интернет: 6 шагов

ESP8266 NODEMCU BLYNK IOT Tutorial | Esp8266 IOT с использованием Blunk и Arduino IDE | Управление светодиодами через Интернет: Привет, ребята, в этой инструкции мы узнаем, как использовать IOT с нашим ESP8266 или Nodemcu. Для этого мы будем использовать приложение blynk. Таким образом, мы будем использовать наш esp8266 / nodemcu для управления светодиодами через Интернет. Таким образом, приложение Blynk будет подключено к нашему esp8266 или Nodemcu