我需要一段代码来帮助我通过短信与华为3G加密狗发送天气预报。AT命令在python的短信文本中发送
它的工作,但这里是我得到:
AT+CMGF=1
AT+CMGS="+12345678"
It's partly cloudy and 20C now in Wahren.
为什么我收到那些AT字符串?
import pywapi
import string
import serial
weather_com_result = pywapi.get_weather_from_weather_com('AGXX0006')
sms_text = "It's " + string.lower(weather_com_result['current_conditions']['text']) + " and " + weather_com_result['current_conditions']['temperature'] + "C now in Wahren.\n\n"
dongle = serial.Serial(port="COM6",baudrate=460800,timeout=0,rtscts=0,xonxoff=0)
def sendatcmd():
number = "+12345678"
dongle.write('AT+CMGF=1\r')
dongle.write('AT+CMGS="' +number+'"\r')
dongle.write(str(sms_text)+"\r")
dongle.write(chr(26))
dongle.close()
print "sent"
sendatcmd()
2014-04-09
Bilel_a
+0
Python如何获得对此类处理器的访问权限(以便它可以读取/写入AT命令)。在Android中,该访问由无线接口层(RIL)提供,并且用户可以*不*有权访问它。 –
+0
由于操作系统将USB视为COM端口,并且正在使用python串行库,所以我不认为主控处理器正在处理AT命令,而只是将其转发到串行/ USB接口作为仅由加密狗解释的数据,就像任何其他串行数据一样。 –
+0
SMS短信需要后回车吗? http://www.diafaan.com/sms-tutorials/gsm-modem-tutorial/at-cmgs-text-mode/表示否则。这可能会使解析器混淆。 –