ASR低功耗指令使用手册 LTE 低功耗使用手册LTE Cat.1模块文档版本 V1.0日期 2024.03.26版本日期作者变更表述-2024.3.26LiTang文档创建V1.02024.3.26LiTang发布版本目录目录1. 适用模块2. 低功耗使用示例2.1. 通用使用流程2.2. DTR与TCP配合使用触发唤醒2.3. LOGIN配置使用流程同之前ENTERSLEEP指令流程3. 低功耗相关AT指令3.1. AT 命令说明3.1.1. 定义3.1.2. AT 命令语句3.2. 低功耗 相关 AT 命令描述3.2.1. ATYTCPCFG 参数配置3.2.2. ATYTCPCONN 连接请求3.2.3. ATYTCPSEND 发送请求3.2.4. ATYTCPSTA 读取当前tcp连接以及唤醒状态3.2.5. ATYTCPSLEEP 进入休眠3.3. 低功耗指令相关URC4. 控制DTR脚唤醒模块4.1. ATYDTRCFG 参数配置4.2. DTR唤醒模块相关URC1. 适用模块模块系列型号LTE Cat.1CLM920 CV9CLM920 A09CLM920 A19CLM920 HV9CLM920 HV9 V2CLM920 HV9 GCLM920 HE92. 低功耗使用示例2.1. 通用使用流程1、设置服务器地址// 参数1配置参数类型// 参数2服务器地址// 参数3服务器端口ATYTCPCFGserver,43.143.124.203,1000OK2、设置心跳配置参数// 参数1配置参数类型// 参数2心跳周期// 参数3配置心跳包// 参数4配置心跳响应包// 参数5最大心跳丢失次数心跳相应包丢失对应次后关闭socket并控制RI脚唤醒主控ATYTCPCFGheart,60,313233343536,,0OK2、设置keepalive参数,如果设置了心跳包keepalive不生效// 参数1配置参数类型// 参数2keepalive// 参数3keepidle// 参数4keepinterval// 参数5keepcountATYTCPCFGkeepalive,1,120,15,2OK4、设置唤醒包参数// 参数1配置参数类型// 参数2配置唤醒包内容收到唤醒包后控制RI脚唤醒主控//ATYTCPCFGwakeup, // 设置为空时任意包唤醒(心跳响应包除外)ATYTCPCFGwakeup,333333333333OK5、连接服务器// 参数10断开服务器1连接服务器ATYTCPCONN1OK6、连接服务器状态URC//YTCPURC: connect,0 // 服务器断开或者连接失败YTCPURC: connect,1 // 服务器连接成功7、接收服务器数据// 可用于连接服务器后服务器下发数据需要本地校验回复场景无下发可以不考虑// 参数1URC类型// 参数2数据长度// 参数3数据内容// 参数4数据类型无实际作用可用于调试时分别数据类型YTCPURC: recv,7,78787878787878,normal_data8、发送数据到服务器// 可用于连接服务器后需要向服务器发送特定数据无需发送时可以不考虑// 如果判定校验失败后可以发送 ATYTCPCONN0断开连接即终止tcp连接ATYTCPSEND353535353535OK9、配置心跳发送策略// 如果需要连接服务器时立即发送心跳包可以配置如下参数默认是心跳周期后才发第一个心跳包ATYTCPCFGheart_immediately,1OK10、心跳发送时URC上报// 参数1URC类型// 参数2心跳发送结果。 1心跳包发送成功0发送失败发送失败后会断开tcp并唤醒主控YTCPURC: heart,111、进入休眠控制// 根绝之前的逻辑判定一般第6步即可判定可以进入休眠状态发送指令进入休眠状态此时会控制RI脚通知主控进入休眠状态ATYTCPSLEEP1OK12、收到唤醒包// 主控无需关注该上报主要用于调试收到的同时会控制RI脚通知主控退出休眠// 参数1URC类型// 参数2数据长度// 参数3数据内容// 参数4数据类型无实际作用可用于调试时分别数据类型YTCPURC: recv,333333333333,wakeup_data13、读取唤醒原因// 注意每次唤醒原因只会赋值一次再次执行ATYTCPSLEEP1后才会清空档次原因允许下次唤醒时再次赋值ATYTCPSTAwake_reasonYTCPSTA: wake_reason,2OK14、判定tcp连接状态// 如果当前连接状态还在可以通过ATYTCPSLEEP1再次进入进入休眠并通过RI通知主控ATYTCPSTAconnectYTCPSTA: connect,1OK15、再次进入休眠控制// 根绝之前的逻辑判定一般第6步即可判定可以进入休眠状态发送指令进入休眠状态此时会控制RI脚通知主控进入休眠状态ATYTCPSLEEP1OK2.2. DTR与TCP配合使用触发唤醒1-15步同上一节。16、启用DTR控制// 参数1配置参数类型// 参数21启用0禁用ATYDTRCFGenable,1OK17、收到唤醒包// 主控无需关注该上报主要用于调试收到的同时会控制RI脚通知主控退出休眠// 参数1URC类型// 参数2数据长度// 参数3数据内容// 参数4数据类型无实际作用可用于调试时分别数据类型YTCPURC: recv,333333333333,wakeup_data18、读取唤醒原因// 注意每次唤醒原因只会赋值一次再次执行ATYTCPSLEEP1后才会清空档次原因允许下次唤醒时再次赋值ATYTCPSTAwake_reasonYTCPSTA: wake_reason,2OK19、判定tcp连接状态// 如果当前连接状态还在可以通过ATYTCPSLEEP1再次进入进入休眠并通过RI通知主控ATYTCPSTAconnectYTCPSTA: connect,1OK20、再次进入休眠控制// 根绝之前的逻辑判定一般第6步即可判定可以进入休眠状态发送指令进入休眠状态此时会控制RI脚通知主控进入休眠状态ATYTCPSLEEP1OK21、DTR拉低默认唤醒模块并通过RI通知主控,DTR拉高不会触发任何处理但是进入休眠的时候建议同时拉高// DTR唤醒主动上报YDTRURC: dtr_wake22、读取唤醒原因// 注意每次唤醒原因只会赋值一次再次执行ATYTCPSLEEP1后才会清空档次原因允许下次唤醒时再次赋值ATYTCPSTAwake_reasonYTCPSTA: wake_reason,1OK23、判定tcp连接状态// 如果当前连接状态还在可以通过ATYTCPSLEEP1再次进入进入休眠并通过RI通知主控ATYTCPSTAconnectYTCPSTA: connect,1OK24、再次进入休眠控制吗// 根绝之前的逻辑判定一般第6步即可判定可以进入休眠状态发送指令进入休眠状态此时会控制RI脚通知主控进入休眠状态ATYTCPSLEEP1OK2.3. LOGIN配置使用流程同之前ENTERSLEEP指令流程1、设置服务器地址// 参数1配置参数类型// 参数2服务器地址// 参数3服务器端口ATYTCPCFGserver,43.143.124.203,1000OK2、设置LOGIN配置参数// 参数1配置参数类型// 参数2登录超时时间,超时未收到响应包判定失败关闭tcp并通过RI唤醒主控响应包不设置的话此参数无效// 参数3登录包// 参数4登录响应包ATYTCPCFGlogin,0,313233343536,OK3、设置心跳配置参数// 参数1配置参数类型// 参数2心跳周期// 参数3配置心跳包// 参数4配置心跳响应包// 参数5最大心跳丢失次数心跳相应包丢失对应次后关闭socket并控制RI脚唤醒主控ATYTCPCFGheart,60,313233343536,,0OK4、设置唤醒包参数// 参数1配置参数类型// 参数2配置唤醒包内容收到唤醒包后控制RI脚唤醒主控//ATYTCPCFGwakeup, // 设置为空时任意包唤醒(心跳响应包除外)ATYTCPCFGwakeup,333333333333OK5、设置是否连接服务器且login校验成功后立即进入休眠状态// 参数1配置参数类型// 参数2配置该参数后login后会直接通过RI脚控制主控休眠不需要再发送ATYTCPSLEEP1ATYTCPCFGsuspend_immediately,1OK6、连接服务器// 参数10断开服务器1连接服务器ATYTCPCONN1OK7、连接服务器状态URC//YTCPURC: connect,0 // 服务器断开或者连接失败YTCPURC: connect,1 // 服务器连接成功8、login状态URC,成功时立即控制RI脚通知主控进入休眠状态//YTCPURC: login,0 // login失败YTCPURC: login,1 // login成功9、收到唤醒包// 主控无需关注该上报主要用于调试收到的同时会控制RI脚通知主控退出休眠// 参数1URC类型// 参数2数据长度// 参数3数据内容// 参数4数据类型无实际作用可用于调试时分别数据类型YTCPURC: recv,333333333333,wakeup_data10、读取唤醒原因// 注意每次唤醒原因只会赋值一次再次执行ATYTCPSLEEP1或者ATYTCPCONN1后才会清空档次原因允许下次唤醒时再次赋值ATYTCPSTAwake_reasonYTCPSTA: wake_reason,2OK11、再次进入休眠状态可以循环执行之前的流程3. 低功耗相关AT指令本章节主要介绍操作 低功耗 功能的相关 AT 命令。3.1. AT 命令说明3.1.1. 定义字符说明CR回车符。LF换行符。…参数名称。实际命令行中不包含尖括号。[…]可选参数或 TA 信息响应的可选部分。实际命令行中不包含方括号。若无特别说明配置命令中的可选参数被省略时将默认使用其之前已设置的值或其默认值。下划线参数的默认设置。3.1.2. AT 命令语句前缀 AT 或 at 必须加在每个命令行的开头。输入CR将终止命令行。通常命令后面跟随形式为CRLFresponseCRLF的响应。在本文档中表现命令和响应的表格中省略了CRLF仅显示命令和响应。命令类型语句描述测试命令ATcmd?测试是否存在相应的命令并返回有关其参数的类型、值或范围的信息。查询命令ATcmd?查询相应命令的当前参数值。设置命令ATcmdp1[,p2[,p3[...]]]设置用户可定义的参数值。执行命令ATcmd返回特定的参数信息或执行特定的操作。3.2. 低功耗 相关 AT 命令描述3.2.1. ATYTCPCFG 参数配置该命令用于配置 低功耗数据唤醒 的相关参数。命令响应查询或者设置目标服务器ATYTCPCFG“server”[,host,port]查询时返回YTCPCFG: “server”,“host”,portOK设置时返回OK 或者 ERROR查询或者设置登录参数不使用可以忽略ATYTCPCFG“login”[,login_timeout,login_buf,login_resp_buf]查询时返回YTCPCFG: “login”,login_timeout,“login_buf”,“login_resp_buf”OK设置时返回OK 或者 ERROR查询或者设置心跳参数ATYTCPCFG“heart”[,heart_interval,heart_buf,heart_resp_buf,heart_miss_count]查询时返回YTCPCFG: “heart”,heart_interval,“heart_buf”,“heart_resp_buf”,heart_miss_countOK设置时返回OK 或者 ERROR查询或者设置唤醒包ATYTCPCFG“wakeup”[,wakeup_buf]查询时返回YTCPCFG: “wakeup”,“wakeup_buf”OK设置时返回OK 或者 ERROR查询或者设置当前输入模式ATYTCPCFG“hexcfg”[,hex_flag]查询时返回YTCPCFG: “hexcfg”,hex_flagOK设置时返回OK 或者 ERROR查询或者设置连接服务器后是否立即发送心跳包ATYTCPCFG“heart_immediately”[,heart_immediately_flag]查询时返回YTCPCFG: “heart_immediately”,heart_immediately_flagOK设置时返回OK 或者 ERROR查询或者设置模块唤醒主控的RI信号格式ATYTCPCFG“riconfig”[,wakeup_type,wakeup_state,wave_width]查询时返回YTCPCFG: “riconfig”,wakeup_type,wakeup_state,wave_widthOK设置时返回OK 或者 ERROR查询或者设置休眠和唤醒时模块内部软件控制USB断开和连接ATYTCPCFG“usb_ctrl”[,usb_ctrl_flag]查询时返回YTCPCFG: “usb_ctrl”,usb_ctrl_flagOK设置时返回OK 或者 ERROR参数说明参数说明host目标服务器地址。port目标服务器端口。login_timeout登录超时时间单位秒即发送login_buflogin_timeout秒后未收到login_resp_buf判定登录失败如果未设置login_reso_buf或者设置为空时不生效。login_buf连接服务器后模块自动发送给服务器的登录包未设置可以忽略。login_resp_buf连接服务器后模块发送给服务器的登录包后服务器需要回复的响应包设置的内容和相应的内容匹配即登录成功未设置可以忽略。heart_interval心跳发送周期如果等于0即不发送心跳包heart_buf模块周期发送给服务器的心跳包 如果未设置或者设置为空即不发送心跳包heart_resp_buf心跳响应包。heart_miss_count心跳响应包丢失的最大次数丢失大于等于最大次数后断开连接如果未设置或者设置为0的话不检测心跳丢失wakeup_buf唤醒包即模块收到服务器对应的wakeup包通过RI唤醒主控如果未设置或者设置为空即任意数据都会触发数据唤醒heart_resp_buf除外hex_flag设置字符串参数输入时的格式0: ascii格式1: hex string格式默认heart_immediately连接服务器后是否立即发送心跳包0: 心跳周期后发送默认1: 立即发送wakeup_type0RI脚唤醒时电平高低切换默认1RI脚唤醒时输出指定宽度方波wakeup_state0RI默认状态高唤醒时拉低1RI默认状态低唤醒时拉高默认wave_width方波宽度单位mswakeup_type是1的时候生效usb_ctrl_flag0休眠唤醒时不通过软件控制USB状态默认此时建议主控和模块之间的USB通过RI脚控制连接和断开1休眠唤醒时通过软件控制USB连接和断开3.2.2. ATYTCPCONN 连接请求该命令用于请求连接或者断开服务器。命令响应ATYTCPCONNmdoe请求连接或者断开服务器返回OK 或者 ERROR参数说明参数说明mdoe0请求断开服务器1请求连接服务器3.2.3. ATYTCPSEND 发送请求该命令用于发送数据到服务器。命令响应ATYTCPSENDdata发送数据到服务器返回OK 或者 ERROR参数说明参数说明data发送到服务器的数据根绝hexcfg的值输入hexstring或者ascii3.2.4. ATYTCPSTA 读取当前tcp连接以及唤醒状态该命令用于读取当前tcp连接以及唤醒状态命令响应ATYTCPSTA“connect”读取当前tcp连接状态返回YTCPSTA: “connect”,connect_statusOK 或者 ERRORATYTCPSTA“wakeup_reason”读取当前主控被唤醒的原因返回YTCPSTA: “wakeup_reason”,wakeup_reasonOK 或者 ERROR参数说明参数说明connect_status0tcp未连接或者被断开1 tcp已连接wakeup_reason0上电唤醒模块上电的时候会触发RI脚唤醒动作1 DTR唤醒硬件IO唤醒2唤醒包或者任意数据唤醒3网络异常唤醒。3.2.5. ATYTCPSLEEP 进入休眠该命令用于控制模块进入休眠状态并通过RI脚通知主控命令响应ATYTCPSLEEPmdoe请求进入或者退出休眠返回OK 或者 ERROR参数说明参数说明mdoe0退出休眠1进入休眠3.3. 低功耗指令相关URC此 URC 以YTCPURC:开头URC可用于判断一些状态。URC格式描述YTCPURC: “connect”,status上报TCP连接状态 status0连接失败或者断开1连接成功YTCPURC: “login”,status上报login状态login_buf未设置不会上报 status0login失败1login成功YTCPURC: “heart”,status上报heart状态 status0heart发送失败1heart发送成功YTCPURC: “recv”,data,type接收服务器数据时上报URCdatahexstring or ascii数据type: normal_data/heart_resp_data/wakeup_data/any_wakeup_data(wakeup_buf设置为空时任意包唤醒主控)4. 控制DTR脚唤醒模块此 URC 以YTCPURC:开头URC可用于判断一些状态。URC格式描述YTCPURC: “connect”,status上报TCP连接状态 status0连接失败或者断开1连接成功YTCPURC: “login”,status上报login状态login_buf未设置不会上报 status0login失败1login成功YTCPURC: “heart”,status上报heart状态 status0heart发送失败1heart发送成功YTCPURC: “recv”,data,type接收服务器数据时上报URCdatahexstring or ascii数据type: normal_data/heart_resp_data/wakeup_data/any_wakeup_data(wakeup_buf设置为空时任意包唤醒主控)4.1. ATYDTRCFG 参数配置该命令用于请求连接或者断开服务器。命令响应查询或者设置DTR配置立即生效ATYDTRCFG“enable”[,enable_flag]查询时返回YDTRCFG: “enable”,enable_flag设置时返回OK 或者 ERROR查询或者设置DTR配置立即生效ATYDTRCFG“dtr_level”[,dtr_level_flag]查询时返回YDTRCFG: “dtr_level”,dtr_level_flagOK设置时返回OK 或者 ERROR查询或者设置DTR配置立即生效ATYDTRCFG“usb_ctrl”[,usb_ctrl_flag]查询时返回YDTRCFG: “usb_ctrl”,usb_ctrl_flagOK设置时返回OK 或者 ERROR参数说明参数说明enable_flag0未启用DTR1已启用DTRdtr_level_flag0默认高电平拉低唤醒拉高允许休眠1默认低电平拉高唤醒拉低允许休眠usb_ctrl_flag0DTR控制唤醒时不通过软件控制USB连接默认此时建议主控和模块之间的USB通过RI脚控制连接和断开1DTR控制唤醒时通过软件控制USB连接4.2. DTR唤醒模块相关URC此 URC 以YTCPURC:开头URC可用于判断一些状态。URC格式描述YDTRURC: “wakeup”拉低默认状态DTR唤醒模块时上报拿起模块测试的你忽然发现这些指令不支持可能使用的不是域格模块请联系他域格小黄龙