Sms Gammu:在接收退出状态1时运行

Sms Gammu:在接收退出状态1时运行,sms,raspberry-pi,embedded-linux,gammu,Sms,Raspberry Pi,Embedded Linux,Gammu,我正在尝试使用gammu和gammu smsd,通过我的raspberry pi使用华为互联网密钥发送和接收短信。 我的问题是,当我从手机向raspberry pi发送短信时,它读取短信,并尝试启动在/etc/gammu smsdrcn文件中runnReceive=in/etc/gammu链接的程序,但随后显示:进程失败,退出状态为1。 我尝试过任何一种解决方法,但我自己无法解决这个问题;我已经在脚本上设置了每个权限。 有人能帮我吗? 非常感谢。毫无疑问,你现在已经把这个整理好了,但我刚刚经历了

我正在尝试使用gammu和gammu smsd,通过我的raspberry pi使用华为互联网密钥发送和接收短信。 我的问题是,当我从手机向raspberry pi发送短信时,它读取短信,并尝试启动在/etc/gammu smsdrcn文件中runnReceive=in/etc/gammu链接的程序,但随后显示:进程失败,退出状态为1。 我尝试过任何一种解决方法,但我自己无法解决这个问题;我已经在脚本上设置了每个权限。 有人能帮我吗?
非常感谢。

毫无疑问,你现在已经把这个整理好了,但我刚刚经历了同样的旅行,扯掉了很多头发,最后终于把后面的头发拔了出来……:-)

我用中兴通讯的wvdial棒连接互联网。该条在/dev/USBtty0、1和2上显示为调制解调器。wvdial使用USBtty2,所以gammu(我认为)必须使用另一个

因此,我在gammu config和/etc/gammu-smsdrc中的USBtty1上安装了gammu/gammu-smsd。接收守护程序gammu smsd在引导时自动启动

年轻玩家的第一个陷阱-如果你想用 echo“whatever”| gammu sendsms文本XXXYYYZZZ(其中最后一个是电话号码)-您需要杀死接收守护进程才能正常工作

 service gammu-smsd stop     # kill receive daemon
 echo etc etc gammu etc etc  # send the SMS
 service gammu-smsd start    # revive the receive daemon
现在让我们来看看收音的事情

从sudovi开始-提供一些可编辑的配置文件。那里有一条关于皮,什么,什么,什么,什么,作为一个sudoer。用gammu复制它,等等等等。同样的废话。保存它

这与权限有关-我不是这里的专家:-)

所以我的runnReceive行是{sudo/home/pi/procSMS.sh$SMS_1_TEXT}

脚本似乎不知道$SMS_1_文本是什么,所以我将其作为参数传递-在脚本中它被视为$1。它起作用了


在测试期间,我在另一个窗口中运行了一个进程-just tail-f/var/log/syslog,它让您可以实时查看所有进程…

我在Raspberry Pi和华为E3131(进程失败,退出状态为1)上遇到了相同的错误,但我解决了它

  • 确保您已设置好文件权限。默认情况下,Gammu在“Gammu”用户下运行deamon。因此,您可以将它(
    /etc/init.d/gammu smsd
    )更改为已经位于您的系统中并具有执行脚本权限的用户。或通过以下方式更改脚本权限:
    chmod 755 script.sh
    。这意味着您也将执行权限授予其他用户。 事实上,还有其他选择。使用参数
    -U username
    运行gammu deamon。不幸的是,当我使用root用户时,它对我不起作用。 PS:我建议不要将脚本放在/etc目录中。改为使用/home目录

  • /etc/gammu-smsdrc
    中打开调试。使用smsd部分中的参数:logformat和debuglevel。默认日志位于
    /var/log/syslog
    中。也许这有助于你深入定位问题

  • 最后最好的。。。我发现gammu返回错误,即使它运行的脚本很好!您必须在bash脚本中编写退出代码。如果未指定退出代码,gammu将其表示为错误1。添加
    退出0
    ,以防脚本结束时成功,错误消息消失


  • 这里也有同样的问题。我已经为gammu用户(运行守护进程的用户)设置了所有权限,并且我不断地得到这个错误。如果你已经找到了解决方案,你能发布它吗?谢谢:-)为什么不使用SMSD发送短信,而不是停止它?看见