Detritus – двухканальный выключатель света – прошивка

Аппаратная часть

Аппаратная часть и конфигурация для прошивки описана в следующей статье:

Особености моей прошивки

  • Управление посредством 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 смотри следующую статью:

Добавить комментарий