№6 Умный светильник за 7 минут

В этом уроке мы сделаем «умный» светильник за 7 минут, реализуя две логические цепочки управления:

1) включение/выключение лампочки при недостаточной освещенности;

2) включение/выключение лампочки по планировщику времени.

Приступим к реализации первого сценария работы.

Сначала создадим модель устройства по аналогии с тем, как было проделано в первом уроке. Параметрами в данном случае будут освещенность и логическое значение наличия света, а команды – включить и выключить свет. Лишние параметры из базовой модели удалим. В итоге получим модель следующего вида.

Создадим объект с этой моделью.

Соберем макет светильника на базе NodeMCU.

Загрузим скетч, реализующий:

1) отправку данных об освещенности раз в 5 секунд;

2) отправку состояния светодиода при включении/выключении;

3) подписку на команды по топику led_on.

Видим появление данных в платформе.

Теперь создадим автомат, который при освещенности ниже 200 люкс будет отправлять команду на включение лампочки. Сделаем автоматическое выключение лампочки через 5 секунд.

Запускам автомат на объекте:

При снижении освещенности приходит сообщение, и лампочка включается. 

Теперь сделаем второй сценарий, в котором свет включается по планировщику, а выключается так же по таймеру через 5 секунд.

Остановим на объекте предыдущий автомат и запустим автомат с планировщиком. Видим, что в указанное в автомате время включается лампочка и выключается через 5 секунд.

Автоматы могут работать одновременно, по отдельности или можно реализовать обе логики управления в одном автомате.

Присоединяйтесь к чату и задавайте вопросы