我写了一个小脚本来按下一个按钮启动pythonscript,该按钮连接到我的RasPi上的GPIO和GND:
import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)
def main():
while True:
input_state = GPIO.input(18)
if input_state == False:
print('Button Pressed')
os.system("/home/pi/bootF.py")
time.sleep(0.2)
if __name__ == '__main__':
main()
这完全没问题,但是当我将脚本添加到我的rc.local
时 /bin/sleep 20 && python /home/pi/buttonResponse.py & #also tried sudo python
并且当我按下按钮时它在启动后获得PID没有任何反应。我相信这与sudo有关,但我目前还不知道如何管理它。再次,用" sudo python buttonResponse.py"手动启动在这一点上工作。
这是我的grep在启动后的样子(按钮不起作用):
pi@raspberrypi ~ $ ps -ef | grep python
root 2372 1 1 07:49 ? 00:00:00 /usr/bin/python -O /usr/share/wicd/daemon/wicd-daemon.py
root 2402 1 69 07:49 ? 00:00:54 python /home/pi/buttonResponse.py
root 2438 2372 1 07:49 ? 00:00:01 /usr/bin/python -O /usr/share/wicd/daemon/monitor.py
pi 2478 2456 0 07:50 pts/1 00:00:00 grep --color=auto python
这就是我的grep在手动启动脚本后的样子,清空rc.local(有效!):
pi@raspberrypi ~ $ ps -ef | grep python root 2372 1 1 07:54 ? 00:00:00 /usr/bin/python -O /usr/share/wicd/daemon/wicd-daemon.py
root 2435 2372 2 07:54 ? 00:00:01 /usr/bin/python -O /usr/share/wicd/daemon/monitor.py
root 2466 2445 0 07:55 pts/0 00:00:00 sudo python buttonResponse.py
root 2467 2466 90 07:55 pts/0 00:00:21 python buttonResponse.py
pi 2493 2476 0 07:55 pts/1 00:00:00 grep --color=auto python
有人可以帮我吗?