2015-04-01 53 views
2

我正在嘗試使用gammu和gammu-smsd來發送和接收使用華爲內部密鑰的樹莓派的sms。 我的問題是,當我從我的手機發送短信到樹莓派,它讀取短信,它嘗試啓動鏈接在RunOnReceive =/etc/gammu-smsdrcn文件中的程序,但它說:進程失敗,退出狀態1. 我嘗試過任何一種解決方案,但我無法通過我自己解決這個問題;我已經爲腳本設置了每個權限。 有人可以幫我嗎? 非常感謝。Gammu:運行在接收退出狀態1

+0

同樣的問題在這裏。我已將所有權限設置給gammu用戶(運行守護進程的用戶),並且我一直在獲取該錯誤。如果你找到了解決方案,你可以發佈它嗎?感謝:-) – raspayu 2015-04-12 18:26:53

回答

3

你毫無疑問已經這個現在排序,但我剛剛經歷過同樣的行程,撕毀了很多頭髮,終於成功了離開的背影...... :-)

我使用帶wvdial的ZTE棒進行互聯網連接。該棍子在/ dev/USBtty0,1和2上顯示爲調制解調器。wvdial使用USBtty2,所以gammu(我認爲)必須使用不同的調制解調器。

因此,我在gammu-config和/ etc/gammu-smsdrc的USBtty1上安裝了gammu/gammu-smsd。接收守護進程gammu-smsd在啓動時自動啓動。

年輕球員的第一個陷阱 - 如果你想發送短信與 回聲「無論」|監務sendsms TEXT xxxyyyzzzz(其中最後一個是手機沒有) - 你需要殺死收到守護進程針對工作即

service gammu-smsd stop  # kill receive daemon 
echo etc etc gammu etc etc # send the SMS 
service gammu-smsd start # revive the receive daemon 

現在的RunOnReceive事情...

開始與sudovi - 給出一些配置文件來編輯。那裏有一條關於pi BLAH-BLAH-BLAH作爲sudoer的線。用gammu BLAH-BLAH-BLAH複製它。相同的BLAHs。保存。

這件事情做的權限 - 我不是一個專家在這裏:-)

所以我RunOnReceive線{須藤/home/pi/procSMS.sh $ SMS_1_TEXT}

劇本沒似乎不知道$ SMS_1_TEXT是什麼,所以我將它作爲參數傳遞 - 在腳本中它被視爲$ 1。有用。

在測試我跑在另一個窗口的過程 - 只是尾-f在/ var/log/syslog的,它可以讓你看它的所有實時...

+0

爲什麼不使用SMSD發送短信而不是停止它?請參閱http://wammu.eu/docs/manual/smsd/inject.html – 2015-07-14 06:57:56

0

我越來越對樹莓派同樣的錯誤結合華爲E3131(進程失敗,退出狀態爲1),但我解決了它。

  1. 請確保您已設置好文件權限。 Gammu默認在「gammu」用戶下運行deamon。因此,您可以將其更改爲(/etc/init.d/gammu-smsd)給已位於系統中的用戶並且有權執行該腳本。或通過以下方式更改腳本權限:chmod 755 script.sh。這意味着您也授予其他用戶執行權。 實際上還有其他選項。用參數-U username運行gammu deamon。不幸的是,當我使用root用戶時,它不適用於我。 PS:我建議不要將腳本放在/ etc目錄中。改爲使用/ home目錄。

  2. 打開調試/etc/gammu-smsdrc。在smsd節中使用參數:logformat和debuglevel。默認日誌位於/var/log/syslog。可能會幫助你深入本地化問題。

  3. 而最後的結果......我發現gammu即使運行腳本也會返回錯誤!你必須在你的bash腳本中編寫退出代碼。如果您未指定退出代碼,則gammu將其表示爲錯誤1.如果在腳本結束時成功添加exit 0並且錯誤消息消失。