提问者:小点点

按GPIO按钮执行Python 3程序


我在Raspberry Pi 3的引脚23上设置了一个GPIO按钮,我希望在按下该按钮时执行另一个python脚本。当我运行初始程序时,它将打印“按钮按下”,但不会执行第二个程序。(我确实确保在程序中设置了权限。)非常感谢你的帮助!

    #!/usr/bin/env python
    import RPi.GPIO as GPIO
    import time
    import subprocess

    GPIO.setmode(GPIO.BCM)
    GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)

    while True:
        input_state = GPIO.input(23)
        if input_state == False:
            print('Button Pressed')
            subprocess.call('/home/pi/Downloads/PuttingItAllTogether.py', shell=True)
            time.sleep(0.2)

共1个答案

匿名用户

你不能使用“操作系统”库和“系统”库吗?

#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
import os

GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)

while True:
    input_state = GPIO.input(23)
    if input_state == False:
        print('Button Pressed')
        os.system('/home/pi/Downloads/PuttingItAllTogether.py')
        time.sleep(0.2)

使用语法:

import os
os.system('shell command to execute')