AT指令手册
来源:互联网 发布:windows server 10 编辑:程序博客网 时间:2024/05/22 12:24
一、英文短信
注意:直接输入命令是不显示命令的,你需要在开始输入ate1来设置显示命令。
发:AT
收:OK
发:AT+CMGF=1
收:OK
发:AT+CMGS="+8615083111880"
(选择性加+86)
发>data //data 为发送内容(enter 后以ctrl+z(0x1A)结束)
收:+CMGS: 54 OK
如果不成功,出现+CMS ERROR: 302 错误。再次发送AT+CMGF=1,AT+CMGS=13902433649。出现>,然后输入短信内容
二、中文PDU
短信
本文以一个实例来解说AT指令发送PDU短信的全过程,假如我要发送下面的短信:
接收号码:+8613902433649
短信内容:工作愉快!
短信中心号码:+8613800100500
1、短信中心号码处理:用字符串addr 表示
a、将短信息中心号码去掉+号,看看长度是否为偶数,如果不是,最后添加F 即
addr = "+8613800100500" => addr = "8613800100500F"
b、将奇数位和偶数位交换。
=> addr = "683108100005F0"
c、将短信息中心号码前面加上字符91,91是国际化的意思
=> addr = "91683108100005F0"
d、算出addr 长度,结果除2,格式化成2位的16进制字符串,16 / 2 = 8 => "08" => addr = "0891683108100005F0"
2、手机号码处理:用字符串phone
a、将手机号码去掉+号,看看长度是否为偶数,如果不是,最后添加F
即
phone = "+8613902433649" => phone = "8613902433649F"
b、将手机号码奇数位和偶数位交换。
=> phone = "683109423346F9"
3、短信息部分处理:用字符串msg表示
a、转字符串转换为Unicode代码,例如“工作愉快!”的unicode代码为5DE54F5C61095FEBFF01
,(转换在linux里可iconv函数实现。)
b、将msg 长度除2,保留两位16进制数,5DE54F5C61095FEBFF01 = 20 / 2 => "0A"
,再加上msg => msg = "0A5DE54F5C61095FEBFF01"
4、组合
a、手机号码前加上字符串11000D91(1100:固定,0D:手机号的长度,不算+号,十六进制表示,91:发送到手机为91,发送到小灵通为81)
即
phone = "11000D91" + phone => 11000D91683109423346F9
b、手机号码后加上000800和刚才的短信息内容,000800也写死就可以了即phone = phone + "000800" + msg
即
11000D91683109423346F9+000800+0A5DE54F5C61095FEBFF01 =>phone=11000D91683109423346F90008000A5DE54F5C61095FEBFF01
c、phone长度除以2,格式化成2位的十进制数即
11000D91683109423346F90008000A5DE54F5C61095FEBFF01 => 50位/ 2 => 25 11000D91688101279611F70008000A5DE54F5C61095FEBFF01
5、所以要发送的内容为
发:AT
收:OK
发:AT+CMGF=0
收:OK
发:AT+CMGS=25
收:>
发:addr+phone→
//→为发送符(ctrl+z,十六进制0x1A)
收:+CMGS: 54 OK 0891683108100005F011000D91688101279611F70008 000A 5DE5 4F5C 6109 5FEB FF01
6、如果返回不是ERROR,恭喜你,发送成功了
三、拨打电话
1、AT命令打电话,注意在拨的号码后面有个分号;
atd10086; OK
**2、如果有电话到来时,则是串口上将收到RING字符串,这时我们可以使用ATA命令摘机,如果不想接听,可以使用ATH挂断;
**
但是我没有接到RING。
四、AT常用命令
ATOK
1, 查模块制造商:
at+cgmiZTE INCORPORATEDOK
2, 查GPRS模块型号:
at+cgmmMF626OK
3, 查模块版本:
at+cgmrBD_TMOP673M3V1.0.1B07OK
4, 查SIM卡是否在位: at+cpin?
+CPIN: READYOK
5,查GPRS模块信号强度,其中”,”前的数字为信号强度,如下面示例中的12为信号强度。
at+csq+CSQ: 12,99OK
若信号强度为99,则无效。我这里信号强度一般在20左右。
6,查SIM卡是否注册上网络,其中”,”后的值为SIM卡的注册状态,如下面示例中的1.
OKat+creg?+CREG: 0,5OK
如果状态值为0,表示未注册;如果为1表示本地号码注册上;如果为2,表示正在搜索运营商注册,但没注册上;3表示拒绝注册;4,未知状态; 5, 漫游号码注册上。
7,查SIM卡运营商,如下面显示的”CHN-CUGSM”为中国联通的号码:
at+cops?+ COPS: 0,0,+ "China MobileCommunication Corp.",0OK
在UC864E模块上,使用AT+COPS?查询,则联通的号码将显示为”cmnet”,但在GTM900B/C, SIM5215上显示的是”CHN-CUGSM”. 中国移动的则为”China Mobile”,在现实的时候也有一些区别,例如在UC864E上中国移动显示为” China Mobile”,当中只有一个空格;而在GTM900B上则显示” China Mobile”,当中有两个空格。但是这上面是China Mobile Communication Corp.
8,短信相关命令:
设置短信格式为Text模式:
AT+CMGF=1 OK
设置短信格式为PDU模式:
AT+CMGF=0OK
四、几个要注意的问题
1、发送的指令用0x0D
结尾,注意不是通常认为的0x0四、几个要注意的问题D,0x0A。
特别是在发送PDU短信的
AT+CMGS=25命令时,一定只能以0x0D结尾。
2、在发送短信内容时,以0x1A(代表ctrl+Z的虚拟键值)结尾。
3、用AT+CMEE=1命令,可以在短信猫返回ERROR
时带上原因,这样方便调试。
AT其他命令操作:
http://blog.csdn.net/a_tu_/article/details/47808017
http://www.rosoo.net/a/201011/10451.html
http://blog.csdn.net/olillian/article/details/6714402
http://www.geek-workshop.com/thread-7644-1-1.html //底层代码实现
- AT指令中文手册
- AT指令中文手册
- AT指令中文手册
- SIMCOM手册AT指令
- AT指令手册
- AT指令中文手册2(详细解释)
- at 指令
- AT 指令
- at指令
- AT指令
- AT指令
- AT 指令
- AT指令
- AT指令
- AT指令
- AT指令
- AT指令
- at指令
- int、long、long long取值范围
- 生产者/消费者模式(阻塞队列)
- 作为纪念中国人民解放军建军90周年献礼巨制的《建军大业》和另一部军事题材影片《战狼2》全面引爆了征程过半的2017年暑期档。中国电影艺术研究中心联合艺恩开展的中国电影观众满意度•暑期档调查显示,截止7
- 网络编程获得本机IP
- Apache Beam WordCount编程实战及源码解读
- AT指令手册
- 201409-1 相邻数对
- 为什么建军大业满意度这么高
- MySQL主从复制配置
- 【Android】Audio音频输出通道切换
- 字符数组过滤特殊字符
- 企业级微信视频直播如何设定观看白名单(设定手机观看白名单、授权观看直播)
- 使用 namedParameterJdbcTemplate 模糊查询
- HTML5_京东首页(导航条、轮播部分)