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