Аппаратная часть
Аппаратная часть и конфигурация для прошивки описаны в следующей статье:
Особенности моей прошивки
- Управление посредством MQTT брокера
- Рапорт о состоянии содержит информацию о состоянии кнопки – таким образом сервер может узнать была ли смена состояния вызвана физическим нажатием на кнопку, или это поступила команда через MQTT
- Активирован Light-Sleep режим, что позволяет снизить потребление без ущерба в реакции на выключатели (потребелние снижено с 0.8w до 0.5w).
- Имеет ряд настроек, которые позволяют конфигурировать поведение модуля.
- Возможность изменения настроек без необходимости разбирать и перепрошивать.
- Возможность изменения прошивки по воздуху (OTA), без необходимости демонтировать, разбирать паять.
Рабочие режимы
- Красный светодиод медленно моргает – модуль в режиме конфигурации. В этот момент открыта точка доступа с именем Dozy-xxxxx. Страница конфигурации доступна по IP 192.168.4.1. Либо, если модуль не терял связь с настроенной сетью, можно открыть эту же страницу по IP модуля. Через 5 минут простоя модуль автоматически завершит данный режим и перезагрузится.
- Красный светодиод быстро моргает – модуль в режиме прошивки по воздуху (OTA). К модулю можно подключиться и обновить прошивку используя его IP-адрес. Через 5 минут простоя модуль автоматически завершит данный режим и перезагрузится.
- Зеленый светодиод отображает состояние реле – индикация включен ли свет.
Конфигурация
- SSID, password – подключение к домашней WiFi сети
- mqtt server, port, client name, user, password – подключение к MQTT брокеру. Важно! Client name должен быть уникальным. Этот же client name используется в качестве имени точки доступа и имени хоста.
- mqtt output topic – топик для вывода статуса реле. Значения 0, 1 соответсвуют выключено, включено соответсвенно. Дополнительно может содержать точку в конце для обозначения состояния кнопки.
Примеры:
‘0.’ – реле открыто, кнопка нажата.
‘1’ – реле закрыто, кнопка не нажата.
‘1.’ – реле закрыто и кнопка нажата. - mqtt commands topic – топик для команд реле.
- momentary switch – если установлено – нажатие кнопки меняет состояние реле. Отпускание кнопки не меняет состояние реле.
Если флаг сброшен – каждая смена положения кнопки меняет состояние реле.
Команды управления
1
– включить свет (закрыть реле).0
– выключить свет (открыть реле).set
– перейти в режим конфигурации. Аналогично быстрому нажатию кнопки более 5 раз.-
ota
– перейти в режим прошивки по воздуху (OTA). -
rst
– перезагрузить модуль.
ИСХОДНИКИ
См GitHub: https://github.com/ai91/dozy/
Хотелось бы отметить что используется development ветка WiFiManager’а. Данная ветка позволяет запускать конфигуратор в неблокирующем режиме – ручной переключатель остается функциональным даже если сеть пропала/не настроена и модуль постоянно в режиме точки доступа. Мастер-ветка WiFiManager’а не умеет такого.
Более
Для примера конфигурации MajorDoMo смотри следующую статью: