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


В этом уроке будет показано базовое использование протокола MQTT на плате NodeMCU. Мы используем MQTTBox в качестве клиента MQTT здесь, и мы будем использовать NodeMCU для выполнения следующих операций:
Публикуйте «hello world» в теме «outTopic» каждые две секунды. Подпишитесь на тему «inTopic», распечатайте все полученные сообщения. Предполагается, что полученные полезные данные являются строками, а не двоичными файлами. Если подписанное сообщение имеет значение «1», зажгите индикатор светодиод на плате. Выключите светодиод на плате, если сообщение о подписке равно «0».
Подготовка: Osoyoo NodeMCU x1
USB-кабель x1
ПК x1
Arduino IDE (Версия 1.6.4+)
Подключите NodeMCU к ПК через USB-кабель.
Шаг 1: установка библиотеки


Установить PubSubClientlibrary
Для связи с брокером MQTT нам необходимо установить библиотеку конечных точек MQTT (PubSubClient). Загрузите библиотеку по следующей ссылке:
Разархивируйте указанный выше файл, переместите распакованную папку в папку библиотеки Arduino IDE.
Откройте Arduino IED, вы можете найти «pubsubclient» в столбце «Примеры».
Установите клиент MQTT:
мы будем использовать MQTTBox в качестве клиента MQTT. пожалуйста, загрузите с:
Шаг 2: Код


откройте Arduino IDE–> Файл–> Пример–> pubsubclient–> mqtt esp8266, вы получите образец кода.
Отредактируйте код, чтобы он соответствовал вашим собственным настройкам WiFi и MQTT, выполнив следующие операции: 1) Конфигурация точки доступа: найдите приведенную ниже строку кода, введите там свой собственный ssid и пароль.
const char * ssid = «your_hotspot_ssid»; const char * password = «your_hotspot_password»;
2) Настройка адреса сервера MQTT, здесь мы используем бесплатный брокер MQTT "broker.mqtt-dashboard.com". Вы можете использовать свой собственный URL-адрес или IP-адрес брокера MQTT, чтобы задать значение выше mqtt_server. Вы также можете использовать какой-нибудь известный бесплатный сервер MQTT для тестирования проекта, например «broker.mqtt-dashboard.com», «iot.eclipse.org» и т. Д.
const char * mqtt_server = «broker.mqtt-dashboard.com»;
3) Настройки клиента MQTT Если вашему брокеру MQTT требуется проверка подлинности идентификатора клиента, имени пользователя и пароля, вам необходимо
изменение
если (client.connect (clientId.c_str ()))
К
if (client.connect (clientId, userName, passWord)) // введите здесь свой clientId / userName / passWord
Если нет, просто оставьте их по умолчанию. После этого выберите соответствующий тип платы и тип порта, как показано ниже, затем загрузите скетч в NodeMCU.
- Плата: «NodeMCU 0.9 (модуль ESP-12)»
- Частота процессора: «80 МГц» Размер флеш-памяти: «4M (3M SPIFFS)»
- Скорость загрузки:”115200 ″
- Порт: выберите собственный последовательный порт для вашего NodeMCU.
Шаг 3. Настройте клиент MQTT (MQTTBOX)




На этом этапе мы покажем, как создать клиент MQTT в MQTTBox.
Откройте свой MQTTBox и нажмите синюю кнопку, чтобы добавить нового клиента MQTT.
Настройте ПАРАМЕТРЫ КЛИЕНТА MQTT, как показано ниже:
- Имя клиента MQTT - выберите любое имя, которое вам нравится
- Протокол - выберите «mqtt / tcp».
- Хост - введите свой «mqtt_server» в этот столбец, убедитесь, что он такой же, как и ваш скетч (здесь мы используем «broker.mqtt-dashboard.com»).
- Оставить другие настройки по умолчанию
- Щелкните, чтобы сохранить изменения.
Затем вы автоматически войдете на новую страницу. Если все вышеупомянутые настройки верны, «Не подключен» изменится на «Подключен», ваше имя клиента MQTT и имя хоста будут отображаться в верхней части этой страницы.
Настройка темы: убедитесь, что тема публикации вашего MQTT-клиента такая же, как и тема подписки на эскиз Arduino (здесь inTopic). Убедитесь, что тема подписки вашего MQTT-клиента такая же, как и тема публикации скетча Arduino (здесь outTopic).
Шаг 4: Результат выполнения программы




После завершения загрузки, если настройки имени и пароля точки доступа Wi-Fi в порядке и брокер MQTT подключен, откройте Serial Monitor, вы увидите сообщение публикации «hello world» на последовательном мониторе.
Затем откройте клиент MQTT и опубликуйте полезную нагрузку «1» в теме, этот NodeMCU получит эти сообщения, подписавшись на «inTopic», и загорится светодиод.
Опубликуйте полезную нагрузку «0» в этой теме, индикатор NodeMCU погаснет.
Рекомендуемые:
Современный и новый и более простой пример шкафчика с матричной клавиатурой Arduino 4x4: 3 шага

Современный и новый и более простой пример шкафчика с матричной клавиатурой Arduino 4x4: еще один пример использования матричной ЖК-клавиатуры 4x4 со схемой I2C
IoT Guru Cloud - пример простой диаграммы: 4 шага

IoT Guru Cloud - простой пример диаграммы: IoT Guru Cloud предоставляет множество серверных сервисов через REST API, и вы можете легко интегрировать эти REST-вызовы на свою веб-страницу. С Highcharts вы можете отображать диаграммы своих измерений просто с помощью вызова AJAX
CircuitPython и TinyLiDAR: простой пример: 3 шага

CircuitPython и TinyLiDAR: простой пример: MicroElectronicDesign tinyLiDAR - это модуль измерения времени пролета (ToF) на основе ST VL53L0X с подключением к шине i2c. Платы микроконтроллеров Adafruit легко подключаются к этому датчику, поскольку они могут передавать данные по протоколу i2c через свой вывод данных
Таймеры 8051 с мигающим светодиодом Пример Часть-1: 3 шага

Таймеры 8051 с мигающим светом. Пример Часть 1: В этом уроке я расскажу вам о том, как использовать таймеры 8051. Здесь мы обсудим таймер 0 в режиме 1. В следующем уроке мы обсудим и другие режимы
Температура HRV до OpenHAB через ESP8266 (пример серийного кода!): 3 шага

Температура HRV для OpenHAB через ESP8266 (пример серийного кода!): HRV - Wireless to OpenHAB Эта инструкция специально предназначена для тех, у кого есть система HRV (вентиляция с рециркуляцией отопления) - хотя части печатной платы, конфигурация openhab или код Arduino (например, чтение Последовательные данные TTL) может быть h