我正在一个需要GPRS连接并同时发送SMS的项目中工作。
我正在使用Raspberry Pi和adafruit fona。
我按照此FONA Tethering to Raspberry Pi教程建立了GPRS连接。
我没有使用ttyAMA0。我将其更改为ttyUSB0
,然后使用USB至TTL连接。
我已经成功建立了GPRS连接,但是问题是当我的Python代码尝试使用AT命令发送SMS时,它将无法工作。
这是我发送短信的方式:
modem=serial.Serial('/dev/ttyUSB0',115200,timeout=5)
modem.write("AT+CMGF=1\r".encode())
time.sleep(1)
modem.write('AT+CMGS="00*******"\r\n'.encode())
time.sleep(1)
modem.write("message\r".encode())
time.sleep(1)
modem.write(ascii.ctrl('z').encode())
time.sleep(1)
为什么在GPRS无法正常工作时,代码仅发送SMS?
最佳答案
从大约1年以来,我还在使用fona来发送短信和http帖子。 SMS接收命令和发布以将更新发送到云。
首先要可靠地接收短信,必须将fona打开20秒钟(我使用太阳能运行系统-因此在不需要时完全关闭fona)。
发送SMS的速度可能快于20秒,但是无论如何,我还是建议在打开fona时提出以下占空比:
fona已打开
gprs已开启
发送数据(需要几秒钟)
关闭gprs
等到fona开启后至少经过20秒,以确保已收到短信
检查短信
如果需要,发送答复短信
因此,我认为当时必须关闭gprs才能接收或发送短信。它还消耗了更多的电量。
关于python - 编程:adafruit Fona gprs + sms?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40563462/