说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在VB.NET中用AT命令发送手机短信(SMS)

HTML文档下载 WORD文档下载 PDF文档下载
介绍如何实现从PC通过带GSM modem的GSM手机发送短信。
介绍
代码实现了从PC通过带GSM modem的GSM手机发送短消息。
背景
我们所使用的AT命令被用于电脑和MODEM间的通讯。
Microsoft windows提供了超级终端软件可以实现这一通讯过程。
开始->程序->附件->通讯->超级终端
可以在里面输入AT命令,超级终端与MODEM/手机直接通讯来控制它们。
它返回OK或错误信息的回应。如果我们需要在应用程序中发送SMS,需要手工键入命令的超级终端就用不上了。
你需要选择MODEM/手机所连接的COM端口(对于MODEM端口可以是串口,对于手机可以是USB端口)
请参考下面的代码:

收件,连接MODEM或手机。到设备管理器查看MODEM/手机连接到了哪个COM口(如COM3,COM4)

下载源代码

介绍

代码实现了从PC通过带GSM modem的GSM手机发送短信。

背景

我们所使用的AT命令被用于电脑和MODEM间的通讯。

Microsoft windows提供了超级终端软件可以实现这一通讯过程。

开始->程序->附件->通讯->超级终端

可以在里面输入AT命令,超级终端与MODEM/手机直接通讯来控制它们。

它返回OK或错误信息的回应。如果我们需要在应用程序中发送SMS,需要手工键入命令的超级终端就用不上了。

你需要选择MODEM/手机所连接的COM端口(对于MODEM端口可以是串口,对于手机可以是USB端口)

请参考下面的代码:

首先,连接MODEM或手机。到设备管理器查看MODEM/手机连接到了哪个COM口(如COM3,COM4)

//// 如果设备管理器中显示是 COM3,请把COM4改为COM3//Dim SMSEngine As New SMSCOMMS("COM4")'端口需要初始化SMSPort = New SerialPort        With SMSPort            .PortName = COMMPORT            .BaudRate = 19200            .Parity = Parity.None            .DataBits = 8            .StopBits = StopBits.One            .Handshake = Handshake.RequestToSend            .DtrEnable = True            .RtsEnable = True            .NewLine = vbCrLf        End With '将AT命令写入串口SMSPort.WriteLine("AT")'命令信息格式为文本模式:1SMSPort.WriteLine("AT+CMGF=1" & vbCrLf) '设置服务中心号码SMSPort.WriteLine("AT+CSCA=""+919822078000""" & vbCrLf)             ' 短信接收者的手机号码SMSPort.WriteLine("AT+CMGS=  + TextBox1.text + " & vbCrLf) _ContSMS = FalseSMSPort.WriteLine("+ TextBox1.text +" & vbCrLf & Chr(26)) '发送短信Dim i As IntegerPrivate Sub Button1_Click(ByVal sender As System.Object,       ByVal e As System.EventArgs) Handles Button1.Click        SMSEngine.Open() '打开端口        SMSEngine.SendSMS() '发送短信End Sub
代码中定义了一个SMSCOMMS类,代码很简单,查看注释便能理解。

关于服务中心号码(service center number)
移动公司通常已经将正确的服务中心号码预设在SIM卡的配置文件中。许多手机都提供给用户查看或更改服务中心号码的方法。例如,Nokia 6021手机可以通过菜单->消息->消息设置->文字消息->发送配置->默认配置->消息中心号码 查看。
一些GSM/GPRS modem和手机(例如Nokia 6021,Sony Ericsson T68i, Philips 598等)会将配置文件中的服务中心号码作为+CSCA AT命令的默认值,对于这些机子,如果默认的服务中心号码是正确的,你不需要用+CSCA AT命令来设置。
代码我在NOKIA 5310,NOKIA 3500上测试过了,都能正常工作。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘