手机开发实战128——AT介绍2
2016-06-10 20:14
302 查看
应用
在windows系统中有DOS命令行操作方式和图形用户界面操作方式,正常通过手机的菜单和按键对手机进行操作可以理解为图形用户界面操作方式,AT指令操作方式就相当于DOS命令行操作方式。
除了标准的AT指令外,每个手机平台厂商都自已定义了许多指令,且提供了扩展机制,开发者可以自己定义AT指令。利用AT指令几乎可以对手机进行所有操作。
现在的手机厂商在销售手机时,几乎都会提供配套的同步软件,实现手机和计算机之间的数据传输,如电话薄和短信等。这就是利用AT指令实现的。
在手机开发和生产中使用的许多修改手机参数的工具软件,也是利用AT指令实现的。
利用AT指令,还可以开发手机的自动化测试工具,提高测试手机的工作效率。
在开发手机软件时,许多功能无法用模拟器实现,每次修改了某个变量的值后,要先编译目标环境代码,然后再将bin文件下载到手机中验证,费时费力。可以利用AT功能,自定义AT指令,通过串口工具连接手机,实现动态修改变量数值,这样可以不用每次改完数值后,都编译然后再下载到手机中,提高了工作效率。
实例
实例一:
15:38:58 TX:AT
15:39:05 TX:AT+CPMS="ME"
15:39:05 RX:AT+CPMS="ME"
15:39:05 RX:
+CPMS: 15,15,4,10,15,15
15:39:05 RX:
OK
15:39:07 TX:AT+CMGL=0
15:39:07 RX:AT+CMGL=0
15:39:07 RX:
+CMGL: 5,0,,52
15:39:07
RX:07914408020033F40407D0B1582C0600000030525183920028D43708
2E7FD3CB633A888E2E83EE6F399B0C32CBDF6D10B96C0FCFE9617AFAED76B95C
15:39:07 RX:
OK
使用工具对上述收到的SMS进行解码后,可得到如下的解释:
IEI: 00
LENGTH: 00
MESSAGE REF: 00
STATUS: 00
SC Address length: 07
SC Address type: 91
Type of number: International
Numbering plan identifier: E.164
SC Address: 44802000334
Message Type Indicator: 04
Message Type: SMS-DELIVER / SMS-DELIVER REPORT
More Messages To Send: No
Status Report Indication: No
Reply Path: No
Originating Address Length: 07
Originating Address type: D0
Type of number: Alphanumeric
Numbering plan identifier: Unknown
Originating Address: 1B85C260
Decoded: 1111
Protocol Identifier: Default
Data Coding Scheme: GSM Default Alphabet
SC Timestamp: 00305251839200
decoded: 00/03/25 15:38:29
Time Zone: GMT+0.00H
User Data Length: 28
decimal: 40
Message: To protect the world from devastation
于是我们知道这条SMS消息的第一部分是:
07914408020033F4
07是跟在服务中心地址内的字节数;
91是TON/NPI。TON/NPI遵守International/E.164标准,指在号码前需加‘+’号;此外还可有其他数值,但91最常用到。
44080200033F4是所使用的服务中心地址,由于位置上略有处理,实际号码应为:
44802000334F(字母F意指长度减1),这就是服务中心的准确地址(号码)。
下一单元是:
04
这是文件头字节(header byte,是一种bitmask)。将每个字节设为1时,有如下含义:
10000000
回复路径(Reply Path):移动电话可循发送SMS消息的短消息中心进行回复(但并非所有SMSC都会这样设置)。
01000000
TP-UDH - 带有用户数据文件头
00100000
TP-Status-Report-Indication - 发送状态报告给发信人,表示消息收到
00010000
00001000
此两类在正常的移动终接短消息(MT,Mobile Terminated SMS)中不会使用。
00000100
TP-More Messages to Send - SMSC内再无新消息发送给该移动电话。
00000010
00000001
最后两个位数表示消息种类 - 10指是移动终接短消息(MT),01指移动起始短消息(MO,Mobile
Originated SMS)。
所以"04"指此条消息是正常的移动终接短消息,SMSC内再无新消息发送给该手机。
在windows系统中有DOS命令行操作方式和图形用户界面操作方式,正常通过手机的菜单和按键对手机进行操作可以理解为图形用户界面操作方式,AT指令操作方式就相当于DOS命令行操作方式。
除了标准的AT指令外,每个手机平台厂商都自已定义了许多指令,且提供了扩展机制,开发者可以自己定义AT指令。利用AT指令几乎可以对手机进行所有操作。
现在的手机厂商在销售手机时,几乎都会提供配套的同步软件,实现手机和计算机之间的数据传输,如电话薄和短信等。这就是利用AT指令实现的。
在手机开发和生产中使用的许多修改手机参数的工具软件,也是利用AT指令实现的。
利用AT指令,还可以开发手机的自动化测试工具,提高测试手机的工作效率。
在开发手机软件时,许多功能无法用模拟器实现,每次修改了某个变量的值后,要先编译目标环境代码,然后再将bin文件下载到手机中验证,费时费力。可以利用AT功能,自定义AT指令,通过串口工具连接手机,实现动态修改变量数值,这样可以不用每次改完数值后,都编译然后再下载到手机中,提高了工作效率。
实例
实例一:
15:38:58 TX:AT
15:39:05 TX:AT+CPMS="ME"
15:39:05 RX:AT+CPMS="ME"
15:39:05 RX:
+CPMS: 15,15,4,10,15,15
15:39:05 RX:
OK
15:39:07 TX:AT+CMGL=0
15:39:07 RX:AT+CMGL=0
15:39:07 RX:
+CMGL: 5,0,,52
15:39:07
RX:07914408020033F40407D0B1582C0600000030525183920028D43708
2E7FD3CB633A888E2E83EE6F399B0C32CBDF6D10B96C0FCFE9617AFAED76B95C
15:39:07 RX:
OK
使用工具对上述收到的SMS进行解码后,可得到如下的解释:
IEI: 00
LENGTH: 00
MESSAGE REF: 00
STATUS: 00
SC Address length: 07
SC Address type: 91
Type of number: International
Numbering plan identifier: E.164
SC Address: 44802000334
Message Type Indicator: 04
Message Type: SMS-DELIVER / SMS-DELIVER REPORT
More Messages To Send: No
Status Report Indication: No
Reply Path: No
Originating Address Length: 07
Originating Address type: D0
Type of number: Alphanumeric
Numbering plan identifier: Unknown
Originating Address: 1B85C260
Decoded: 1111
Protocol Identifier: Default
Data Coding Scheme: GSM Default Alphabet
SC Timestamp: 00305251839200
decoded: 00/03/25 15:38:29
Time Zone: GMT+0.00H
User Data Length: 28
decimal: 40
Message: To protect the world from devastation
于是我们知道这条SMS消息的第一部分是:
07914408020033F4
07是跟在服务中心地址内的字节数;
91是TON/NPI。TON/NPI遵守International/E.164标准,指在号码前需加‘+’号;此外还可有其他数值,但91最常用到。
44080200033F4是所使用的服务中心地址,由于位置上略有处理,实际号码应为:
44802000334F(字母F意指长度减1),这就是服务中心的准确地址(号码)。
下一单元是:
04
这是文件头字节(header byte,是一种bitmask)。将每个字节设为1时,有如下含义:
10000000
回复路径(Reply Path):移动电话可循发送SMS消息的短消息中心进行回复(但并非所有SMSC都会这样设置)。
01000000
TP-UDH - 带有用户数据文件头
00100000
TP-Status-Report-Indication - 发送状态报告给发信人,表示消息收到
00010000
00001000
此两类在正常的移动终接短消息(MT,Mobile Terminated SMS)中不会使用。
00000100
TP-More Messages to Send - SMSC内再无新消息发送给该移动电话。
00000010
00000001
最后两个位数表示消息种类 - 10指是移动终接短消息(MT),01指移动起始短消息(MO,Mobile
Originated SMS)。
所以"04"指此条消息是正常的移动终接短消息,SMSC内再无新消息发送给该手机。
相关文章推荐
- 如何在vs2010中使用SSE指令集
- 【模拟退火算法】
- 2547 东方辉针城
- 单元测试中Assert类的用法
- 手机开发实战127——AT介绍1
- JAVA 实用类库及其应用
- 偏最小二乘法程序运算结果
- Android 屏幕保持常亮
- 手机开发实战126——VCARD介绍4
- ArcGIS 10.x geodatabase attachment之外业篇
- Linux内核-容器之namespace
- 手机开发实战125——VCARD介绍3
- [ASP.NET] 如何利用Javascript分割檔案上傳至後端合併
- 关于jquery动画中的淡入淡出的理解
- SSH框架
- 手机开发实战124——VCARD介绍2
- UITableView性能优化 以及动态计算cell高度 新方法
- [LeetCode][9]Palindrome Number解析与StringBuilder.reverse()源码实现 -Java实现
- mysq双宿主机搭建
- hdu 2619 Love you Ten thousand years(数论,待解决)