我想制作一个使用 SMS 作为其基本引擎的聊天程序。为此,我需要通过连接到计算机上 COM7 的蓝牙与我的 GSM 手机通信。我可以使用 HyperTerminal、Tera Term 等很好地做到这一点。
但是要拥有一个不显眼、友好的界面,我需要一个命令行工具来通过我的 COM 端口向/从我的手机发送 AT 命令(并接收响应)。我一直在寻找几天无济于事。有什么我错过的吗?
我想制作一个使用 SMS 作为其基本引擎的聊天程序。为此,我需要通过连接到计算机上 COM7 的蓝牙与我的 GSM 手机通信。我可以使用 HyperTerminal、Tera Term 等很好地做到这一点。
但是要拥有一个不显眼、友好的界面,我需要一个命令行工具来通过我的 COM 端口向/从我的手机发送 AT 命令(并接收响应)。我一直在寻找几天无济于事。有什么我错过的吗?
这可能不是您想要的,但我编写了一个用于通过 AT 命令进行通信的 python 框架。它支持数据线、Linux 和 Windows 上的蓝牙(用 Python 2 编写)。
使用该框架构建的示例程序是RecNPlay。使用 RecNPlay,您可以在手机上记录(保存)和播放击键。
您可以以 RecNPlay 为例,编写自己的工具进行通信。RecNPlay 所构建的库称为 PyGSMLib,它为许多 AT 命令提供 python 包装器,并支持“AT 未经请求的结果”。
侦听诺基亚特定 GPRS 事件(如连接、与移动设备断开连接、通过网络断开连接)的示例 python 程序:
device = sys.argv[1]
sconn = None
comm = None
try:
sconn = Serial(device, 9600, timeout=3)
print "Initializing V250 connection...",
comm = V250Communicator(sconn)
print "ok"
gsm = NokiaController(comm, True)
gsm.nokiaEnableGprsEventReporting()
def listen(msg):
print "Unknown: %s" % str(msg)
comm.setUnsolicitedResultListener(listen)
import os
os.sys.stdin.readline()
finally:
if sconn:
sconn.close()