2017-04-23 13 views
1

gammu를 사용하여 SMS에서 변수를 보내려고합니다. 나는 내 전화에서 내 나무 딸기 파이에 메시지를 보낼 때 파이썬 스크립트를 실행하려면 gammu smsd runonreceive를 사용하여. 이것이 스크립트의 모양입니다. 내 GPS 모듈에서 위도와 경도를 가져오고 텍스트 파일에두고 쉘 스크립트를 실행 무엇이 스크립트가 수행입니다gammu에서 변수와 함께 SMS 보내기 [파이썬]

#!/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") 

. 그런 다음 텍스트 파일에서 값을 가져 와서 lat 변수에 위도를 넣고 long 변수에 경도를 넣습니다. 변수를 인쇄 할 때 위도와 경도를 볼 수 있고 텍스트 파일에있는 값과 같은 값을 가지기 때문에 이것이 작동하는지 확인할 수 있습니다.

이제 문제가있는 비트가 내 전화로 값을 보냅니다. 만약 내가 파이썬 스크립트를 실행하는 방법은 현재, 그때 내 휴대 전화에서 메시지를 얻을 위도를 말한다. 내가 원하는 것은 위도와 경도의 실제 값을 전송하는 것입니다. 변수를 감마 입력 텍스트 행에 삽입하는 방법을 모릅니다.

답변

0

파이썬 var "lat"가 os.system 에코 호출에서 쉽게 파싱되지 않기 때문에 휴대 전화에 "lat"가 나타납니다.

쉘에 파이썬 변수를 보내는 것은 다소 이상한 이야기입니다.

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

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

이 일이 @ 데이브 : 비슷한 상황에서 나를 위해 일했다

하나의 솔루션은 다음과 같이 하나? –