IoT模组使用笔记(二):EC21、EC200指令流程、设置休眠、升级模组、切换运营商等

这篇具有很好参考价值的文章主要介绍了IoT模组使用笔记(二):EC21、EC200指令流程、设置休眠、升级模组、切换运营商等。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

5.1 EC20和5.2 BC20是最开始接触4G模组的使用记录,参考意义不是很大。后来新工作转做Iot,开始慢慢扩充这篇笔记。

5.1 EC20

5.1.1 注册网络失败。

如下图所示:
移远休眠,IOT,BC20
将APN修改为SIM卡对应的运行商,多次发送AT+QICSGP=1,1,“CTNET”,“”,“”,0指令,然后复位开发板即可。如下图所示:
移远休眠,IOT,BC20

5.1.2 TCP连接指令流程:

EC20模块AT命令讲解
EC20 TCP/IP指令例程
移远M26,三分钟打通TCP流程,AT指令详解

在linux端操作:
移远EC20 4G模块Linux驱动移植和测试

5.2 BC20

5.2.1 上电指令流程

AT\r\n
AT+QSCLK=0\r\n	;禁用休眠模式
AT+CPIN?\r\n	;检查是否需要密码
AT+CFUN=0\r\n	;设置为最小功能
AT+QBAND=0\r\n	;设置为所有工作频段
AT+QCSEARFCN\r\n;清除 NB-IoT 存储的 EARFCN 列表
AT+CFUN=1\r\n	;设置为全功能
AT+CGATT=1\r\n	;附着网络,要多等一会
AT+CSQ\r\n		;上报信号质量
AT+CEREG?\r\n	;查询网络注册状态
AT+CGATT?\r\n	;查询
AT+CGPADDR?\r\n	;

5.3 EC21-KL

5.3.1 休眠异常

遇到了两个问题:

  1. 第一次休眠,功耗异常,13mA,之后再次休眠6mA。
  2. 唤醒后不能正常响应指令。经常出现无返回,多次尝试错误后,应用程序对4G模组进行重启。查看log,也不是完全不回。第一次publish能够回复,之后QMTRECV指令开始不回复,如下:
    移远休眠,IOT,BC20
    这两个问题很有意思,正好手里有块焊接了EC25-EUX的板子,测试发现这两个问题都不会出现。那是模组问题吗?
  3. 第一个问题,从现象看是有什么外设上电初始化没有配置好,唤醒后的配置使其恢复了正常。但是又无法解释EC25为什么正常。最终确定是因为使用rtthread,第一次睡眠,初始化线程没有来得及发送AT+QSCLK休眠指令。EC25可能执行较快,所以没有出现问题。通过改变进入休眠的时间解决。或者将AT+QSCLK休眠指令放在初始化也可以,不过祖传代码嘛,还是少动为妙。
  4. 第二个查看模组VDD_EXT电压正常1.8V,模组正常启动了。DTR唤醒后正常拉低。在RX管脚使用示波器查看,直接用示波器解码,可以看到MCU发出了AT+QMTRECV=0指令。模组确实没有回复。
    和移远沟通,需要抓取log。但是模组休眠后,抓log工具会检测到idle自动断开。通过修改MCU程序,空闲线程唤醒后直接while(1)原地循环,然后使用串口助手通过USB给模组发送指令,发现能够复现问题。这样在唤醒后,打开抓log工具,用串口助手发送AT指令即可。最终得到回复:判断是mqtt配置成 recv/mode 为1情况下,执行QMTRECV,模块com口死掉。是一个已知问题,通过升级模组固件解决。

5.3.2 模组软件升级

  1. 确认主串口。在资源管理器查看端口如下:
    移远休眠,IOT,BC20
    升级使用主串口COM26。
  2. 打开QFlash升级工具,选择升级文件。注意这里不要选择压缩包(是否直接选择压缩包可以和移远技术支持咨询,不同模组应该不一样的):
    移远休眠,IOT,BC20
    选择一个文件后,会自动加载所有的文件。注意文件不要有中文路径,选择正确的波特率:
    移远休眠,IOT,BC20
    滑到软件底部,选择Start即可。升级成功则忽略以下步骤,重启模组查看版本号是否一致。
  3. 我这里发现升级失败:
    移远休眠,IOT,BC20
    此时再查看资源管理器,只有一个端口:
    移远休眠,IOT,BC20
    这是模组进入了强制下载模式。如果这时重启模组,会恢复为初始的三个端口。但是我们再次选择COM26升级,则会显示端口不正确:
    移远休眠,IOT,BC20
    这时需要在MCU程序中,上电后使用while(1)循环,不再发送指令。将模组的BOOT管脚拉高到1.8V,我的如下图:
    移远休眠,IOT,BC20
    我这里短接R27即可。短接后重新上电模组,进入强制下载,恢复为一个端口COM27。选择COM27,继续升级。
    我这里持续失败,最终确定是模组的驱动比较旧(Quectel_LTE_Windows_USB_Driver_V1.0),虽然能抓log,但升级出现了问题。更新模组驱动后(Quectel_LTE&5G_Windows_USB_Driver_V2.2.4),直接升级成功。升级成功后,发现我的MCU程序持续复位,最终定位到新的模组固件,版本号变得更长了,导致溢出。。。。

5.4 EC200N-CN和EC200S-EU

EC200N-CN是国内使用的模组,EC200S-EU是欧洲设备上使用的模组。MCU程序是通用的。

5.4.1 设置模组休眠

  1. 模组进入休眠,有三个条件:

    AT+QSCLK=1 //不必每次发送,初始化一次就可以
    network_apready_ctrl(0); 		/* 通知模组不要送出数据 */
    network_dtr_ctrl(1);		  	/* 拉高DTR进入4G的低功耗 */  
    

    移远休眠,IOT,BC20

  2. 确定模组进入休眠状态?
    DTR拉高之后串口不通,另外耗流降到个位数mA。模组进休眠很快的,预估2s左右。
    也可以通过测量模组管脚电平,比如EC25,结合以下指令,测量管脚号3:
    移远休眠,IOT,BC20

  3. MCU主动唤醒模组
    休眠后,MCU主动发送数据,需要先唤醒4G模组:

        network_apready_ctrl(1); 		/* 通知模组可以送出数据 */
        network_dtr_ctrl(0);		  	/* 拉低DTR退出4G的低功耗 */ 
    

    这时不要立即发送数据,因为4G模组退出低功耗也是需要时间的。可以持续发送AT,直到返回OK。或者直接增加延时(“先留1S吧”)。

5.4.2 ping谷歌

此部分单独写成一篇:使用移远EC200N-CN模组PING谷歌。

5.4.3 手动切换运营商

5.4.3.1 运营商代码 - IMSI和QSPN

在初识NB-IoT的机卡绑定一文中提到IMSI的前5位可以识别运营商:

中国移动运营商:
46000, “CHINA MOBILE”, “CN” 中国移动
46001, “CHN-CUGSM”, “CN” 中国联通
46002, “CHINA MOBILE”, “CN” 中国移动

更多运营商名称的列表,可以点击查看:添加链接描述。

00> AT+QSPN
00> …
00> +QSPN: “CHN-UNICOM”,“UNICOM”,“”,
00> 0,“46001”…
00> …
00> OK…
00> 01-01 23:50:32 I/at.dev.ec20 tbox_tcp: e0 device currnet PLMN: 46001

5.4.3.2 为什么要切换运营商

iotbox默认自动选择运营商。在使用过程中,可能出现以下情况:

  1. iotbox自动选择的运营商出现网络故障;
  2. iotbox自动选择的运营商在车辆行驶的区域内并不支持。
    出现这些情况时,iotbox就会因注册网络失败而重启4G模组。若重启后又自动选择了该运营商,则iotbox再次因注册网络失败进行重启,这样iotbox就会进入死循环。为了解决这个问题,iotbox增加手动切换运营商机制。在自动选择运营商持续注网失败一定次数后,iotbox进入手动切换运营商模式:检索当前SIM卡支持的运营商,依次进行尝试,直至注网成功。

5.4.4 抓取TCP的log

在前面硬件连接 - - USB中提到了抓取模组log。不同平台的模组可能稍有区别。TCP连接过程中,模组上报+QIURC: "closed",0..导致异常。抓取模组log,从模组端分析下原因。

  1. 抓取LOG时需要进行AT+CFUN=0,AT+CFUN=1,操作,记录完整通信流程日志。
  2. 为了抓取TCP/IP数据包,记录LOG日志前,执行如下AT指令操作:
    IPv4 发送指令at+qdbgcfg=“iptrace”,0,20
    IPv6 发送指令at+qdbgcfg=“iptrace”,1,20

在程序模组初始化中添加以下三条AT指令:
移远休眠,IOT,BC20文章来源地址https://www.toymoban.com/news/detail-799561.html

到了这里,关于IoT模组使用笔记(二):EC21、EC200指令流程、设置休眠、升级模组、切换运营商等的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Quectel移远展锐平台5G模组RX500U/RG200U使用指南(一)】

     移远的展锐平台5G模组是基于展锐udx710平台开发的5G模组,在华为被禁,MH5000-31无法继续使用后,这个成了国产5G模组的独苗了。         目前移远出了多款展锐的5G模组,RG500U-CN,RG500U-EA(海外),RG200U-CN,RM500U-CN,RG200U-CN mini pcie。其实只是接口和封装不一样,使用方法基本

    2024年02月11日
    浏览(47)
  • OpenHarmony3.1适配移远EC20模组4G上网功能

    通过阅读本篇文档,您将学习到如何适配移远EC20模组到OpenHarmony3.1(以下简称OHOS),并添加4G上网功能。 本篇文档,使用硬件为大禹RK3568开发板。 开发板资料:https://gitee.com/openharmony/device_board_hihope/blob/master/rk3568/README_zh.md 软件方案分为PPP和QMI两种,请读者自行选择。 2.1.内

    2024年02月06日
    浏览(49)
  • Air700E开发板|移芯EC618|4G Cat.1模组:概述及PinOut

    Air700E文档中心 EVB-Air700E 开发板是合宙通信推出的基于 Air700E 模组所开发的,包含电源,SIM 卡,USB,PCB 天线等必要功能的最小硬件系统。以方便用户在设计前期对 Air700E 模块进 行性能评估,功能调试,软件开发等用途。 内置 PCB 天线 一个下载/调试串口,两个通用串口 IO 口

    2024年02月01日
    浏览(43)
  • EC200 EC600 EC20接入工业互联网云平台

    第三方设备接入云盒子说明文档 注册工业互联网云   www.sukon-cloud.com 物联网云盒子能帮助用户迅速搭建好设备管理后台,适合系统集成等用户。 此文章的测试模块使用的是移远的EC600N https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-21884152640.30.ca3d5f90BWNYYoid=653613774417 移远系列的E

    2024年02月03日
    浏览(79)
  • 移远EC200 EC20 EC600 EC800连接MQTT服务器

    前言 移远的CAT1模块EC200S连接MQTT大致流程 ,经过测试,完全有效 A:开机      就是对模块进行断电2S在上电. B:基础配置    这部分跟连TCP服务器一样  (1):发送AT,确认模块是否正常      \\\"ATrn\\\"     模块返回:OK  (2):取消模块回显     \\\"ATE0rn\\\"     模块返回:OK (3)检查SIM是否正常

    2024年02月05日
    浏览(86)
  • 移远4G模块 EC200x EC600 系列AT命令手册

    本文是译至移远官方文档 xxx_AT_Commands_Manual 这款芯片的AT命令集是遵循国际标准3GPPTS27.007、3GPPTS27.005以及Quectel开发的专用AT命令的组合。 AT命令要以前缀的“AT”或“at”为每个命令行的开头,以回车符号为每行结尾。命令后面通常会有一个响应,其中包括“”。在本文档中,

    2024年02月09日
    浏览(50)
  • EC200U-CN学习(三)

    EC200U系列内置丰富的网络协议,集成多个工业标准接口,并支持多种驱动和软件功能(适用于Windows 7/8/8.1/10、Linux和Android等操作系统下的USB驱动),极大地拓展了其在M2M领域的应用范围,如POS、POC、ETC、共享设备、数据卡、能源控制、安防以及工业级PDA等。 芯片上方引脚 K

    2024年02月15日
    浏览(34)
  • Quectel EC200A-CN移植

    usb-serial-option,USB转串口驱动,生产/dev/ttyUSB0-2,分别是DM,AT,PPP 需要使能内核选项如下: USB网卡驱动,模块可通过AT配置成RNDIS或者ecm,默认是ecm。 需要使能内核选项 增加usb vid和pid 增加vid和pid,设备连接,使用lsusb命令查看设备的vid和pid,如下图所示: 文件修改:linux-3.10/drivers

    2024年02月06日
    浏览(57)
  • 设置 AWS EC2 允许使用密码登录

    AWS 的服务器默认是使用秘钥进行登录,如果想要使用密码进行登录,可进行如下设置 1、先使用秘钥登录(安装aws网站上的教程即可) 2、登录之后为 root 创建密码 系统会让你输入两次密码,一定要注意了。 3、切换为root用户 4、编辑 sshd_config 并做修改 将  PasswordAuthenticati

    2024年02月11日
    浏览(101)
  • 移远通信推出新款卫星通信模组CC660D-LS,加速IoT终端直连卫星

    上海,2023年6月27日 — 在2023上海世界移动通信大会(MWC Shanghai)期间,全球领先的物联网整体解决方案供应商移远通信宣布,推出其在卫星通信领域的最新力作—— CC660D-LS 模组。该模组现阶段面向北美和欧洲市场,具有广覆盖、多频段、双向通信、低时延、低功耗等多重优

    2024年02月11日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包