Categories: 工作・開発

ラズパイ5用ケース「Pironman 5」の制御サービスをGoで書き直し、RAMを110MB→10MBに削減

SunFounderのRaspberry Pi 5向けケース「Pironman 5」には、ファン制御・RGB・OLEDディスプレイ・ステータス収集をまとめたPython製デーモンが付属する。you-l-you氏はこのサービスが常時70〜110MBのRAMを消費することを問題視し、Go言語で書き直した「pironman5-go」をGitHubで公開した。

書き直し後の消費RAMは安定して約10MBで、元の7分の1以下に抑えられている。CPU使用率も0.02%から実質0.00%まで低下し、サービスの再起動時間は約4秒から30ms未満に短縮された。氏はラズパイ5(16GB RAM)上でDockerによるセルフホストサービスのバックエンドとして使っており、軽量に動かしたいという実用上の動機でリライトした。

元のPythonサービスとの互換性は限定的で、APIの一部を変更し、使っていない機能は省いてある。独自の追加機能としてモノクロビットマップ(PBMファイル)からのカスタムOLED画像表示が加わっており、複数のPBMファイルを指定して自動切り替えもできる。OLEDの表示モードはperformance・ip・disk・heart・imageの5種類で、RGBエフェクトはsolid・breathing・flow・rainbow・hue_cycleなど7種類をサポートする。Webダッシュボード機能は現時点では未実装だ。

なお実装の大半はAIに任せた「バイブコーディング」から始めたと本人がコメントで明かしており、後からコードレビューとアーキテクチャ修正を自分で行ったとも述べている。binaries(コンパイル済みバイナリ)の配布もあるが、READMEではソースからビルドするほうが安全と明記されている。

関連情報

Raspberry Pi
¥31,070 (2026/04/15 22:46時点 | Amazon調べ)
FabScene編集部

FabScene編集部