@instalator:
@ExReader:
Преамбула: В программировании полный нуб.
Скрипты "пишу" в режиме Blockly (хотя что такое формальная логика и "карты Карно" понимаю)
Амбула: пытаюсь реализовать при помощи MegaD-328, силовых модулей и сервера с ява-скриптами управление светом (на текущем этапе времени- пока тока свет). В комплекте "железа"- сам контроллер MegaD-328, силовой блок (самодельный, на два диммируемых канала), кнопки со световым индикатором и пищалкой, датчик движения и освещенности. Это всё для одного помещения. Дак вот, у меня получилось уже восемь скриптов, описывающих "мои хотелки". Восемь скриптов- на один "железный комплект". А таких комплектов будет 10-12 штук.
Я понимаю, что можно "размножить" существующие скрипты на количество железа… Но, думается, что есть более "правильный" способ "размножить" управление железом.
Вот, хотелось-бы спросить совета, как правильно? А что твои скрипты делают?
Я (для себя) их (скрипты) разбил на части, по функционалу.
Первый скрипт отслеживает нажатия клавиш (две клавиши, четыре кнопки, + и - первого канала и + и - второго канала)
Соответственно, на выходе генерируется управление на увеличение до максимума или выключение света.
Второй скрипт отрабатывает длинное нажатие и выдает управление на увеличение/уменьшение яркости первого/второго канала
Третий скрипт отслеживает нажатие и выдает сигнал управления на пищалку (фиксация факта нажатия в режиме мин/макс яркости)
Четвертый скрипт управляет пищалкой в режиме диммирования (по разному пищит… точнее по разному "озвучивает"
максимальный/минимальный уровень яркости)
Пятый скрипт отслеживает датчик движения и выдает команду на сигнализацию.
Шестой скрипт отслеживает датчик движения и освещенности (я не придумал/не знаю как объединить с предыдущим выдачу команды с
датчика движения) и управляет включением света в зависимости от освещенности.
Седьмой скрипт обрабатывает/следит за сигналом с датчика тока (если случилась "коза", то блок уйдет в защиту)
Восьмой скрипт сбрасывает защиту в зависимости от нажатых клавиш.
Upd: А ещё хочется сделать активацию/деактивацию датчика движения/освещенности с локальных кнопок (с сохранением функции охранного датчика). Ну, чтоб ночью не мешал спать периодически включая свет когда шевельнёшся... :lol: