⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_62394.htm

📁 vc
💻 HTM
字号:
<p>
序号:62394 发表者:syncmaster 发表日期:2003-11-26 15:51:56
<br>主题:移动通讯的AT指令是什么冬冬???
<br>内容:有没有人介绍,或者提供资料我看看,谢谢
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:dstwwx 回复日期:2003-11-26 16:18:01
<br>内容:九十年代初,AT命令仅被用于modem操作。由于没有控制移动电话文本消息的先例,因此开发了一种叫SMS Block Mode的协议,通过终端设备(TE)或电脑来完全控制SMS。几年后,主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP共同为GSM研制了一整套AT命令,其中包含对SMS的控制。AT命令在此基础上演化并被加入GSM 07.05标准,以及之后的GSM 07.07标准。<BR>对SMS的控制共有三种实现途径: <BR>·&nbsp;&nbsp;&nbsp;&nbsp;最初的Block Mode <BR>·&nbsp;&nbsp;&nbsp;&nbsp;基于AT命令的Text Mode <BR>·&nbsp;&nbsp;&nbsp;&nbsp;基于AT命令的PDU Mode <BR>&nbsp;&nbsp;&nbsp;&nbsp;到现在,PDU已取代Block Mode,后者逐渐淡出。<BR>·&nbsp;&nbsp;&nbsp;&nbsp;什么是PDU Mode? <BR>它是发送或接收手机SMS消息的一种方法。消息正文经过十六进制编码后进行传送。<BR>·&nbsp;&nbsp;&nbsp;&nbsp;PDU命令有哪些? <BR>基本的PDU命令是AT+CMGR,AT+CMGL,AT+CMGS。例如读取电话上全部未读过的SMS消息,最简单的办法是用AT+CMGL=0;而用AT+CMGL=4则可读取全部SMS消息,无论已读过与否。<BR> <BR>实例:<BR>15:38:58 TX:AT<BR>15:39:05 TX:AT+CPMS=&#34;ME&#34;<BR>15:39:05 RX:AT+CPMS=&#34;ME&#34;<BR>15:39:05 RX:<BR>+CPMS: 15,15,4,10,15,15<BR><BR>15:39:05 RX:<BR>OK<BR><BR>15:39:07 TX:AT+CMGL=0<BR>15:39:07 RX:AT+CMGL=0<BR>15:39:07 RX:<BR>+CMGL: 5,0,,52<BR><BR>15:39:07<BR>RX:07914408020033F40407D0B1582C0600000030525183920028D43708<BR>2E7FD3CB633A888E2E83EE6F399B0C32CBDF6D10B96C0FCFE9617AFAED76B95C<BR>15:39:07 RX:<BR>OK<BR><BR>使用工具对上述收到的SMS进行解码后,可得到如下的解释:<BR><BR>IEI: 00<BR>LENGTH: 00<BR>MESSAGE REF: 00<BR>STATUS: 00<BR>SC Address length: 07<BR>SC Address type: 91<BR>Type of number: International<BR>Numbering plan identifier: E.164<BR>SC Address: 44802000334<BR>Message Type Indicator: 04<BR>Message Type: SMS-DELIVER / SMS-DELIVER REPORT<BR>More Messages To Send: No<BR>Status Report Indication: No<BR>Reply Path: No<BR>Originating Address Length: 07<BR>Originating Address type: D0<BR>Type of number: Alphanumeric<BR>Numbering plan identifier: Unknown<BR>Originating Address: 1B85C260<BR>Decoded: 1111<BR>Protocol Identifier: Default<BR>Data Coding Scheme: GSM Default Alphabet<BR>SC Timestamp: 00305251839200<BR>decoded: 00/03/25 15:38:29<BR>Time Zone: GMT+0.00H<BR>User Data Length: 28<BR>decimal: 40<BR>Message: To protect the world from devastation<BR>于是我们知道这条SMS消息的第一部分是:07914408020033F4<BR>&nbsp;&nbsp;&nbsp;&nbsp;07是跟在服务中心地址内的字节数;<BR>&nbsp;&nbsp;&nbsp;&nbsp;91是TON/NPI。TON/NPI遵守International/E.164标准,指在号码前需加‘+’号;此外还可有其他数值,但91最常用到。<BR>&nbsp;&nbsp;&nbsp;&nbsp;44080200033F4是所使用的服务中心地址,由于位置上略有处理,实际号码应为:<BR>&nbsp;&nbsp;&nbsp;&nbsp;44802000334F(字母F意指长度减1),这就是服务中心的准确地址(号码)。<BR><BR>下一单元是: 04<BR>&nbsp;&nbsp;&nbsp;&nbsp;这是文件头字节(header byte, 是一种bitmask)。将每个字节设为1时,有如下含义:<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;10000000<BR>&nbsp;&nbsp; 回复路径(Reply Path):移动电话可循发送SMS消息的短消息中心进行回复(但并非所有SMSC都会这样设置)。<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;01000000<BR>&nbsp;&nbsp;&nbsp;&nbsp;TP-UDH - 带有用户数据文件头。<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;00100000<BR>&nbsp;&nbsp;&nbsp;&nbsp;TP-Status-Report-Indication - 发送状态报告给发信人,表示消息收到。<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;00010000<BR>&nbsp;&nbsp;&nbsp;&nbsp;00001000<BR>&nbsp;&nbsp;&nbsp;&nbsp;此两类在正常的移动终接短消息(MT,Mobile Terminated SMS)中不会使用。<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;00000100<BR>&nbsp;&nbsp;&nbsp;&nbsp;TP-More Messages to Send - SMSC内再无新消息发送给该移动电话。<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;00000010<BR>&nbsp;&nbsp;&nbsp;&nbsp;00000001<BR>&nbsp;&nbsp;&nbsp;&nbsp;最后两个位数表示消息种类 - 10指是移动终接短消息(MT),01指移动起始短消息(MO,Mobile Originated SMS)。<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;所以&#34;04&#34;指此条消息是正常的移动终接短消息,SMSC内再无新消息发送给该手机。<BR><BR>&nbsp;&nbsp;从终端设备向蜂窝电话发送短消息文本是十分简单的。以下的代码片段就演示了这个过程。所使用的电话是Nokia 7100系列,并且ME (mobile equipment)是连接在计算的#1号通信端口上。<BR>&nbsp;&nbsp; 注意到Ctrl-Z是用来表示终结发送到移动设备的文本输入。<BR>使用Visual Basic来发送SMS文本到Nokia电话:<BR>&nbsp;&nbsp;&nbsp;&nbsp;' Set up the communications port<BR>&nbsp;&nbsp;&nbsp;&nbsp;MSComm1.CommPort = 1 ' Com Port 1<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;' Set for 9600 baud, no parity, 8 data, and 1 stop bit.<BR>&nbsp;&nbsp;&nbsp;&nbsp;MSComm1.Settings = &#34;9600,N,8,1&#34;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;' Tell the control to read entire buffer when Input is used<BR>&nbsp;&nbsp;&nbsp;&nbsp;MSComm1.InputLen = 0<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;' Open the port<BR>&nbsp;&nbsp;&nbsp;&nbsp;MSComm1.PortOpen = True<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;' Send an 'AT' command to the phone<BR>&nbsp;&nbsp;&nbsp;&nbsp;MSComm1.Output = &#34;AT&#34; &amp; Chr$(13) &amp; Chr(10)<BR>&nbsp;&nbsp;&nbsp;&nbsp;' The phone will respond with an 'OK'<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;' Set up the phone for a text message<BR>&nbsp;&nbsp;&nbsp;&nbsp;MSComm1.Output = &#34;AT+CMGF=1&#34; &amp; Chr$(13) &amp; Chr(10)<BR>&nbsp;&nbsp;&nbsp;&nbsp;' The phone will respond with an 'OK'<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;' Prep for SMS, give destination type and destination address.<BR>&nbsp;&nbsp;&nbsp;&nbsp;' Enter the destination type and destination address to prep for SMS<BR>&nbsp;&nbsp;&nbsp;&nbsp;' e.g. AT+CMGS=&#34;+2145551212&#34;,129<BR>&nbsp;&nbsp;&nbsp;&nbsp;MSComm1.Output = &#34;AT+CMGS= &#34; &amp; Chr(34) &amp; &#34;+2145551212&#34; &amp; Chr(34) &amp; &#34;,129&#34; &amp; Chr$(13) &amp; Chr(10) <BR>&nbsp;&nbsp;&nbsp;&nbsp;' The phone will return a'&gt;' prompt, and await entry of the SMS message text.<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;' Now send the text to the phone and terminate with (Ctrl-Z)<BR>&nbsp;&nbsp;&nbsp;&nbsp;MSComm1.Output = &#34;This is a test. WOW! &#34;<BR>&nbsp;&nbsp;&nbsp;&nbsp;' The phone will respond with a conformation containing the 'message reference number' eg. +CMGS: <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;' Close the port<BR>&nbsp;&nbsp;&nbsp;&nbsp;MSComm1.PortOpen = False<BR>在终端,看起来就象下面:<BR>&nbsp;&nbsp;&nbsp;&nbsp;AT<BR>&nbsp;&nbsp;&nbsp;&nbsp;OK<BR>&nbsp;&nbsp;&nbsp;&nbsp;AT+CMGF=1<BR>&nbsp;&nbsp;&nbsp;&nbsp;OK<BR>&nbsp;&nbsp;&nbsp;&nbsp;AT+CMGS=&#34;+15127752607&#34;,129<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;This is a test. WOW!<BR>&nbsp;&nbsp;&nbsp;&nbsp;+CMGS: 49<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;OK<BR>&nbsp;&nbsp; 想了解更多的有关发送SMS文本信息的内容,请参考GSM 07.05白皮书在ETSI Web site 。想了解更多Nokia关于SMS的信息,请去http://www.forum.nokia.com,并登陆到Smart Messaging forum。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -