【发布时间】:2016-02-26 03:30:13
【问题描述】:
我正在与 Raspberry Pi 中的 Fona 808 模块通信,我可以发出 AT 命令,是的!
现在我想制作一个 python 程序,在其中我可以使用诸如“b”之类的快捷命令可靠地发出 AT 命令,以获取电池电量等。
这是我目前所拥有的:
import serial
con = serial.Serial('/dev/ttyAMA0',timeout=0.2,baudraute=115200)
def sendAtCommand(command):
if command == 'b':
con.write("at+cbc\n".encode())
reply = ''
while con.inWaiting():
reply = reply + con.read(1)
return reply
while True:
x = raw_input("At command: ")
if x.strip() == 'q':
break
reply = sendAtCommand(x)
print(reply)
con.close()
在 sendAtCommand 中,我将有一堆 if 语句,它们根据接收到的输入发送不同的 at 命令。
这有点工作,但非常不可靠。有时我会收到完整的信息。其他时候我什么也得不到。然后下次发双信息,以此类推。
我想创建一种方法,向 Fona 模块发出命令,然后读取完整的响应并返回它。
有什么建议吗?
【问题讨论】:
标签: python-2.7 serial-port raspberry-pi at-command