raspberry piで下記のWebサイトを参考に、ブレッドボード上のスイッチを押すととある処理を行うプログラムを作成し,superviserを使ってデーモン化しました。
http://raspi.seesaa.net/article/418174651.html
まず動作確認をするためにスイッチをおすと「ls -l」コマンドを実行するようにプログラムしたところ、logファイルにファイルの一覧が表示されてました。
スイッチの動作確認ができたので、次はスイッチを押すと他のスクリプトが実行されるように「sh [スクリプト名]」コマンドを実行しようとしたのですが、何も反応がありませんでした。そのほか命令を「reboot」等に変えて試しても見たのですが、一向に反応がありません。
すなわち「表示する等の処理はlogファイルに出力結果が書き込まれているため正常に動作していることが確認できるが、表示以外の処理を実行すると正常に実行されない。」という状況です。以下がそのソースコードです。プログラムの言語はpython3で,OSはrasbianです。
なにか原因等がわかる方がいらっしゃいましたら、ご指摘お願いいたします。
python
1import RPi.GPIO as GPIO 2import time 3import os 4 5GPIO.setmode(GPIO.BCM) 6GPIO.setup(21,GPIO.IN,pull_up_down=GPIO.PUD_UP) 7 8button_previous = 1 9button_current = 1 10brojac = 0 11flag_pressed = 0 12 13 14try: 15 GPIO.wait_for_edge(21, GPIO.FALLING) 16 17 while True: 18 button_current = GPIO.input(21) 19 flag_pressed = button_previous + button_current 20 21 if (not(flag_pressed)): 22 brojac += 1 23 else: 24 brojac = 0 25 26 if(button_current and (not button_previous)): 27 os.system("sh /shell_scripts/voice-recorder.sh") 28 break 29 30 button_previous = button_current 31 time.sleep(0.03) 32 33except KeyboardInterrupt: 34 GPIO.cleanup() 35GPIO.cleanup() 36
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/28 01:41
2017/09/28 02:00
2017/09/28 03:16
2017/09/30 09:08
2017/10/07 09:59