AT指令流程及接听、

AT指令流程及接听、
⼀、英⽂短信
发:AT
收:OK
发:AT+CMGF=1
收:OK
发:AT+CMGS="+86150********"
收:>
低通滤波器应用实例发:data      //data 为发送内容(enter 后以ctrl+z(0x1A)结束)
收:+CMGS: 54 OK
如果不成功,出现+CMS ERROR: 302 错误。再次发送AT+CMGF=1,AT+CMGS="+86150********"。出现>,然后输⼊短信内容⼆、中⽂PDU短信
我⽤⼀个例⼦说明整个过程~
短信中⼼号码可以百度
+86138********  +86130********
上海移动 +86138******** 上海联通 +86130********
天津移动 +86138******** 天津联通 +86130********
重庆移动 +86138******** 重庆联通 +86130********
短信中⼼:+86138********
收信号码:+86134********
短信内容:我爱听评书
第⼀步——格式化短信中⼼号码
1 - 要去掉“+”号,然后看看长度要是奇数的话就在末尾追加⼀个“F”。
荸荠削皮机
+86138******** >>>> 8613800100500F
2 - 将奇数位和偶数位交换位置。
8613800100500F >>>> 683108100005F0
3 - 在前⾯加上“91”,是国际化的意思。
683108100005F0 >>>> 91683108100005F0
4 - 最后算⼀算它有多长了,把长度除于2,再把结果转换为2位的16进制数,加在最前⾯。
91683108100005F0长16 16/2=8 8的16进制“08” ⼀定要注意是2位
91683108100005F0 >>>> 0891683108100005F0
短信中⼼号码就处理完了,下⼏⼀步有类似的算法,现在我感觉就像做菜⼀样……
第⼆步——格式化收信号码
1 - 要去掉“+”号,然后看看长度要是奇数的话就在末尾追加⼀个“F”。
+86134******** >>>> 8613401041516F
眼模2 - 将奇数位和偶数位交换位置。
8613401041516F >>>> 683104011415F6
第三步——格式化发送内容
1 - 把字符串转换为Unicode格式。(转换函数我写过了,直接拿去⽤好了)
我爱听评书 >>>> 62117231542C8BC44E66
2 - 把串Unicode码的长度除于2,再把结果转换为2位的16进制数,加在最前⾯。
62117231542C8BC44E66长20 20/2=10 10的16进制“0A”
62117231542C8BC44E66 >>>> 0A62117231542C8BC44E66
先看看我们都准备什么了,再继续~
格式化后的短信中⼼:0891683108100005F0
格式化后的短信中⼼:0891683108100005F0
格式化后的收信号码:683104011415F6
格式化后的发送内容:0A62117231542C8BC44E66
第四步——组合处理
1 - 算⼀下收信号码的长度,不包括“+”号。这个收信号码指的是+86134********,⽽不是683104011415F6。
+86134******** >>>> 8613401041516 长度为“OD”(2位16进制数表⽰)
2 - 在长度前后分别加“1100”。
OD >>>> 1100OD
3 - 如果收信号码是⼿机的话就在后⾯追加“91”,如果是⼩灵通的话就要追加“81”。
+86134********是⼿机号码所以加“91”
11000D >>>> 11000D91
4 - 11000D91 + 格式化后的收信号码 + “000800” + 格式化后的发送内容
11000D91 >>>> 11000D91683104011415F60008000A62117231542C8BC44E66
5 - 计算上⾯那⼀⼤字符串的长度除于2,10进制表⽰。
11000D91683104011415F6008000A62117231542C8BC44E66长50 50/2=25
嗯,咱再看看⼿⾥都有啥了~
格式化后的短信中⼼:0891683108100005F0
实际的发送内容:11000D91683104011415F60008000A62117231542C8BC44E66
发送内容的长度:25
都准备好了我们可以发短信了 ^_^
最后⼀步——通过AT命令发送PDU短信
AT+CMGF=0 <Enter> (告诉它你要发的是PDU类的短信)
OK (这是它返回的它说:“我已经准备好了”)
AT+CMGS=25 <Enter> (告诉它你要发的实际长度)
>0891683108100005F011000D91683104011415F60008000A62117231542C8BC44E66 <Ctrl+Z> (看到它返回“>” 在后⾯输⼊格式化的短信中⼼+实际的发送内容最后按Ctrl+Z发送)
如果最后返回不是“ERROR”,那就是发送成功咯~!
三、
1、AT命令打电话,注意在拨的号码后⾯有个分号;
atd10086;
针式吸盘
OK
2、如果有电话到来时,则是串⼝上将收到RING字符串,这时我们可以使⽤ATA命令摘机,如果不想接听,可以使⽤ATH挂断;
但是我没有接到RING。
四、AT常⽤命令
at
OK
1,  查模块制造商:
at+cgmi
ZTE INCORPORATED
OK
2,  查GPRS模块型号:
at+cgmm
MF626
接线端子座
OK
3,  查模块版本:
at+cgmr
BD_TMOP673M3V1.0.1B07
OK
蔬菜保鲜柜4,  查SIM卡是否在位:
at+cpin?
+CPIN: READY
OK
5,查GPRS模块信号强度,其中”,”前的数字为信号强度,如下⾯⽰例中的12为信号强度。
at+csq
+CSQ: 12,99
OK
若信号强度为99,则⽆效。我这⾥信号强度⼀般在20左右。
6,查SIM卡是否注册上⽹络,其中”,”后的值为SIM卡的注册状态,如下⾯⽰例中的1.
OK
at+creg?
+CREG: 0,5
OK
如果状态值为0,表⽰未注册;如果为1表⽰本地号码注册上;如果为2,表⽰正在搜索运营商注册,但没注册上;3表⽰拒绝注册;4,未知状态; 5, 漫游号码注册上。
7,查SIM卡运营商,如下⾯显⽰的”CHN-CUGSM”为中国联通的号码:
at+cops?
+COPS: 0,0,"China Mobile Communication Corp.",0
OK
在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=0
OK

本文发布于:2024-09-23 15:19:36,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/126280.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:号码   短信   注册   发送   长度   模块   移动
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议