树莓GPIO事件

2024-06-25 23:52:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一个脚本来播放一首歌,当我的树莓圆周率按下一个按钮,但我面临一个问题,运行它

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

这是我想在raspberry启动时启动这个脚本的问题(我包含在rc.localsudo 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))

Tags: pyimport脚本终端homegpiosyspi