2012-04-12 31 views

回答

2

你将被要求使用AT命令通过串行端口调制解调器通讯(物理/模拟在USB的情况下) 。你可以搜索类似的程序和你需要发出什么AT命令来读取消息。

+1

您可以提供我一些源I可以使一个IDEEA。我曾与串口合作过,但我需要设置,如波特... – opc0de 2012-04-12 09:21:04

+0

设置将按照驱动程序,源代码,我知道一个API(smslib.org)在内部采用的所有的东西照顾,但其目前仅适用于Java和.net。 – 2012-04-12 09:24:34

3

现在我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知识是受欢迎的)。

4

使用相称或类似的库连接到调制解调器,然后使用这些扩展海耶斯命令:

输入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

相关问题