опубліковано 2026-04-11
Я переписав сервіс Pironman 5 на Go, щоб зменшити накладні витрати RAM
Я використовую SunFounder Pironman 5 на сервері Raspberry Pi 5, і мені щиро подобається апаратна частина корпусу. А от програмні накладні витрати — ні.
Оригінальний сервіс на Python використовував приблизно 70-110 MB RAM для керування вентилятором, RGB, сторінок OLED, конфігурації, логів і демона. З огляду на те, що цей сервіс фактично робить, я вважав його занадто важким.
Тож я переписав демон Pironman 5 essentials на Go для власного використання:
https://github.com/l-you/pironman5-go
Поточна версія не є суворою drop-in replacement. Я змінив деякі API, спростив частину поведінки й додав кілька потрібних мені фіч, наприклад кастомні OLED-зображення з монохромного bitmap або PBM-файлів.
Також я прибрав dashboard. Для мого сценарію він не був критичним.
Якщо комусь потрібна версія, ближча до оригінальної поведінки essentials — без dashboard і з тією самою поверхнею API — для цього є ранній коміт:
https://github.com/l-you/pironman5-go/commit/faeff568730a411a95ee3708839ab3612b9ee1f4
На моєму Raspberry Pi 5 переписування зменшило використання RAM приблизно до 10 MB, трохи знизило idle CPU і скоротило час перезапуску з близько 5s до менш ніж 30ms.
Також хочу чітко окреслити статус проєкту. Я зробив його для особистих потреб. Я сам ним користуюся, але не обіцяю коректного versioning, CI чи верифікованих binary-білдів. Якщо хтось хоче використовувати це обережно, збірка з сорсів — безпечніший варіант.
Ще одна практична деталь: AI зробив майже всю реалізаційну роботу для початкової версії, включно з тестами. Я здебільшого задавав обмеження, напрям і ухвалював рішення про те, що має лишитися, що змінитися і що прибрати. Я щиро вражений тим, наскільки хорошою вийшла перша придатна до використання версія.
Цей репозиторій існує, бо я хотів легший сервіс керування Pironman 5 на власному Raspberry Pi. Для мене він достатньо добре розв’язує цю задачу.
