Я очень люблю ардуино и подобные штуки. Но редко когда удаётся по-настоящему что-то такое применить на практике. Ну, потому что, обычно придумать что-то новое и полезное в хозяйстве, чего ещё нет – это очень сложно. А то, что уже придумано и существует проще купить, особенно в век маркетплейсов. Но вот, наконец, настал тот редкий случай, когда получилось сделать простую, но полезную штуку. Но как всегда, когда делаешь что-то простое, обязательно всплывает куча всяких неочевидных нюансов и в итоге всё кратно усложняется, чем думалось в голове.
У меня есть домашний сервер: git, nextcloud и т.п. Изначально и последние несколько лет он существовал в виде Raspberry Pi, с подключёнными к ней внешними жёсткими дисками. А ещё иногда случаются небольшие перебои с электричеством. Поэтому первым делом сервер был запитан от источника бесперебойного питания (ИБП). Но всегда существовала проблема: когда электричество пропадает, то сервер продолжает работать. Мало того, что в этом нет смысла, т.к. без электричества нет и интернета, так ещё, если свет дать не успеют, то ИБП высаживается в ноль и сервер жёстко завершит свою работу, что однажды привело к тому, что он больше не загрузился. Поэтому требовалось придумать как завершить работу сервера на время отключения электричества. Первая мысль, конечно, это подключить бесперебойник к компьютеру через USB. Но, к сожалению, из этого ничего не вышло. Я провозился пару вечеров, но так и не смог заставить Raspberry Pi управлять ИБП по USB ни через NUT ни как-то иначе. В итоге настало время хардового решения. Все файлы проекта можно скачать из репозитория на Github