【发布时间】:2012-04-12 09:17:13
【问题描述】:
我已将华为 Gprs 调制解调器连接到我的计算机。我想通过我的 delphi 应用程序接收发送到此设备的短信。
我不知道我该怎么做才能有人指出我正确的方向
【问题讨论】:
我已将华为 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 编码,我建议您访问this site。从调制解调器手册开始阅读有关调制解调器支持的 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 命令来阅读消息。
【讨论】: