Raspberry pi OS 電源スイッチ取付 はんだ付け無し gpiozero Python3 systemd

アイネックス 実験用スイッチ・LEDセット KM-01使えは、はんだ付け要らんことに気がついた。電源スイッチ編

Raspberry Pi OSなので、それらしく

  • gpiozero
  • systemd
  • Python3

でやってみよ。

WiringPiいままでありがとうございました。

使うもの



アマゾンで見る

「検証マニア」エエ名前じゃ
リード線が短いからRaspberry Piにエエ

スイッチの取付

Raspberry Piのピンのうち、GNDピンの隣のGPIOピンにまたいで差せばOKじゃ。

わしは、GPIO17(11番ピン)とGND(9番ピン)に差し込んだ。

これだけ

デーモン(サービス)

スイッチを監視して、だいたい3秒以上長押ししたら、haltコマンドを実行するやつ。Python3 じゃ。

わしは、/home/pi/shutdownに作った。

  • mkdir /home/pi/shutdown
  • nano /home/pi/shutdown/shutdown.py

新しい流儀gpiozero

参考サイト

from gpiozero import Button
from subprocess import check_call
from signal import pause

def shutdown():
check_call(['sudo', 'poweroff'])
shutdown_btn = Button(17, hold_time=3)
shutdown_btn.when_held = shutdown

pause()

ctrl+zで保存

実行権

  • sudo chmod 755 /home/pi/shutdown/shutdown.py

サービスの登録と起動

  • sudo nano /usr/lib/systemd/system/shutdown.service

ユニットファイル

[Unit]
Description=Shutdown Daemon

[Service]
ExecStart = /home/pi/shutdown/shutdown.py
Restart=always
Type=simple

[Install]
WantedBy=multi-user.target

ctrl+zで保存

  • sudo systemctl enable shutdown.service
  • sudo systemctl daemon-reload

確認

  • sudo systemctl status shutdown.service
エラーが無いことを確認

エラーがあれはログ見てみ。

  • less /var/log/syslog

停止

  • sudo systemctl disable shutdown.service

以上!


動かない場合の参考

よろしければチャンネル登録よろしくお願い申し上げます!



1件のコメント

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です