上海域格ASR平台4g模块低功耗应用指导

上海域格ASR平台4g模块低功耗应用指导

1.普通休眠唤醒方法

1.1 USB支持 suspend/resume

  当主机支持 suspend/resume 时,可通过以下方式对模块进行休眠唤醒操作。
休眠流程:
  发送命令 AT+CSCLK=1使能模块休眠功能(CAT1模块需禁用RNDIS拨号)。
   断开USB。
唤醒方式:
  连接 USB。

1.2 USB不支持suspend/resume

  当主机不支持suspend/resume 或 主机和模块仅通过UART口连接时,可根据情况选择以下方式中的一种对模块进行休眠唤醒操作。

1.2.1 GPIO休眠唤醒

  该休眠方式默认关闭,开启需发送 AT^GPIOWAKE=1(重启生效,仅需设置一次)。
休眠流程:
  开机初始化发送命令 AT+DISABLEUSB=1断开模块内部 USB连接,每次开机发一次即可,后面进休眠不需要再发(CAT4模块不支持该指令)。
  AT+CSCLK=1 断开模块内部 UART 连接(每次开机发一次即可,后面进休眠不
需要再发)。
  拉高 WAKEUP_IN 引脚,使模块进入休眠(开机后第一次休眠只需发送 AT 指令即可,唤醒模块后再进入休眠需要一直拉高WAKEUP_IN引脚,高电平触发)。
唤醒方式:
  拉低 WAKEUP_IN引脚,使模块唤醒。
注:
CAT4 miniPCIE 模块 WAKEUP_IN 引脚为第 32脚;
CAT1 miniPCIE 模块 WAKEUP_IN 引脚为第 19脚;
CLM920 AC3、CLM920 AC3 等贴片模块 WAKEUP_IN引脚为第 1 脚。

2.数据唤醒方法

  支持型号 CAT4:CLM920 AC3;CAT1:CLM920 RC3、RE3、RV7、KV3、YV9
等,需使用低功耗版本。

2.1应用场景1

   主控无操作系统,如单片机等,周期上传数据,有远程唤醒需求,使用uart口收发数据使用内嵌AT指令,需要使用心跳机制维持tcp长连接,控制模块进入休眠使用WAKEUP_IN(或者DTR)引脚,模块唤醒主控使用RI引脚。
初始化指令:
       AT+YGFEATURECFG=128,0          //只需设置一次即可
       AT+CFUN=1,1                 //重启生效
       AT+YGFEATURECFG?             //确认 sleep8 是否为“1”
         在这里插入图片描述

2.1.1建立socket连接

AT+QIPOPEN=1,1,“TCP”,“192.168.0.100”,12346,0,1    //(0非主动上报模式,主动 上报模式)建立TCP连接
AT+QIPSEND=1,200      //发200个数据
RECVFROM:        //收数据主动上报服务器返回数据

2.1.2进入低功耗模式

  AT+QISWTMD=1,0     //切换到非主动上报模式 唤醒数据到来时先缓存并通知主控,由主控主动读取数据
  主控拉高WAKEUP_IN(或者DTR) 进入休眠 (模块进入休眠时会拉低RI脚)
  主控进入低功耗模式,检测ri中断,设置心跳定时器

2.1.3心跳

  根据运营商的NAT超时规则,tcp连接在NAT超时时间内一直没有数据收发,链路会被清除,心跳间隔需要小于NAT超时时间,一般设置设置3-5分钟,3分钟比较通用,5分钟功耗更低。
由主控发送心跳,主控采集到数据或者心跳定时器到达指定时间
  (1)主控拉低WAKEUP_IN 退出休眠(模块拉高RI脚)
  (2) AT+QISWTMD=1,1      //切换到主动上报模式
  (3) AT+QIPSEND=1,200    //发心跳数据
  (4) AT+QISWTMD=1,0     //切换到非主动上报模式
  (5) 主控拉高WAKEUP_IN 进入休眠 (模块拉低RI脚)
由4g模块发送心跳
  ①主控在休眠前设置好心跳参数,发送AT指令切换为心跳模式
AT+SLEEPCFG=1,180,“31323334”,1    //第一路socket,心跳时间180s,hex 心跳包,使能模块心跳1
  ②主控拉高WAKEUP_IN 进入休眠     //模块拉低RI脚

2.1.4唤醒

网络唤醒
 手机等app发送唤醒信号给服务器,服务器发送唤醒包给指定设备。
 模块拉高RI脚通知上位机
 主控拉低WAKEUP_IN 退出休眠 (模块拉高RI脚)
 主控收到RI信号,发送 AT+QIPREAD=1    //查询收数据长度
 AT+QIPREAD=1,length     //读取数据
  AT+QISWTMD=1,1       //切换回主动上报模式
操作完后设置心跳参数,根据步骤2.1.2走休眠流程

2.2 应用场景2

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

2.2.1驱动支持

  修改主控驱动支持TTYUSB,使用TTYUSB1作为AT口

2.2.2休眠

  初始化指令: AT+YGFEATURECFG=128,0          //只需设置一次即可
         AT+CFUN=1,1                 //重启生效
         AT+YGFEATURECFG?             //确认 sleep8 是否为“1”
         
        在这里插入图片描述

 ① 开启需发送AT^GPIOWAKE=1(重启生效,仅需设置一次)
 ② 设置休眠参数,如 AT+ENTERSLEEPHEX=1 设为 HEX,默认为 1,实际发送给服务器会转换成原始数据(0为原始数据,有特殊字符时建议 HEX 模式)
 ③ 设置服务器、心跳包、唤醒包信息,如服务器地址 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>,<in_t erval>,<heartbeat_data>,<wakeup_data>,<auth_data>,<auth_resp>,<heartbeat_resp>
  <server_ip>:服务器地址;
  <server_port>:服务器端口号;
  <in_terval>:心跳间隔时间(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 设置的所覆盖。如果不需要设置 USB 断开方式及重试次数,该步骤可跳过。USB 断开方式固定为 1,表示由模块主动断开 USB;连接重试次数默认为 3;发送重试次数默认为3)。
AT+ENTERSLEEPCFG=“6c6f67696e”,“6f6b”,1,3,2 //登录包为
“6c6f67696e” 、应答包为“6f6b” 、USB断开方式固定为 1 表示由模块主动断开 USB、连接重试次数 3、发送重试次数为 2。

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

2.2.3心跳

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

2.2.4唤醒

网络唤醒包触发唤醒
 手机等app发送唤醒信号给服务器,服务器发送唤醒包给指定设备
 模块收到数据时断开与服务器的连接,恢复usb,RI脚输出高电平唤醒主控
 主控被唤醒后,拉低模块WAKEUP_IN脚,快速恢复网络

主控唤醒
 拉低模块WAKEUP_IN脚
 模块收到数据时断开与服务器的连接,恢复usb,RI脚输出高电平
 快速恢复网络

2.3 Liteos驱动加载方法

  ① AT+USBCFG=4E3CE   //初始化时设置一次即可,设置后,模块自动重启通过ECM联网
  ② 修改liteosusb驱动
  在usb\implementation\usbdevs.h中添加
在这里插入图片描述
  在usb\serial\u3g.c中添加
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值