RaspberryPi_電源SWと電源LEDをSystemdをつかってサービス化

img_2035

RaspberryPiには通常PCの様な電源スイッチは無いです。

電源ON=PWR USBケーブルを挿入
電源OFF=コマンドからshutdown -h now(poweroff) 後 PWR USBケーブル抜き
再起動=コマンドからshutdown -r now(reboot)
NICのLEDを見て電源状態を判断しhなければなりません。
そこで、
PCライクな電源スイッチを実装するのは難しそうなのでタクトスイッチの押下時間でシャットダウン・リブートの選択。それに応じてのLED点滅 運転時のLED点灯を実装をしてみました。当初はrc.localに記述をしていたが、いまの時代野暮かと。

Pythonを使ってのコマンド

 

 

実行権限を付与
chmod +x /usr/local/sbin/power-btn.py

systemdで使うコマンド

pythonでつくったコマンドをそのまま差しただけのコマンド(もっとスマートになるはず)

vi /usr/local/sbin/power-btn.sh

実行権限を付与
chmod +x /usr/local/sbin/power-btn.sh

systemdの定義ファイル作成

vi /etc/systemd/system/power-btn.service

実行権限を付与
chmod 0755 /etc/systemd/system/power-btn.service

自動起動設定後起動

問題点(自分の運用には問題なし)

systemdのrestart stopに対応していない。そのまま運転を続けてしまいます。。。。まぁrc.localからの単純移行なのでよしとします。

コメント