wifi 低压保活DTIM 休眠测试

重要

  • 目前低压模式ble 无法唤醒工作,故进行wifi 保活测试时要先退出BLE

wifi 保活睡眠代码调用流程

  • 1.当使用BLE后,需要把它关闭。

bk_ble_disconnect(0,ble_cmd_cb);
bk_ble_stop_advertising(0,ble_cmd_cb);
ble_thread_exit()
  • 2.设置DTIM count 和 HW TIM count

power_save_set_listen_int(10);
power_save_set_hw_tim_cnt_limit(5);

// DTIM 10 : MCU 每10个beacon 周期唤醒起来接收beacon,进行保活
// HW TIM 5: 以6次为一个周期,前5次唤醒只有硬件接收beacon,软件不处理beacon, 第6次唤醒后软件才会解析beacon 全部内容, 这个参数越大可以降低功耗,但是需要根据应用需求调整。
  • 3.连接路由器

demo_sta_app_init(ssid,password);
// ssid     : 路由器名称
// password : 路由器密码
  • 4.进入mcu 和 rf dtim sleep

bk_wlan_mcu_ps_mode_enable();
bk_wlan_dtim_rf_ps_mode_enable();

// 注意: 这两个接口需要在wifi已连接, 获取到IP 后调用,否则无法进入dtim 休眠

wifi 保活睡眠测试 cli 命令

//首先连接指定路由器、ssid为路由器名称,password 为路由器密码
sta ssid password

//等待连接上路由器后,再设置休眠

//使能mcu 休眠
ps mcuditm 1

//设置仅硬件接收beacon tim 次数
ps tim 5

//设置listen interval 为10, 和使能rf ditm 休眠
ps rfditm 1 10