我已将华为 Gprs 调制解调器连接到我的计算机。我想通过我的 delphi 应用程序接收发送到此设备的短信。
我不知道我该怎么做才能有人指出我正确的方向
使用 ComPort 或类似的库连接到调制解调器,然后使用这些扩展的 Hayes 命令:
要输入 PIN 码:
AT+CPIN=<pin_code>
使用文本模式而不是 PDU
AT+CMGF=1
要开始实时接收短信而不进行轮询并保存到 SIM 卡:
AT+CNMI=1,2,0,1,1
要发送短信:
AT+CMGS="<recipient>"
Message body.<char #27>
这可能足以让您入门,如果您想要更多功能,您应该真正学习 PDU 语法,它非常强大。
你也可以参考我几年前写的一个简单的短信网关: SmsManager.pas
10 年前我写了一个成熟的商业短信网关。所以我想我可以帮助你:)
您需要熟悉短信的 PDU 编码,因为这将为您提供最大的灵活性。为了更好地理解 PDU 编码,我建议您访问此站点。从调制解调器手册开始阅读有关调制解调器支持的 AT 命令集也非常有用。大多数命令是通用的,并且所有调制解调器品牌都支持。
以下是一些帮助您入门的命令:
AT+CMGS : to send an sms
AT+CMGR : to read an sms
AT+CMGD : to delete an sms from the mobile
如果您想了解如何与调制解调器通信、解码/编码消息、转换字符集等,我建议您查看 ( kannel sms gateway ) 的源代码。(提示:在文件夹 gw\smsc 下搜索文件 smsc_at.c)。代码是用 c 编写的,但应该不难理解(不过,欢迎了解一点 C 知识)。
您将需要通过串行端口使用 AT 命令与调制解调器进行通信(物理/在 USB 的情况下为模拟)。您可以搜索类似的程序以及您需要发出哪些 AT 命令来阅读消息。