关于文档
修订记录
版本
1.0
日期
2019.4.3
作者
杨智/张文成
描述
首次创建
注:文档中涉及的相关指令参数意义详见中移物联网公司《M5311 AT Command Interface Specification》文档
1、模组开机
将 PWR_ON/OFF 置为低电平,保持 2s 以上即可开机,开机之后需要置高电平。电
路可参考硬件设计手册,5311 开机自适应波特率(9600~921600bps 默认 115200bps。)
1.1、开机打印信息:
*ATREADY:1
+CFUN:1
+CPIN:READY
+IP:10.162.7.92 //开机自动驻网附着,入网成功后,自动上报 IP 地址
2、模组初始化流程:
1、AT //确认模组开机正常,返回 OK, 自适应波特率
2、执行 AT+CLPLMN 命令可清除模组的驻网记录, 例如:
AT+CLPLMN //清除驻网记录
+CLPLMN: 0 //返回 0, 说明已成功清除记录
OK
ATE0 (可选) //关闭 AT 指令回显
3、模组深度休眠设置:
AT+SM=UNLOCK_FOREVER
//使能模组深度休眠,此设置断电保持。若设备调试时需要模组一直不进入休眠可
设置:AT+SM=LOCK_FOREVER
AT+ CEDRXS=0,5 //关闭 eDRX 功能,一般模组只使用 PSM 功能
AT+CPSMS=1,,,"T3412","T3324"
//使能模组 PSM 功能,并根据需要设置模组 T3324 的值,T3324 和 T3412 值的编码
格式参考 GPRS timer 2/3,当前模组端只能设置T3324 值,T3412 值开卡时已固
定,模组端无法修改。
注意 1:使用 GRE 长连接或者 MQTT 时必须手动关闭 eDRX 及 PSM。
注意 2:打开/关闭 Edrx PSM 及设置相应定时器的值均要在模组成功驻网后才能生
效,若模组始终无法驻网则 eDRX 和 PSM 功能无法使用。
注意 3:当外界信号不好,模组会长时间持续大功率尝试驻网,电池应用场景消耗
较快,可选择 powerkey(AT 模式可选择硬件关机)关机或者 AT+CFUN=0
(opencpu 时只能选择此方式)让模组强制进入深度休眠,
2
4、AT+CIMI //确认读 SIM 卡正常
5、此步可根据需要添加查询模组 IMEI、当前 CSQ 信号值、固件版本等常用 AT 指令
6、AT+CEREG? //确认基站注册状态 0,1 或者 0,5 1-代表本地已注册上, 5-代
表漫游已注册上
7、AT+CGATT? //确认 PDP 激活状态,1-代表已激活 0-代表未激活,M5311 自
动入网后自动激活。
8、确认 PSM 参数是否设置成功:
AT+CEREG=5
AT+CEREG?
+CEREG: 1,"2A2A","0DDB0FBD",9,"00",0,0,"00100010","00101111"
//参考 AT 手册,最后两个参数分别代表 T3324 和 extended periodic TAU
value(T3412)
AT+CCLK?(可选) //查询模组本地 RTC 时间,只在驻网成功时同步一次基站时
间,保存到模组 RTC 中。
9、请确认以上指令都通过后,方可进行(TCP UDP COAP LWM2M MQTT 等)数据业务。
若因外部信号差开机后长时间无法驻网成功(建议 120S,具体时间客户根据需要设
置),可执行模组关机节省功耗:
1):软件关机 AT+CPOF
2):硬件关机:模组在开机的状态下, PWR_ON/OFF 引脚在高电平状态拉低
8s(t1) 以上并释放,模组关机。关机过程中,模块需要注销网络连接,
注销时间与当前网络状态有关,建议 15s(t2)之后再对模组进行断电
重启等操作,以确保关机之前保存重要数据。
3、模组 UDP 流程(TCP 流程类似):
此部分若使用的是 OneNET,请参考“M531X OneNET 参考手册 1.6.pdf”
3.1:非缓存模式下(默认):
10、AT+IPSTART=0,"UDP","114.116.144.151",2024 //建立UDP 连接,0 为socket id
3
注:本示例的测试服务器为中移物联网公司内部测试服务器。
11、 RAI 的相关设置主要用于配置模组完成数据发送或接收后,快速进入 idle
态 ,节省功耗,快速进入 PSM 和深度睡眠。若不使用 RAI,模组每次发送完
数据会等待约 20 秒时间才进入 idle 状态,这段等待时间模组功耗较高,建
议使用 RAI 功能降低功耗:
AT*NBIOTRAI=1 //仅生效一次, 需在每次发包前输入该指令,
0----关闭 RAI;
1----发送完 1 个上行包,模组立刻进入 idle 态;
2----发送 1 个上行包,且接收到 1 个下行包,模组立即进入 idle 态
12、AT+IPSEND=0,0,"THIS IS A TEST DATA" //以 string 格式进行发送
AT+IPSEND=0,4,"31323334" //以 hex 格式进行发送
本指令第二个参数为设置输入格式,如输入 0 或者缺省,则认为是 string,输
入字符长度,则认为是 hex。
3.2、缓存模式下:
13、AT+IPRCFG=0,0,0 //接收数据的配置
第一个参数为 1-非缓存即自动打印 0-缓存
第二个参数为输出形式控制,具体可以参考 AT 手册
第三个参数为输出格式控制,1-下行数据以 hex 打印 0-下行数据以 string 打
印
14、+IPNMI:0,15 // 缓存模式下,数据到模组后的上报消息
第一个参数为 socket 0, 第二个参数为下行数据的字节数
15、AT+IPRD=0,500 //读出缓存中的数据
第一个参数为 socket 0,第二个参数为需要读出的字节数
16、AT+IPCLOSE=0 (可选指令) // 断开连接,释放资源
注:5311 如果使用了 TCP 连接,则 TCP 连接不主动断开模组无法进入深度睡眠
(可以进入 PSM 状态)。
4、模组休眠唤醒方式:
前提:模组要想成功进入深度睡眠,则睡眠前 10 秒 MCU 不能向模组发任何 AT 指令。
4.1、有两种情况模组可以从深度睡眠中醒来:
1)、PWR_ON_OFF/WAKEUP_IN 引脚来唤醒模组(硬件唤醒),唤醒操作时间如下表
所示。此种唤醒方式在无 AT 交互后 10 秒(默认)模组再次进入休眠状态。
2)、模组 T3412 定时到,自动从 PSM 醒来。此时模组处于在网(ACTIVE)状态,
4
可接收下行数据。此种唤醒方式模组在经过:ACTIVE 时间+T3324 延时后才能再次进入
休眠状态。
注意:
1)、硬件唤醒模组方式,模组仍处于 PSM 状态,模组此时不在网,无法接收下行
数据,需 MCU 主动发送带网络交互的 AT 指令(如 AT+PING 、AT+MIPLUPDATE),
模组才退出 PSM 状态。
2)、TCP UDP OneNET 等数据交互业务一般采取 MCU 控制模组 WAKEUP_IN 方式唤
醒模组。
4.2、5311 PSM 状态与深度休眠区别:
PSM≠深度睡眠;只有深度休眠时模组功耗最低,约 3uA
PSM: 网络协议栈、射频全关,硬件外设未断电,可发 AT
深度睡眠:除 RTC 时钟,硬件外设全断电,最低功耗
1)、模组进入了 PSM 状态不一定能进深度睡眠,进入 PSM 后能再进入深度睡眠必须
满足两个条件:① AT+SM=UNLOCK_FOREVER 使能深度睡眠②断开模组 TCP 连接
2)、使用模组 wakeup_in 引脚唤醒深度睡眠后,模组仍处于 PSM 状态,若要退出 PSM
需要 MCU 发送有网络交互(如 AT+PING AT+MIPLUPDATE 等)的指令。
5、其他常用指令:
AT+CGDCONT? //查询当前 SIM 卡的 APN,通用一般为:CMNBIOT
AT+IPKPA //TCP 下 Keepalive 配置
AT+IPSACK //查询 TCP/UDP 下数据收发情况,发成功多少,丢包多少
AT+IPSTATUS //查询 TCP/UDP 连接状态
AT*NBIOTRAI //配置模组数据业务后,快速进入 IDLE 态达到节省功耗目的。
AT*Enginfo=0 //0:查询当前驻留小区 EARFCN PCI CELL ID RSRP RSSI SNR 等信
号质量,PSM 状态下无法获取;详细请参见 AT 指令手册。
AT+CGSN=1 //查模组 IMEI
AT+CMRB //重启模组,软复位
AT+CIMI //查 SIM 卡的 IMSI
AT+ICCID //查 SIM 卡的 ICCID
AT+CMVER //查模组的软件版本
AT+CSCON=1 //设置模组断开 RRC 连接进入 idle 态自动提示,断电后无效
AT*SLEEP=1 //设置模组进入深度休眠,串口打印自动提示,断电后无效
AT*MATWAKEUP=1 //设置模组退出深度休眠,串口打印自动提示,断电后无效
AT+CMSYSCTRL //进行使能/配置 LED 状态灯:STATE/WAKEUP_OUT,为节省功
耗, (AT+CMSYSCTRL=1,1,AT+CMSYSCTRL=0,2) LED 默认关
闭(开发板)。
5
在数据通信异常下常用的 AT 指令:
1、重启协议栈,并手动入网
AT+CFUN=0
//飞行模式,关闭射频及协议栈,此指令同步阻塞,涉及网络交互最大返回时长 40s(信
号不好或网络拥塞时),未返回结果前输入其他指令返回 error。
2、AT+CFUN=1 //重开协议栈及射频
3、AT+CGATT=1 //手动激活 PDP
注意事项:
模组有深睡眠模式和浅睡眠模式
深睡眠:外设断电、 AT 命令任务终止,串口停止工作,必须使用 wakeup_in 引脚唤醒。
浅睡眠:关闭部分外设功能,必须先发 AT 指令做唤醒终端,第二条才会正常响应。
AT+SM=LOCK_FOREVER 关闭睡眠,重启也有效。
AT+SM=LOCK 当前开机有效
AT+SM=UNLOCK_FOREVER 开启睡眠,重启也有效
AT+SM=UNLOCK 当前开机有效
注意:关于深度休眠和浅睡眠模式详述请参见“M5311 软件用户手册-v1.5.pdf”--2.0 章节
关于模组进入/退出深度睡眠状态指示请参见“M5311 软件用户手册-v1.5.pdf”--2.4 章节
本文档中涉及的所有 AT 指令,AT 指令手册中有详细说明和用法。同时对于异常处理机制需
要结合应用场景处理。
该文档请针对您特定的应用场景进行充分的测试验证,如有问题,请及时反馈!
若有因使用过程中造成任何损失,中移物联网有限公司不承担任何经济、法律责任。
6