码迷,mamicode.com
首页 > 其他好文 > 详细

EC20指令

时间:2019-05-31 00:48:01      阅读:902      评论:0      收藏:0      [点我收藏+]

标签:ofo   mst   国际   说明   none   log   col   而不是   family   

SIM卡热插拔检测:

AT+QSIMSTAT=1          //开启SIM卡热拔插状态报告
AT+QSIMDET=1,1或AT+QSIMDET=1,0//开启 SIM卡检测功能
当SIM卡拔出或者插上的时候,模块会有相应的提示:
+CPIN:NOT READY
AT+QSIMSTAT=1,1或AT+QSIMSTAT=1,0

二 ICCID唯一的号码与设备建立注册

三发送AT+CIPSTART="TCP","IP地址",端口号,返回CONNECT OK

查询用户号码:AT+CNUM

 

四短信操作:https://blog.csdn.net/woshishui918/article/details/79051473

短信操作步骤及相关命令:

(1)设置短信格式(文本=0、RTU=1)------AT+CMGF=1

(2)设置短信存储载体------AT+CPMS="SM","SM","SM"

(3)发送短信---AT+CMGS=="+8615083111880"

 >DATA +0X1A

 收:+CMGS: 54 OK

(4)读取短信---AT+CMGR=n

(5)删除短信----AT+CMGD

PDU短信:

 

二、中文PDU短信 https://blog.csdn.net/a_tu_/article/details/47808017

 

我用一个例子说明整个过程~

 

短信中心号码可以百度

 

北京移动 +8613800100500 北京联通 +8613010112500  
上海移动 +8613800210500 上海联通 +8613010314500  
天津移动 +8613800220500 天津联通 +8613010130500  
重庆移动 +8613800230500 重庆联通 +8613010831500  

    短信中心:+8613800100500
    收信号码:+8613401041516
    短信内容:我爱听评书

第一步——格式化短信中心号码
1 - 要去掉“+”号,然后看看长度要是奇数的话就在末尾追加一个“F”。
    +8613800200500 >>>> 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”。
    +8613401041516 >>>> 8613401041516F
2 - 将奇数位和偶数位交换位置。
    8613401041516F >>>> 683104011415F6

第三步——格式化发送内容
1 - 把字符串转换为Unicode格式。(转换函数我写过了,直接拿去用好了)
    我爱听评书 >>>> 62117231542C8BC44E66
2 - 把串Unicode码的长度除于2,再把结果转换为2位的16进制数,加在最前面。
    62117231542C8BC44E66长20 20/2=10 10的16进制“0A”
    62117231542C8BC44E66 >>>> 0A62117231542C8BC44E66

先看看我们都准备什么了,再继续~
    格式化后的短信中心:0891683108100005F0
    格式化后的收信号码:683104011415F6
    格式化后的发送内容:0A62117231542C8BC44E66

第四步——组合处理
1 - 算一下收信号码的长度,不包括“+”号。这个收信号码指的是+8613401041516,而不是683104011415F6。
    +8613401041516 >>>> 8613401041516 长度为“OD”(2位16进制数表示)
2 - 在长度前后分别加“1100”。
    OD >>>> 1100OD
3 - 如果收信号码是手机的话就在后面追加“91”,如果是小灵通的话就要追加“81”。
    +8613401041516是手机号码所以加“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发送

EC20指令

标签:ofo   mst   国际   说明   none   log   col   而不是   family   

原文地址:https://www.cnblogs.com/jieruishu/p/10952854.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!