Оглавление:

NodeMCU - Базовый пример MQTT: 4 шага
NodeMCU - Базовый пример MQTT: 4 шага

Видео: NodeMCU - Базовый пример MQTT: 4 шага

Видео: NodeMCU - Базовый пример MQTT: 4 шага
Видео: MQTT Viewer 2024, Июль
Anonim
Image
Image

В этом уроке будет показано базовое использование протокола 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)
Настроить клиент MQTT (MQTTBOX)
Настроить клиент MQTT (MQTTBOX)
Настроить клиент MQTT (MQTTBOX)
Настроить клиент MQTT (MQTTBOX)
Настроить клиент MQTT (MQTTBOX)
Настроить клиент MQTT (MQTTBOX)
Настроить клиент 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 погаснет.

Рекомендуемые: