2

我已将华为 Gprs 调制解调器连接到我的计算机。我想通过我的 delphi 应用程序接收发送到此设备的短信。

我不知道我该怎么做才能有人指出我正确的方向

4

3 回答 3

4

使用 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

于 2012-04-13T20:04:44.003 回答
3

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 知识)。

于 2012-04-13T19:39:00.023 回答
2

您将需要通过串行端口使用 AT 命令与调制解调器进行通信(物理/在 USB 的情况下为模拟)。您可以搜索类似的程序以及您需要发出哪些 AT 命令来阅读消息。

于 2012-04-12T09:19:20.463 回答