好吧,这就是我所拥有的:
我有一个名为 detect.sh 的脚本。此文件位于 /home/pi/detect/detect.sh。它的权限是:-rxwrxwrxw 1 motion motion 66 Feb 19 10:20/home/pi/detect/detect.sh
这个脚本,包含这段代码:
#!/bin/sh
date >> /home/pi/detect/detect_log.txt
python /home/pi/detect/detect.py
如您所见,此脚本执行我的 Python 脚本。
我的 python 脚本位于 /home/pi/detect/detect.py,您也可以看到。我的 python 脚本具有以下权限:-rwxrwxrwx 1 motion motion 178 Feb 19 10:28/home/pi/detect/detect.py
我的 Python 脚本包含以下代码:
import os
import subprocess
text_file = open('/home/pi/Desktop/output.txt', 'w')
text_file.write('Test 1')
text_file.close()
os.system("sudo aplay /home/pi/detect/bark.wav")
当我开始运动时,使用 sudo service motion restart
,没有任何反应。我在运动的配置文件中有
on_event_start sh /home/pi/detect/detect.sh
我知道这是有效的。因为我的 detect_log.txt 已正确创建和更新,这意味着我的脚本正在运行。但我的 python 脚本不是。我没有听到狗叫声,也没有创建 .txt 文件。
此外,我的 Python 脚本在我使用独立模块运行时运行,使用 Python。我听到一声吠叫,文件已创建。
这是权限问题吗?到底是怎么回事?可能是 Python 问题的权限?我很困惑,几周来一直在寻找答案。感谢您的帮助。
最佳答案
我仍然无法弄清楚如何在运动开始时执行 python 脚本。相反,我只是在启动时运行一个 bash 脚本来创建一个新的 .txt 文件。在启动时,我还有运行 while 循环的感兴趣的 python 脚本;创建 .txt 文件后,它将退出 while 循环并运行脚本的其余部分。
关于python - 如何使用 Raspberry Pi motion 播放音频文件?可能的权限问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35569432/