[piCorePlayer]piCorePlayerにシャットダウン用のスイッチを取り付けました

piCorePlayerにシャットダウン用のスイッチを取り付けました。

piCorePlayerはメモリ上で動作するので、電源をいきなり切ってもSDカードなどの外部メモリに影響を与えないということを聞きます。

しばらくの間はそれでよかったのですが、やはり気になり、「もどきラジオ」の試作品のパネルで使っていなかった押しボタンスイッチを電源スイッチ(シャットダウンスイッチ)に設定しました。

このスイッチを押すとシャットダウンプロセスが走り安全にpiCorePlayerは停止するはずです。

なお電源ONから音が出てくるまで、1分ほどかかります。たまにはエラーが起きたのか起動しない時があります。LMS周りが多少不安定のような気がします。本来ならば常にLMSは動いていた方がいいと思うのですが。 まpiCorePlayer単体で全てをまかないできるので文句は言えませんが。

方法はPythonとRPi.GPIOを使います。 なおソフトに関しては素人なので間違っていることもあるかと思いますが、ご容赦ください。

 

switch.py

 

—————————————————

 

#!/usr/bin/python

import os

import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BOARD)

GPIO.setup(19, GPIO.IN, pull_up_down=GPIO.PUD_UP)

while True:

        input_state = GPIO.input(19)

        if input_state == False:

                os.system("/sbin/poweroff")

                time.sleep(0.2)

GPIO.cleanup()

———————————————-

 

これを/opt/.filetool.lst に登録しておきます。

 

/opt/.filetool.lst

以下のように追加しておきます。

 

/home/tc/python_scripts/switch.py

 

sudo filetool.sh -b  でsaveしておきます。

 

なおこのソフトは TweaksのUser Command #2で起動するようにしておきます。

 

sudo python /home/tc/python_scripts/switch.py

なおこのswitch.py は常に走っている状態なので、できれば割り込みか何かにした方がいいかもしれません。

 

コメント