Zurück zu den Notizen

veröffentlicht 2026-04-11

Ich habe den Pironman-5-Dienst in Go neu geschrieben, um RAM-Overhead zu senken

l-you avatarGanz Du

Ich nutze einen SunFounder Pironman 5 auf einem Raspberry Pi 5 Server, und ich mag die Case-Hardware wirklich. Was ich nicht mochte, war der Software-Overhead.

Der ursprüngliche Python-basierte Service hat für Lüftersteuerung, RGB, OLED-Seiten, Konfiguration, Logs und einen Daemon ungefähr 70-110 MB RAM verwendet. Für das, was dieser Service tatsächlich macht, war mir das zu schwergewichtig.

Also habe ich den Pironman 5 Essentials-Daemon für meinen eigenen Gebrauch in Go neu geschrieben:

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

Die aktuelle Version ist kein strikter Drop-in-Replacement. Ich habe einige APIs geändert, Verhalten vereinfacht und ein paar Features ergänzt, die ich wollte, z. B. eigene OLED-Bilder aus monochromen Bitmap- oder PBM-Dateien.

Ich habe außerdem das Dashboard weggelassen. Für meinen Use-Case war es nicht essenziell.

Wenn jemand eine Version möchte, die näher am ursprünglichen Essentials-Verhalten ist, ohne Dashboard und mit derselben API-Oberfläche, gibt es dafür einen früheren Commit:

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

Auf meinem Raspberry Pi 5 hat das Rewrite die RAM-Nutzung auf etwa 10 MB reduziert, die Idle-CPU etwas gesenkt und die Neustartzeit von ungefähr 5s auf unter 30ms verkürzt.

Ich sollte auch den Status des Projekts klarstellen. Ich habe es für persönliche Zwecke erstellt. Ich nutze es selbst, aber ich verspreche kein sauberes Versioning, kein CI und keine verifizierten Binary-Builds. Wenn es jemand vorsichtig nutzen will, ist das Bauen aus dem Source die sicherere Option.

Noch ein praktisches Detail: KI hat für die erste Version fast die komplette Implementierungsarbeit übernommen, inklusive der Tests. Ich habe hauptsächlich die Constraints, Richtung und Entscheidungen geliefert, was bleiben soll, was sich ändern soll und was rausfliegt. Ich bin ehrlich beeindruckt, wie gut die erste brauchbare Version geworden ist.

Dieses Repository existiert, weil ich einen leichteren Pironman-5-Control-Service auf meinem eigenen Raspberry Pi wollte. Für mich löst es dieses Problem gut genug.

hervorgehobener Anhang

My personal Rapsberry PI 5 + Pironman Setup