域格ASR1606平台休眠数据唤醒方法

模块型号:CLM920_MV9、CLM920_LV9

应用场景

主控有操作系统,如户外摄像头等,有远程唤醒需求,使用usb虚拟出来的网卡上网。操作系统一般使用linux或者liteos,支持rndis或者ECM网卡。

驱动支持

修改主控驱动支持ttyUSB,

获取 USB 端口: ttyUSB0~ttyUSB2
ttyUSB0 -> DIAG
ttyUSB1 -> AT
ttyUSB2 -> Modem

数据唤醒及休眠配置流程

初始化指令需根据模块平台来设置

ASR1606平台设置方法如下:

1.部分功能需要启用以下开关指令。

AT+YGFEATURECFG=2,1 //只需设置一次即可

AT+CFUN=1,1 //重启生效

AT+YGFEATURECFG? //确认sleep2为“1”

2.如果上位机需要通过GPIO控制模块休眠唤醒的话,开启需发送AT^GPIOWAKE=1(MV9)/AT^UARTWAKE=1(LV9),重启生效,仅需设置一次,AT^GPIOWAKE?(MV9)/AT^UARTWAKE?(LV9),查询是否启用。,如果不需要通过GPIO控制模块休眠唤醒,该功能不需要考虑。

3.设置休眠参数,如AT+ENTERSLEEPHEX=1设为HEX,默认为1,实际发送给服务器会转换成原始数据(0为原始数据,有特殊字符时建议HEX模式)

4.设置服务器、心跳包、唤醒包信息,如服务器地址192.168.0.100,服务器端口号12346,心跳间隔180,心跳包发“sleep12345”,唤醒包发“wake123”,登录包为“login”、应答包为“ok”、心跳包回复“data”(任意数据唤醒,唤醒包可设置为空“”;无登录包以及应答包可将登录包以及应答包设置为空“”)

AT+ENTERSLEEPHEX=1时可设置以下:

AT+ENTERSLEEP="192.168.0.100",12346,180,"736c6565703132333435","77616B65313233","6c6f67696e","6f6b","64617461"

AT+ENTERSLEEPHEX=0时可设置以下:AT+ENTERSLEEP="192.168.0.100",12346,180,"sleep12345","wake123","login","ok","data"

AT+ENTERSLEEP参数说明:

AT+ENTERSLEEP=<server_ip>,<server_port>,<interval>,<heartbeat_data>,<wakeup_data>,<auth_data>,<auth_resp>,<heartbeat_resp>

<server_ip>:服务器地址;

<server_port>:服务器端口号;

<interval>:心跳间隔时间(1-21600)秒;

<heartbeat_data>:心跳包,(范围:1-512字节)

<wakeup_data>:唤醒包,(范围:1-512字节)

<auth_data>:登录包,(范围:1-1024字节)

<auth_resp>:应答包,(范围:1-32字节)

<heartbeat_resp>:心跳包回复头,(范围:1-32字节)

设置登录包、应答包、USB断开方式、连接重试次数及发送重试次数(若AT+ENTERSLEEP设置了登录包、应答包,会被AT+ENTERSLEEPCFG设置的所覆盖。

5.如果不需要设置USB断开方式及重试次数,该步骤可跳过。连接重试次数默认为3;发送重试次数默认为3)。

AT+ENTERSLEEPCFG="6c6f67696e","6f6b",1,3,2 //登录包为“6c6f67696e”、应答包为“6f6b”、USB断开方式固定为1表示由模块主动断开USB、连接重试次数3、发送重试次数为2。

6.AT+CSCLK=1设置允许模块进入休眠。

7.主控进入休眠前发送AT+ENTERSLEEP指令并拉高MAIN_DTR,模块建立与服务器的TCP连接,此时服务器会收到指令设置的登录包,服务器需10s内回复应答包,如示例中模块发送登录包login,服务器10s内需要返回应答包ok,若设置登录包和应答包为空,模块连接服务器时服务器会收到心跳包,服务器10s内也需要返回应答ok响应,之后模块拉低RI脚进入休眠。

8.如果第5步中USB连接未设置成1(不推荐这种使用方法,该种场景是主控和模块USB长连接场景下,模块内部断开USB,休眠后较USB物理断开功耗稍微偏大点),此时建议根据RI脚状态控制USB连接状态,此功能下,1、未连接上服务器;2、登录包校验失败、3、心跳包连续丢失、4、收到唤醒包、5网络异常;状态下RI脚都会保持或者恢复高状态;主控可判定RI脚是低状态后,主控自身关机或者休眠以及断开USB,收到RI高信号时恢复主控及USB,以上条件均满足的情况下,USB断开后,模块会很快进入低功耗状态,且保持和服务器的连接,收到唤醒包会唤醒模块拉高RI脚再唤醒主控及USB。

心跳

模块根据设置的参数,周期发送心跳给服务器,维持tcp的长连接。

唤醒

网络唤醒包触发唤醒

1.手机等APP发送唤醒信号给服务器,服务器发送唤醒包给指定设备

2.唤醒时,模块RI脚会输出高电平,可用于唤醒主控以及控制USB连接

3.主控被唤醒后,拉低模块MAIN_DTR脚,快速恢复网络

主控唤醒

1.拉低模块MAIN_DTR脚

2.唤醒时,模块RI脚会输出高电平,可用RI脚状态控制USB连接

3.快速恢复网络

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值