树莓派 GPIO 事件

时间:2021-01-05 14:34:21

标签: python subprocess gpio

我正在编写一个脚本来在我的 raspberry Pi 中按下一个按钮时播放一首歌,但是我在运行它时遇到了问题。

当我在 Thonny IDE 中运行波纹管脚本时,它运行良好,每次按下按钮时,都会播放歌曲,但是当我尝试从终端 (python /home/pi/Documents/Python/Douce_nuit/Douce_nuit.py) 运行它时,程序立即停止,因此无法播放歌曲。

这和我想在树莓派启动时启动这个脚本一样有问题(我包含在 rc.local sudo python /home/pi/Documents/Python/Douce_nuit/Douce_nuit.py 中)

你能帮我理解为什么它在从 IDE 启动而不是从终端启动时有效吗?

我的代码是:

import RPi.GPIO as GPIO
import subprocess, sys

def playsong(channel):
    opener = "open" if sys.platform == "darwin" else "xdg-open"
    subprocess.call([opener, '/home/pi/Documents/Python/Douce_nuit/douce_nuit.mp3')

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(10, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

GPIO.add_event_detect(10, GPIO.RISING, callback=playsong))

0 个答案:

没有答案