我已经按照以下指南安装了 linphone: https://wiki.linphone.org/xwiki/wiki/public/view/Linphone/Linphone%20and%20Raspberry%20Pi/
我对Python几乎没有经验。
我发现一个脚本可以在按下按钮时做出反应,这似乎有效,但我想要执行的命令不起作用。
我的脚本:
#!/usr/bin/python
import RPi.GPIO as gpio
from subprocess import call
import time
import subprocess
import os
gpio.setmode(gpio.BCM)
gpio.setup(5, gpio.IN, pull_up_down = gpio.PUD_UP)
os.environ['PATH'] = '/home/pi/linphone-sdk/build-raspberry/linphone-sdk/desktop/bin'
subprocess.Popen(["sudo -u pi linphonecsh init -a -C -c /home/pi/.linphonerc -d 6 -l /tmp/log.txt"])
def doorbell(channel):
subprocess.Popen(["linphonecsh dial **9"])
gpio.add_event_detect(5, gpio.FALLING, callback=doorbell, bouncetime=300)
while 1:
time.sleep(360)
我收到此错误
FileNotFoundError: [Errno 2] No such file or directory: 'sudo -u pi linphonecsh init -a -C -c /home/pi/.linphonerc -d 6 -l /tmp/log.txt'
这似乎是因为 PATH 变量设置不正确。 我还尝试在“/etc/rc.local”中设置 PATH,就像在指南中设置的那样。我也尝试在 /etc/crontab 中设置它。
如何设置正确的路径?
既然您使用 python 来制作脚本,为什么不构建 linphone SDK 的 python 包装器呢? https://gitlab.linphone.org/BC/public/linphone-sdk#python-wrapper-wheel-packaging
这样您可以更轻松地控制您的通话等...
干杯,