ボタンでプログラムを実行するサンプル。
ボタンを押すと、プログラムを実行する。
もう一度ボタンを押すと、プログラムを終了する。
このサンプルでは、「Raspberry Pi で LED を点滅させる」のスクリプトを実行する。
配線図
- ジャンパー ワイヤー (赤): BCM17 (ピン番号 11)
- ジャンパー ワイヤー (黒): GND
スクリプト
launcher.py:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
import RPi.GPIO as GPIO import subprocess
PIN = 17 CMD = "/home/pi/bin/ledblink.py"
GPIO.setmode(GPIO.BCM)
GPIO.setup(PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
p = None
try: while True: GPIO.wait_for_edge(PIN, GPIO.FALLING) if p is None: p = subprocess.Popen("exec " + CMD, shell=True) else: p.kill() p = None except KeyboardInterrupt: GPIO.cleanup()
|
ボタンでプログラムの実行と終了
以下のコマンドでスクリプトを実行してからボタンを押すと、プログラムが実行される。
1 2
| $ chmod u+x launcher.py $ ./launcher.py
|
もう一度ボタンを押すと、プログラムが終了する。
Ctrl-C でスクリプト自身を終了する。