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/
短信操作步骤及相关命令:
(1)设置短信格式(文本=0、RTU=1)——AT+CMGF=1
(2)设置短信存储载体——AT+CPMS=”SM”,”SM”,”SM”
(3)发送短信—AT+CMGS==”+80″
>DATA +0X1A
收:+CMGS: 54 OK
(4)读取短信—AT+CMGR=n
(5)删除短信—-AT+CMGD
PDU短信:
二、中文PDU短信 https://blog.csdn.net/a_tu_/article/details/
我用一个例子说明整个过程~
短信中心号码可以百度
北京移动 +00 北京联通 +00
上海移动 +00 上海联通 +00
天津移动 +00 天津联通 +00
重庆移动 +00 重庆联通 +00
短信中心:+00收信号码:+16短信内容:我爱听评书第一步——格式化短信中心号码
1 – 要去掉“+”号,然后看看长度要是奇数的话就在末尾追加一个“F”。+00 >>>> 00F2 – 将奇数位和偶数位交换位置。
00F >>>> 5F03 – 在前面加上“91”,是国际化的意思。5F0 >>>> 005F04 – 最后算一算它有多长了,把长度除于2,再把结果转换为2位的16进制数,加在最前面。
005F0长16 16/2=8 8的16进制“08” 一定要注意是2位005F0 >>>> 00005F0短信中心号码就处理完了,下几一步有类似的算法,现在我感觉就像做菜一样……第二步——格式化收信号码
1 – 要去掉“+”号,然后看看长度要是奇数的话就在末尾追加一个“F”。+16 >>>> 16F2 – 将奇数位和偶数位交换位置。
16F >>>> 5F6第三步——格式化发送内容1 – 把字符串转换为Unicode格式。(转换函数我写过了,直接拿去用好了)我爱听评书 >>>> C8BC44E662 – 把串Unicode码的长度除于2,再把结果转换为2位的16进制数,加在最前面。C8BC44E66长20 20/2=10 10的16进制“0A”C8BC44E66 >>>> 0AC8BC44E66先看看我们都准备什么了,再继续~格式化后的短信中心:00005F0格式化后的收信号码:5F6格式化后的发送内容:0AC8BC44E66第四步——组合处理1 – 算一下收信号码的长度,不包括“+”号。这个收信号码指的是+16,而不是5F6。
+16 >>>> 16 长度为“OD”(2位16进制数表示)2 – 在长度前后分别加“1100”。
OD >>>> 1100OD3 – 如果收信号码是手机的话就在后面追加“91”,如果是小灵通的话就要追加“81”。
+16是手机号码所以加“91”
11000D >>>> 11000D914 – 11000D91 + 格式化后的收信号码 + “000800” + 格式化后的发送内容11000D91 >>>> 11000D415FAC8BC44E665 – 计算上面那一大字符串的长度除于2,10进制表示。
11000D415FAC8BC44E66长50 50/2=25嗯,咱再看看手里都有啥了~格式化后的短信中心:00005F0实际的发送内容:11000D415FAC8BC44E66发送内容的长度:25都准备好了我们可以发短信了 ^_^最后一步——通过AT命令发送PDU短信AT+CMGF=0 (告诉它你要发的是PDU类的短信)OK (这是它返回的它说:“我已经准备好了”)AT+CMGS=25 (告诉它你要发的实际长度)>00005F011000D415FAC8BC44E66
(看到它返回“>” 在后面输入格式化的短信中心+实际的发送内容最后按Ctrl+Z发送
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204639.html原文链接:https://javaforall.net
