Клиент протокола MQTT. Двухсторонний обмен данными. Управление модулем. Не требуется "белый" IP адрес для управления. Для ESP8266 рекомендуемый SDK 1.5.1 и выше, если имеются проблемы со связью.
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.
для ESP8266
для ESP32/ESP8266RTOS
MQTT Lite Mode - короткие топики, без включенной настройки топики будут иметь более длинный вид с текстом login/hostname/sensors/xxx и login/hostname/gpio/xxx
fix 2.05.16 - исправление для стабильности работы MQTT (для ESP8266).
Дополнительный буфер MQTT - необходимо установить объем памяти зарезервированный под MQTT в случае, если не все метрики видно на брокере. Расчет примерно 50 байт на каждую метрику. Опция уменьшает размер свободного ОЗУ модуля. Конструктор прошивки автоматически рассчитывает размер буфера, но иногда его может не хватать (для ESP8266).
Отдельный топик на запись - login/hostname/set/output5 - для записи, login/hostname/output5 - для чтения. Во избежание срабатывания от эхо - рекомендуемая опция.
Свой корневой топик - вместо login/hostname/sensor (описанного в данной документации) будет использоваться путь свой_текст/sensor, который установлен в настройках модуля. Можно делать вложенные топики. Длина до 63 символов.
Данная опция использует mqtt из SDK. Опция поддерживает несколько вариантов подключения. Требуется указывать префикс перед адресом:
mqtt:// - стандартное подключение
ws:// - websocket режим.
mqtts:// - стандартное подключение, но с ssl (не протестировано)
wss:// -websocket режим, но с ssl (не протестировано)
Пример mqtt://mqtt.wifi-iot.com или ws://mqtt.wifi-iot.com для websocket режима
SSL должен поддерживается сервером. Обычно для него используется отдельный порт.
Возможна работа через сертификаты TLS, загружаемые из SPIFFS, но функция не активирована.
Статус подключения 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- 20 символов, пароля - 10 символов. В данный момент увеличить длину пароля можно через дополнительную настройку в шестеренке опции, но это испортит настройки модуля из-за смещения структуры параметров если не используется опция NVS2.
При изменении настроек MQTT сервера, логина, пароля или имени устройства рекомендуется перезагрузка устройства.
VDD у ESP8266 не передается.
В safe mode у ESP8266 MQTT не работает.
login/hostname/system/restart - перезапуск модуля.
login/hostname/system/upd - обновление по OTA.
login/hostname/system/aupd - обновление по Auto OTA.
В данные топики нужно отправить цифру 1.
---
Android приложения, совместимые с проектом:
Mqtt IoT - Автор Dolfik. WIKI.
MQTT Dash - Автор Routix.
Linear MQTT Dashboard - Автор Ravend. WIKI.
Внимание ! Имена некоторых метрик поменялись с 6.02.21 !! Новые имена можно посмотреть на вкладке Metrics на самом модуле.
Topic | Description |
---|---|
email/hostname/hostname | Имя устройства |
email/hostname/freemem | Свободное ОЗУ |
email/hostname/ver | Версия и дата сборки прошивки |
email/hostname/uptime | Время работы |
email/hostname/rssi | Уровень сигнала (нет на старых SDK) |
email/hostname/vdd | Напряжение питания (ESP8266) |
email/hostname/apdsc | APDS9960 Освещенность |
email/hostname/apdsr | APDS9960 Освещенность красный |
email/hostname/apdsg | APDS9960 Освещенность зеленый |
email/hostname/apdsb | APDS9960 Освещенность синий |
email/hostname/thermo_setX | Установка термостата |
email/hostname/thermo_enX | Состояние термостата вкл/выкл |
email/hostname/ccsco2 | CO2 датчика CCS811 |
email/hostname/ccstvoc | TVOC датчика CCS811 |
email/hostname/lorsXY | Метрики LORA |
email/hostname/rtd | MAX31865 Температура |
email/hostname/hdct | Температура датчика HDC1080 |
email/hostname/hdch | Влажность датчика HDC1080 |
email/hostname/pmspm10 | PM1.0 |
email/hostname/pmspm25 | PM2.5 |
email/hostname/pmspm100 | PM1.00 |
email/hostname/vl53l0x | Расстояние VL53L0X |
email/hostname/mbYYXX | ModBus метрики |
email/hostname/as5600 | Угол AS5600 |
email/hostname/gpslat | Широта GPS приемник |
email/hostname/gpslon | Долгота GPS приемник |
email/hostname/heightgps | Высота GPS приемник |
email/hostname/speedgps | Скорость GPS приемник |
email/hostname/coursegps | Курс GPS приемник |
email/hostname/numsatgps | Количество спутиков GPS приемник |
email/hostname/btXrssi | BT HUB RSSI |
email/hostname/btXt | BT HUB Температура |
email/hostname/btXl | BT HUB Освещенность |
email/hostname/btXf | BT HUB Плодородие |
email/hostname/btXm | BT HUB Влажность(почвы) |
email/hostname/btXh | BT HUB Влажность |
email/hostname/btXb | BT HUB Заряд батареи |
email/hostname/shtc3t | Температура SHTC3 |
email/hostname/shtc3h | Влажность SHTC3 |
email/hostname/csev | Напряжение на CSE7766 |
email/hostname/csec | Ток на CSE7766 |
email/hostname/csee | Потребление суммарно CSE7766 |
email/hostname/csea | Active Power CSE7766 |
email/hostname/csef | Power Factor CSE7766 |
email/hostname/adc | Внутренний АЦП (ESP8266) |
email/hostname/iadcX | Внутренние АЦП (ESP32) |
email/hostname/lm | Температура с датчика LM75 или DS1621 |
email/hostname/inav | Напряжение с датчика INA219 |
email/hostname/inac | Ток с датчика INA219 |
email/hostname/dhttХ | Температура датчиков DHT22 DHT11 |
email/hostname/dhthХ | Влажность датчиков DHT22 DHT11 |
email/hostname/bmpt | Температура датчиков BMP180/085 |
email/hostname/bmpp | Давление датчиков BMP180/085 |
email/hostname/cntXi | Данные с счетчика 60 |
email/hostname/light | Освещенность с датчика BH1750 |
email/hostname/amt | Температура с датчика AM2321 |
email/hostname/amh | Влажность с датчика AM2321 |
email/hostname/dswX | Температура датчиков DS18B20 |
email/hostname/bmet | Температура с датчика BME280 |
email/hostname/bmeh | Влажность с датчика BME280 |
email/hostname/bmep | Давление с датчика BME280 |
email/hostname/shtt | Температура с датчика SHT21 |
email/hostname/shth | Влажность с датчика SHT21 |
email/hostname/sht30t | Температура с датчика SHT30 |
email/hostname/sht30h | Влажность с датчика SHT30 |
email/hostname/heat | Температура с термопары MAX6675 |
email/hostname/cvv | Напряжение с устройства CC/CV |
email/hostname/cvc | Ток с устройства CC/CV |
email/hostname/pmv | Напряжение с устройства Power Monitor |
email/hostname/pmc | Ток с устройства Power Monitor |
email/hostname/pmw | Мощность с устройства Power Monitor |
email/hostname/pmwh | Расход с устройства Power Monitor |
email/hostname/rfid | Данные с RFID |
email/hostname/co2 | Датчики CO2 MH-Z1x |
email/hostname/ping | ping тест статус |
email/hostname/adcX | Данные с АЦП PCF8591 |
email/hostname/rcdata | Прием кода с радио пульта |
email/hostname/rtct | Температура DS3231 |
email/hostname/nrfYcX | Счетчик с модулей NRF24 |
email/hostname/nrfYtX | Температура с модулей NRF24 |
email/hostname/nrfYhX | Влажность с модулей NRF24 |
email/hostname/nrfYaX | АПЦ с модулей NRF24 |
email/hostname/nrfYgX | Состояние GPIO с модулей NRF24 |
email/hostname/nrfYbX | Другие данные с модулей NRF24 |
email/hostname/rssigsm | RSSI GSM |
email/hostname/irdata | Прием кода с ИК пульта |
email/hostname/pcfcntX | Счетчик импульсов PCF8583 |
email/hostname/rcsXt | Температура с модулей RC датчик |
email/hostname/rcsXh | Влажность с модулей RC датчик |
email/hostname/rcsXa | АЦП с модулей RC датчик |
email/hostname/countrstX | Счетчики импульсов сбрасываемый. |
email/hostname/counterX | Счетчики импульсов. |
email/hostname/gpiointX | Событие прерывания |
email/hostname/pwmX | Состояние ШИМ |
email/hostname/inputX | Состояние GPIO входа (MQTT) |
email/hostname/outputX | Состояние и установка выхода (MQTT) |
email/hostname/valuedesX | Глобальные переменные конструктора кода |
email/hostname/scale | Весы HX711 |
email/hostname/mcpa1 | Данные с АЦП MCP3201 |
email/hostname/ring | Номер входящего звонка из GSM модуля |
email/hostname/sms | Текст входящей SMS GSM модуля |
email/hostname/tel | Номер телефона при входящей SMS GSM модуля |
email/hostname/dtmf | Входящая команда DTMF GSM модуля |
email/hostname/adsX | Данные с АЦП ADS1115 |
email/hostname/nexX | Данные с дисплеев Nextion. Прием нажатий с сенсорного экрана |
email/hostname/vzco2 | CO2 VZ-89T |
email/hostname/nlXt | Температура с датчиков NooLite |
email/hostname/nlXh | Влажность с датчиков NooLite |
email/hostname/hcsr04 | HC-SR04 |
email/hostname/tsllux | Данные с TSL2561 |
email/hostname/ibutton | ID iButton ключа |
email/hostname/ibuttonst | Статус ключа iButton |
email/hostname/upsi | Данные с UPS Монитора. Напряжение на входе. |
email/hostname/upsf | Данные с UPS Монитора. Напряжение на входе. |
email/hostname/upso | Данные с UPS Монитора. Напряжение на выходе. |
email/hostname/upsh | Данные с UPS Монитора. Частота сети |
email/hostname/upst | Данные с UPS Монитора. Температура в корпусе |
email/hostname/upsb | Данные с UPS Монитора. Напряжение батареи. |
email/hostname/upss | Данные с UPS Монитора. Нагрузка |
email/hostname/mlxo | Температура объекта MLX90614 |
email/hostname/mlxa | Температура окружающая MLX90614 |
email/hostname/vwtXY | Температура с VirtualWire |
email/hostname/vwhXY | Влажность с VirtualWire |
email/hostname/vwcXY | Счетчики с VirtualWire |
email/hostname/vwaXY | АЦП с VirtualWire |
email/hostname/vwbXY | Один байт с VirtualWire |
email/hostname/hlw_w | HLW8012 (Sonoff POW) Мощность |
email/hostname/hlw_v | HLW8012 (Sonoff POW) Напряжение |
email/hostname/hlw_c | HLW8012 (Sonoff POW) Ток |
email/hostname/hlw_wh | HLW8012 (Sonoff POW) Ватт/ч |