2017-04-23 14 views
1

gammuを使用してSMSで変数を送信しようとしています。私の電話から私のラズベリーパイにメッセージを送信するときに私はpythonスクリプトを実行するgammu smsd runonreceiveを使用しています。これはスクリプトのようなものです。gammuで変数付きのSMSを送信する[python]

#!/usr/bin/python 
import os 

os.system("sh .webgps.sh > coordinates.text") 

file = "/home/pi/coordinates.text" 
with open(file) as f: 
(lat, long) = f.read().splitlines() 

os.system("echo lat | sudo gammu-smsd-inject TEXT 07xxxxxxxxx") 

このスクリプトは、gpsモジュールから緯度と経度を取得し、テキストファイルに格納するシェルスクリプトを実行します。次に、テキストファイルから値を取得し、lat変数に緯度を、long変数に経度を代入します。変数を出力すると、緯度と経度が表示され、テキストファイルの値と同じ値になるため、これが機能することを確認できます。

ここで問題があるビットは、私の電話に値を送信しています。私はpythonスクリプトを実行している場合、どのように現時点では、私は私の携帯電話で緯度を言うメッセージを取得します。私が望むのは、緯度と経度の実際の値を送信することです。変数をgammuに挿入する方法をテキスト行に挿入する方法はわかりません。

答えて

0

あなたの携帯電話に「lat」という文字列があります。これは、python var "lat"がos.systemエコーコールで簡単に解析されないためです。

シェルにPython変数を送信するのはちょっと変わった話です。これは働いていたこの@Dave

with open(file) as f: 
    (lat, long) = f.read().splitlines() 

cmd="echo "+lat+" | sudo gammu-smsd-inject TEXT 07xxxxxxxxx" 
os.system(cmd) 
+0

:似たような状況で私のために働いてい

一つの解決策は、このようなものでしょうか? –

関連する問題