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

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

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

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

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

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