千万不要用旧的2G,3G的手机卡去测试4G模块,如果真没4G卡一定要自己注意这个情况,不然你会测试得怀疑人生。
如公司用的SIMCOM和移远这两牌子的模块,搞短信把我搞蒙,搞到LTE短信方案相关知识去到没搞明白,最后发现是卡不是4G卡,而模块自动启用了4G LTE网络去连接基站。没重启模块,各项指令检测正常返回。
下面是SIMCOM7600系列模块测试设备,网络是自动AT+CNMP=2设置了模块自动选择最佳网络,家里2G和3G信号不好,测试有信号,也读卡设备也闪灯,基本确定正常,然后是下面发送短信测试指令
正常情况:
AT
OK
AT+CCID //检测读卡,标识码我下面注释,你自己根据实际情况看
+CCID:XXXXXX
AT+CSQ //查看信号正常
+CSQ: 15,99
AT+CSMP=17.167.2.25 //设置文本模式发送中文短信。
OK
AT+CMGF=1 //设置模块以文本模式进行工作
OK
AT+CMGS="00310035003100310038003100330031003400390034" //双引号里是手机号码转换成UCS2-BIG编码
>817E4EA879D1628077ED4FE16D4B8BD5 //箭头后面内容是内容经过UCS2-BIG转码
+CMGS: 175 //返回短信提交成功位置是第175条。
OK
发送成功能正常接收短信。
测试一
不正常情况:
考虑到有些客户2G信号弱的地方使用4G设备,有时2G显示有信号但是发送短信失败,那就会强制让设备选择4G网络进行通讯的,检测读卡,信号值都足已满足短信收发,实际却是有问题。
AT+CNMP=38 //设置指定使用LTE网络
OK
AT+CFUN=0 //关闭射频
OK
AT+CFUN=1 //打开模块射频及全功能
OK
+CPIN: READY
SMS DONE
PB DONE //返回完上面几个值说明卡和网络都准备好了
AT+CCID //检测读卡,标识码我下面注释,你自己根据实际情况看
+CCID:XXXXXX
AT+CSQ //查看信号
+CSQ: 9,99 //信号很弱但还没到影响发不出短信
AT+CSMP=17.167.2.25 //设置文本模式发送中文短信。
OK
AT+CMGF=1 //设置模块以文本模式进行工作
OK
AT+CMGS="00310035003100310038003100330031003400390034" //双引号里是手机号码“15118131494”转换成UCS2-BIG编码
>817E4EA879D1628077ED4FE16D4B8BD5 //箭头后面内容是“腾亨科技短信测试”内容经过UCS2-BIG转码
中间要等很久才有信息返回,这个情况一般就是发送失败的了,只是模块超时程序没过要等跑完发回信息,大概1分钟左右
+CMS ERROR: Unknow error //我去,不清楚什么错误代码,这个就崩溃了
然后一直找啊找,翻看官方AT手册,百度很多文章看,开始怀疑难道LTE发短信跟2G,3G不一样?找资料,找服务商的一些LTE短信方案看有没资料(知识不够看不明)
测试二
今天又一个客户问为什么设备到现成就发不了短信,各项指令都正常,然后又查呀查,找到一个指令AT+CPSI?,自己家里演示
AT+CPSI?
+CPSI: NO SERVICE.Online //原来返回没服务,说明其实设备没找到可用的基站服务器。
AT+CNMP=2
OK
AT+CFUN=0 //关闭射频
OK
AT+CFUN=1 //打开模块射频及全功能
OK
+CPIN: READY
SMS DONE
PB DONE //返回完上面几个值说明卡和网络都准备好了
AT+CPSI?
+CPSI: GSM,Online,460-00,0x27b8,60176,43 EGSM 900,-92,0,13-137 //返回GSM网络即2G
AT+CMGS="00310035003100310038003100330031003400390034" //双引号里是手机号码转换成UCS2-BIG编码
>817E4EA879D1628077ED4FE16D4B8BD5 //箭头后面内容是内容经过UCS2-BIG转码
+CMGS: 176 //返回短信提交成功位置是第176条。
发送成功,正常接收短信。
测试三
换一张4G卡
AT+CNMP=38 //设置指定使用LTE网络
OK
AT+CFUN=0 //关闭射频
OK
AT+CFUN=1 //打开模块射频及全功能
OK
+CPIN: READY
SMS DONE
PB DONE //返回完上面几个值说明卡和网络都准备好了
AT+CPSI?
+CPSI: NO SERVICE.Online //原来返回还是没服务,使用更高级重启指令
AT+CFUN=6 //断电重启模块
+CPIN: READY
SMS DONE
PB DONE //返回完上面几个值说明卡和网络都准备好了
AT+CPSI?
+CPSI: LTE,Online,460-00,0x27B8,45937943,260,EUTRAN-BAND39,38544,3,3,-90,-1171,-931,12//OK有4G LTE网络了
下面测试发送短信
AT+CMGS="00310035003100310038003100330031003400390034" //双引号里是手机号码转换成UCS2-BIG编码
>817E4EA879D1628077ED4FE16D4B8BD5 //箭头后面内容是内容经过UCS2-BIG转码
+CMGS: 177 //返回短信提交成功位置是第177条。
短信成功,正常接收,然后跟客户收更换一张4G卡试试吧,客户反馈过来问题解决。就是因为用了一张2G卡导致的。
下次遇到同样问题还有一个高级AT命令可以查看所以设置的,今天先不说,下次有机会说说,也是查资料看到的。
AT^SYSINFO返回系统信息,根绝数值可以知道对应是什么情况。部分软件也用到这个指令进行判断当前什么网络来切换网络使用其他功能。