Octoprint: яркость вспышки и удаленное выключение
Наигравшись вдоволь со вспышкой для камеры, я начал понимать что чего то не хватает.
Вот нет удовлетворенности в душе, нет.
Думал я думал, и сформулировал, чего конкретно мне не нравится в этом.
Итак:
Нам понадобится: твердотельное реле, кнопка первоначального запуска, контроллер обслуживающий все хотелки.
Начнем с кнопки. Сначала хотел вот такую
Но блин, она огромная. И дорогая.
Поэтому купил такую. Но в черном корпусе.
Теперь контроллер. Логика в прошивке такая: Через 2сек после включения, подается 12в на твердотельное реле. Независимые уровни яркости для пилота и вспышки (яркость регулируется подачей ШИМ на драйвер светодиодов), уровни хранятся в EEPROM, их можно изменять из окты, пилотный вход имеет приоритет перед вспышкой. Т.е. если включен пилот, любые мельтешения вспышки игнорируются. Логика настройки яркости: включили вспышку, отрегулировали ее яркость. Включили пилот - отрегулировали. Значения записаны в энергонезависимую память. Дальше при включении будут выставлены нужные уровни.
При появлении лог.1 на входе power, запускается 7сек таймер, по окончании которого, снимается 12в с твердотельного реле.
Почему не подать лог.1 напрямую с окты на SSR? А потому что при софтовой перезагрузке окты или малины, эта 1 становится 0 А в моем случае, принтер выключится только при явном указании "выключись".
Сделал все на atmega48.
Платка получилась небольшой.
Входы подключаем к малине, вот так
С железом все. Теперь покопаемся в мозгах октомалины.
В /etc/init.d/octoprint в секцию do_start прописываем переключение всех нужных gpio со входа на выход.
В ~/.octoprint/config.yaml в секцию events прописываем вкл-выкл вспышки при записи кадра таймлапса
В секцию server, в конце systemShutdownCommand дописываем: точка-с-запятой команда лог.1 на Power (да, окта может выполнять последовательно несколько команд через ;
Теперь заходим в веб-интерфейс. Ставим (если еще не поставили) плагин SystemCommandEditor.
С ним удобней.
Создаем пункты меню.
Вот типа так.
В регуляторах яркости используем ту самую точку-с-запятой.
Что получилось
Перегружаем и радуемся.
Небольшое видео про включение и выключение принтера.
Подробнее...
Вот нет удовлетворенности в душе, нет.
Думал я думал, и сформулировал, чего конкретно мне не нравится в этом.
Итак:
- Вспышка слишком яркая. Камера не успевает подстроится, в результате таймлапс пересвечен.
- Если включить свет и смотреть картинку, при записи кадра свет погаснет. Это раздражает.
- Окту надо выключать правильно, через меню. Но принтер то продолжает работать. Надо идти и щелкать выключателем. Лень.
Нам понадобится: твердотельное реле, кнопка первоначального запуска, контроллер обслуживающий все хотелки.
Начнем с кнопки. Сначала хотел вот такую
Но блин, она огромная. И дорогая.
Поэтому купил такую. Но в черном корпусе.
Теперь контроллер. Логика в прошивке такая: Через 2сек после включения, подается 12в на твердотельное реле. Независимые уровни яркости для пилота и вспышки (яркость регулируется подачей ШИМ на драйвер светодиодов), уровни хранятся в EEPROM, их можно изменять из окты, пилотный вход имеет приоритет перед вспышкой. Т.е. если включен пилот, любые мельтешения вспышки игнорируются. Логика настройки яркости: включили вспышку, отрегулировали ее яркость. Включили пилот - отрегулировали. Значения записаны в энергонезависимую память. Дальше при включении будут выставлены нужные уровни.
При появлении лог.1 на входе power, запускается 7сек таймер, по окончании которого, снимается 12в с твердотельного реле.
Почему не подать лог.1 напрямую с окты на SSR? А потому что при софтовой перезагрузке окты или малины, эта 1 становится 0 А в моем случае, принтер выключится только при явном указании "выключись".
Сделал все на atmega48.
Платка получилась небольшой.
Входы подключаем к малине, вот так
С железом все. Теперь покопаемся в мозгах октомалины.
В /etc/init.d/octoprint в секцию do_start прописываем переключение всех нужных gpio со входа на выход.
В ~/.octoprint/config.yaml в секцию events прописываем вкл-выкл вспышки при записи кадра таймлапса
В секцию server, в конце systemShutdownCommand дописываем: точка-с-запятой команда лог.1 на Power (да, окта может выполнять последовательно несколько команд через ;
Теперь заходим в веб-интерфейс. Ставим (если еще не поставили) плагин SystemCommandEditor.
С ним удобней.
Создаем пункты меню.
Вот типа так.
В регуляторах яркости используем ту самую точку-с-запятой.
Что получилось
Перегружаем и радуемся.
Небольшое видео про включение и выключение принтера.
Загрузка плеера
Подробнее...