Назад к заметкам

опубликовано 2026-04-11

Я переписал сервис Pironman 5 на Go, чтобы снизить расход RAM

l-you avatarLiterally You

Я использую SunFounder Pironman 5 на сервере Raspberry Pi 5, и мне правда нравится железо корпуса. Но мне не понравились накладные расходы софта.

Оригинальный сервис на Python потреблял примерно 70-110 MB RAM для управления вентилятором, RGB, страниц OLED, конфига, логов и демона. Для того, что этот сервис реально делает, я счёл его слишком тяжёлым.

Поэтому я переписал essentials-демон Pironman 5 на Go для собственного использования:

https://github.com/l-you/pironman5-go

Текущая версия не является строгой drop-in заменой. Я изменил некоторые API, упростил часть поведения и добавил несколько функций, которые мне были нужны — например, пользовательские изображения для OLED из монохромного bitmap или PBM-файлов.

Также я убрал дашборд. Для моего сценария он не был важен.

Если кому-то нужна версия, которая ближе к оригинальному поведению essentials, без дашборда и с той же поверхностью API, для этого есть более ранний коммит:

https://github.com/l-you/pironman5-go/commit/faeff568730a411a95ee3708839ab3612b9ee1f4

На моём Raspberry Pi 5 переписывание снизило расход RAM примерно до 10 MB, немного уменьшило нагрузку CPU в простое и сократило время перезапуска примерно с 5s до менее чем 30ms.

Также хочу явно обозначить статус проекта. Я сделал его для личных целей. Я сам им пользуюсь, но не обещаю корректное версионирование, CI или проверенные бинарные сборки. Если кто-то хочет использовать это аккуратно, собирать из исходников — более безопасный вариант.

Ещё одна практическая деталь: ИИ сделал почти всю работу по реализации начальной версии, включая тесты. Я в основном задавал ограничения, направление и принимал решения о том, что должно остаться, что измениться и что нужно убрать. Я честно впечатлён тем, насколько хорошей получилась первая пригодная к использованию версия.

Этот репозиторий существует потому, что я хотел более лёгкий сервис управления Pironman 5 на своём Raspberry Pi. Для меня он решает эту задачу достаточно хорошо.

основное вложение

My personal Rapsberry PI 5 + Pironman Setup