在物联网应用领域,NB-IoT(简称 NB)与 4G 网络是主流的通信选择,其核心优势在于能直接复用现有移动基站资源,无需额外搭建专用基站,因此在水表、电能表、天然气表等 “三表” 无线抄表场景中应用广泛。这类场景的数据传输量通常较小,硬件层面多通过串口(UART)与 NB/4G 模组连接,软件层面则以 AT 指令作为核心交互方式,实现数据收发与模组控制。
拿到一款新的 NB/4G 模组后,原厂通常会提供详尽的 AT 指令手册,覆盖模组的全部功能。但实际开发中,工程师往往只需用到其中部分指令,如何从海量指令中快速筛选出 “有用指令”,成为提升开发效率的关键。基于多款模组的使用经验,可归纳出一套通用的 AT 指令操作流程 —— 尽管不同厂商的模组指令格式可能存在差异,但 “核心流程步骤” 具有通用性,按流程匹配指令,能大幅降低指令筛选的复杂度。
举个类比案例:配置 UART 串口时,无论使用哪款 CPU,都需完成 “波特率设置→数据位设置→停止位设置→校验位设置→流控设置” 这 5 个核心步骤,具体操作的寄存器可能不同,但步骤逻辑恒定;同理,NB/4G 模组的 AT 指令操作,也可遵循固定流程匹配指令。
1、移远4g模组EC600
以下是基于你提供的 AT 指令交互日志,梳理的 4G 模组整体 AT 流程,以及每条指令的具体含义和作用:
一、基础通信与模组信息查询阶段
AT
- 含义:AT 指令基础测试,用于检查模组串口链路是否通畅、模组是否响应 AT 指令 。
- 作用:确认模组已启动且能与主控设备正常通信,是所有 AT 指令操作的 “第一步验证” 。
- 返回示例:
AT OK
表示链路正常、模组响应。
AT+IPR=38400
- 含义:设置模组串口波特率为 38400 。不同通信场景或设备可能需要调整波特率适配,确保数据收发稳定 。
- 作用:修改串口通信速率,需与主控设备(如 MCU)的串口波特率配置一致,保障数据交互不丢包、不出错 。
- 返回示例:
OK M26_SetBaud 38400…success!
表示波特率设置成功 。
AT+GSN
- 含义:查询模组的 IMEI 号(国际移动设备识别码 ,类似设备 “身份证”) 。
- 作用:用于设备身份识别、运营商入网认证、故障排查等,可通过 IMEI 号在运营商系统查询模组状态 。
- 返回示例:
862078247014
即为模组的 IMEI 号 。
AT+CGMM
- 含义:查询模组型号信息 。
- 作用:确认当前使用的模组具体型号(如日志中返回
EC600G
),方便匹配原厂指令手册、排查兼容性问题 。 - 返回示例:
EC600G
表示模组型号 。
AT+CPIN?
- 含义:查询 SIM 卡状态 。
- 作用:判断 SIM 卡是否正常插入、被模组识别 ,返回
+CPIN: READY
表示 SIM 卡就绪 。 - 返回示例:
+CPIN: READY
说明 SIM 卡可正常工作 。
二、SIM 卡与运营商网络阶段
AT+QCCID
- 含义:查询 SIM 卡的 CCID 号(集成电路卡识别码 ,用于标识 SIM 卡) 。
- 作用:运营商侧可通过 CCID 管理 SIM 卡业务(如流量套餐、实名认证等),也可用于本地校验 SIM 卡唯一性 。
- 返回示例:
+QCCID: 898602A61024F5049779
为 SIM 卡的 CCID 号 。
AT+QICSGP=1,1,"","","",1
- 含义:设置 PDP 上下文(Packet Data Protocol ,分组数据协议,用于建立数据连接),这里配置第 1 个 PDP 上下文、启用动态 APN(空字符串表示由运营商自动分配 )等参数 。
- 作用:为后续建立数据连接(如上网、访问服务器)做准备,正确配置 PDP 上下文是模组接入网络的关键步骤 。
- 返回示例:
OK
表示 PDP 上下文设置成功 。
AT+CEREG?
- 含义:查询网络附着状态(EPS 网络注册状态 ,即模组是否接入运营商蜂窝网络 ) 。
- 作用:判断模组是否成功 “连网”,返回
+CEREG: 0,1
表示已附着到网络(0 代表未 roaming,1 代表注册到本地网络 ) 。 - 返回示例:
+CEREG: 0,1
说明网络附着成功 。
AT+QIACT?
/AT+QIACT=1
- 含义:
AT+QIACT?
查询 PDP 上下文激活状态;AT+QIACT=1
激活第 1 个 PDP 上下文 。 - 作用:PDP 上下文 “激活” 后,模组才能真正收发数据、访问外部网络 ,是数据业务开通的核心步骤 。
- 返回示例:
OK
表示激活成功 。
- 含义:
三、信号与网络连接阶段
AT+CSQ
- 含义:查询模组的信号强度 。
- 作用:判断当前网络信号质量,
+CSQ: 24,99
中 “24” 代表信号强度(数值越大信号越好,通常 0 - 31 区间 ),“99” 代表误码率(这里为默认填充值 ) ,可用于排查网络不稳定问题 。 - 返回示例:
+CSQ: 24,99
表示信号强度良好 。
AT+QISTATE
- 含义:查询模组网络连接状态(如 TCP 连接统计等 ) 。
- 作用:了解模组当前网络连接的整体情况,辅助排查连接异常问题 ,日志中返回
OK
表示查询成功(未展示详细连接统计时可结合其他指令分析 ) 。 - 返回示例:
OK
表示查询完成 。
AT+QIOPEN=1,0,"TCP","121.43.38.46",20071,0,1
- 含义:打开一个 TCP 连接(第 1 个连接通道 、通道标识 0 、协议 TCP 、服务器 IP
121.43.38.46
、端口20071
、参数0,1
按需配置连接属性 ) 。 - 作用:建立模组与指定服务器的 TCP 通信链路,用于传输业务数据(如抄表数据上传 ) 。
- 返回示例:
+QIOPEN: 0,0
表示通道 0 连接成功 。
- 含义:打开一个 TCP 连接(第 1 个连接通道 、通道标识 0 、协议 TCP 、服务器 IP
AT+QIOPEN=1,11,"TCP","device.acrelcloud.cn",16880,0,1
- 含义:打开另一个 TCP 连接(通道标识 11 、协议 TCP 、服务器域名
device.acrelcloud.cn
、端口16880
),可能用于远程调试等独立业务 。 - 作用:建立多条并行 TCP 连接,可同时传输不同类型数据(如业务数据 + 调试数据分离 ) 。
- 返回示例:
+QIOPEN: 11,0
表示通道 11 连接成功 。
- 含义:打开另一个 TCP 连接(通道标识 11 、协议 TCP 、服务器域名
整体流程逻辑总结
从 基础通信测试(AT
) → 串口参数配置(AT+IPR
) → 模组与 SIM 卡信息查询(AT+GSN
/AT+CGMM
/AT+CPIN?
/AT+QCCID
) → 网络参数配置与附着(AT+QICSGP
/AT+CEREG?
/AT+QIACT
) → 信号与连接状态查询(AT+CSQ
/AT+QISTATE
) → TCP 连接建立(AT+QIOPEN
) ,完整覆盖了 4G 模组从 “通电启动” 到 “接入服务器传输数据” 的核心步骤 。
2.联通4g模组CE109
这是 4G 模组通过 AT 指令完成初始化、网络配置与连接,最终实现 MQTT 服务器登录及数据交互的流程,步骤如下:
- 基础通信测试:发
AT
,验证模组响应,确认串口链路通。 - 串口参数配置:用
AT+IPR=38400
改波特率为 38400 ,适配通信需求。 - 模组信息查询:借
AT+CGSN=1
查 IMEI 号(860047071090096
),AT+CPIN?
确认 SIM 卡就绪(+CPIN: READY
)。 - SIM 卡与网络配置:
AT+CGDCONT=1,"IP","UNINET"
设 APN 为 UNINET ;AT+CEREG?
查网络附着(+CEREG: 0,1
,附着成功 );AT+CGACT?
/AT+CGACT=1
激活 PDP 上下文 。 - 信号与连接检查:
AT+CSQ
查信号(+CSQ: 25,0
,信号值 25 );AT+QIOPEN=1,0,"TCP","121.43.38.46",20071,0,1
建立 TCP 连接,返回+QIOPEN: 0,0
表示连成功 。 - MQTT 服务器交互:发
AT+QISEND
等指令,完成 MQTT 登录(客户端 ID1
、用户名 / 密码guest
)、消息订阅(如Meter/Property/SN/CheckTime
)与数据收发 。
总结:虽然上述两个4g模组入网流程基本一致,但是不同模组的AT指令是不同,有些指令的回复也有所区别,可以根据AT指令手册进行分析。