Клиент протокола MQTT. Двухсторонний обмен данными. Управление модулем. Не требуется "белый" IP адрес для управления. Для ESP8266 noOS рекомендуемый SDK 1.5.1 и выше, если имеются проблемы со связью.
Данная опция отправляет каждую метрику в отдельном топике, если вам требуется json формат ,то вместо этой опции включаем опцию MQTT JSON.
MQTT (Message Queue Telemetry Transport) - упрощённый сетевой протокол, работающий поверх TCP/IP. Используется для обмена сообщениями между устройствами по принципу издатель-подписчик.
Информация на брокере MQTT публикуется в элементах-топиках, которые в простейшем виде имеют вид login/hostname/метрика,
где:
login- логин или emal, который используется для доступа к MQTT брокеру(серверу). Указывается на вкладке настроек Servers. Там же указывается пароль, если он требуется
hostname - имя модуля, настраивается на вкладке настроек Main.
метрика - имя датчика или устройства, а так же номер GPIO.
Пример: mylogin/dacha/dsw3 - в этом топике публикуются показания третьего датчика DS18b20 с модуля с именем dacha, который использует логин mylogin для публикации на брокере.
Важно: В адресе топика в MQTT нет корневого слэша, то есть всегда пишется login/hostname/sensor, а не /login/hostname/sensor
Нельзя называть модуль (hostname) русскими буквами - иначе возможны проблемы в работе MQTT.
Пример ввода адреса: 192.168.1.100 , или mqtt.wifi-iot.com .
Данная опция использует mqtt из SDK. Опция поддерживает несколько вариантов подключения. Требуется указывать префикс перед адресом:
mqtt:// - стандартное подключение
ws:// - websocket режим.
mqtts:// - стандартное подключение, но с ssl
wss:// -websocket режим, но с ssl
Пример mqtt://mqtt.wifi-iot.com или ws://mqtt.wifi-iot.com для websocket режима
SSL должен поддерживается сервером. Обычно для него используется отдельный порт.
Возможна работа через сертификаты TLS, загружаемые из SPIFFS, но функция не активирована.
для ESP8266 noOS
для ESP32/ESP8266RTOS
Дополнительный буфер MQTT - необходимо установить объем памяти зарезервированный под MQTT в случае, если не все метрики видно на брокере. Расчет примерно 50 байт на каждую метрику. Опция уменьшает размер свободного ОЗУ модуля. Конструктор прошивки автоматически рассчитывает размер буфера, но иногда его может не хватать (для ESP8266(NoOS)).
Отдельный топик на запись - добавляет ко всем топикам на запись путь set. Пример: login/hostname/set/gpio5 - для записи, login/hostname/gpio5 - для чтения. Во избежание срабатывания от эхо - рекомендуемая опция. Без включенной опции метрики и на запись и чтение будут вида login/hostname/gpio5
Retain на все - все топики модуля будут иметь флаг retain , все подключаемые клиенты будут получать значения топиков сразу при подключении.
Длинный пароль - это исправление для увеличения размера поля для пароля больше 10 символов для ESP8266(NoOS). "Ломает" все настройки, если изначально не была включена опция NVS.
Свой корневой топик - вместо login/hostname/sensor (описанного в данной документации) будет использоваться путь свой_текст/sensor, который установлен в настройках модуля на вкладке Servers. Можно делать вложенные топики. Длина до 63 символов.
Статус подключения MQTT
На сервисной вкладке http://[ip_adr]/debug можно узнать статус подключения к серверу MQTT.
Пример: MQTT IP: 192.81.221.198 State: 15 / Errors: 1
Что значит модуль подключен к серверу IP адресом 192.81.221.198. Статус подключения 15, количество переподключений - 1.
Статус может принимать несколько вариантов:
15 - подключение успешно. Данные должны передаваться.
6 - ошибка, возможно не верный логин/пароль.
7,8 - ошибка подключения, сбой, исправляется обычно перезагрузкой модуля. Редкая проблема, но бывает, например, если сервер отключался.
Отображает счетчик переподключений и текущее состояние подключения.
В Free варианте нельзя управлять устройством, интервал отправки фиксирован на 600 секундах.
Ограничение длины поля логина у ESP8266(NoOS)- 20 символов, пароля - 10 символов. В данный момент увеличить длину пароля можно через дополнительную настройку в шестеренке опции, но это испортит настройки модуля из-за смещения структуры параметров если не используется опция NVS2.
При изменении настроек MQTT сервера, логина, пароля или имени устройства рекомендуется перезагрузка устройства.
VDD у ESP8266 не передается.
В safe mode у ESP8266(noOS) MQTT не работает.
login/hostname/[set/]system/restart - перезапуск модуля.
login/hostname/[set/]system/upd - обновление по OTA.
login/hostname/[set/]system/aupd - обновление по Auto OTA.
В данные топики нужно отправить цифру 1.
set/ добавляется (без скобок), если включены отдельные топики на запись.
Для работы с Home Assistant(HA) требуется включить в шестеренке опции соответствующую галку.
Требуется указать в настройках модуля ip адрес HA, логин и пароль созданного пользователя. Перезагрузить после настройки через 10 секунд.
Устройство обязательно должно быть названо только английскими буквам, никаких русских букв !
После запуска модуля в течении 30 секунд в системе Home Assistant должны появится все метрики. После добавления датчиков/GPIO для их появления в HA требуется так же перезагрузка модуля.
Для ESP8266 noOS: если видно не все метрики, то рекомендуется увеличить размер буфера в шестеренке опции, например на 1024 байта.
Поддерживаемые типы данных: датчики, GPIO на вход/выход, камера.
Это надстройка включается в шестеренке опции установкой количества необходимых метрик. Установка значения в ноль выключает эту опцию.
Предназначена для чтения значений числового топика с других устройств. Это альтернатива D2D , позволяющая читать данные даже не находящихся в одной локальной сети модулей.
Для приема метрик необходимо на вкладке MQTT GET веб интерфейса указать полный путь топика к необходимым данным, а так же таймаут(интервал) , при котором будет считаться, что данные не дошли, максимальное время 2550 сек. Метрики опции доступны стандартно в системах модуля (см вкладку Metrics).
Опция при установленном большом количестве метрик занимает достаточно много ресурсов модуля, особенно ОЗУ. Не стоит устанавливать количество метрик с большим запасом.
clusterfly.ru - бесплатный брокер. Группа Телеграм https://t.me/clusterfly_ru
wqtt.ru - платный брокер, поддержка управления через Алису. Группа Телеграм https://t.me/wqtt_ru
dealgate.ru - бесплатный брокер, поддержка управления через Алису и WhatsApp. Поддержка сценариев.
При проблемах в работе данных сервисов необходимо обращаться в их поддержку, проект wifi-iot не имеет к ним отношения. Перед обращением убедитесь, что логин, пароль и другие параметры введены верно и на модуле доступен интернет.
Android приложения, совместимые с проектом:
Mqtt IoT - Автор Dolfik. WIKI.
MQTT Dash - Автор Routix.
Linear MQTT Dashboard - Автор Ravend. WIKI.
Внимание ! Имена некоторых метрик поменялись с 6.02.21 !! Новые имена можно посмотреть на вкладке Metrics на самом модуле.
Текущие топики можно посмотреть, подписавшись на все топики login/hostname/#