(一)嵌入式低功耗设备介绍
在物联网(iot)领域,设备可以使用以太网和无线网进行网络连接。
以太网: 网络稳定,带宽高,延迟低,但是以太网需要拉网布线,设备安装邻活便利性能差。
无线网络:安装位置灵活,便利,但是网络信号容易受到干扰,带宽和速度有限。
常见的低功耗wifi设备有:可可视门铃,可视猫眼,智能门锁等设备。
他们的特点是:设备依赖锂电池供电,电池容量一般较低,对设备功耗非常敏感。
正常工作的时候,设备是处于休眠保活的低功耗状态,它可以通过两种方式唤醒设备:
通过iot平台远程网络唤醒设备,iot平台退出后,设备又进入到休眠保活状态
设备自身事件触发设备唤醒(pir,防拆,按键等触发),事件处理完后,设备重新进入休眠
通过上面介绍,我们可以知道该类设备主要的功耗消耗在于两个方面:
设备最长时间是处于休眠保活状态,设备休眠保活功耗占比高
设备事件唤醒正常工作时,一般需要进行图像等处理,消耗的功耗大
最理想的功耗控制方案是:设备休眠保活时的功耗非常低,设备事件触发正常工作的频率非常低,每次唤醒工作的时间非常短。
(二)低功耗保活技术分析
低功耗保活技术,实际上也就是低功耗设备在休眠的时候,设备端与iot平台保持一个网络上的连接,这样做有两个目的:
iot平台可以知道设备的在线状态,并且可以远程网络唤醒设备
设备端的wifi模块是处于低功耗休眠状态,如果有事件唤醒,可以很快就建立起新的网络连接。
为了降低设备端的功耗,设备端一般是设置60秒或是更加长的时间周期往iot平台发送一个心跳包,以保持设备在线状态。
如果iot平台超时没有收到设备端的心跳,会判定设备已经离线。
设备正常保活功耗如下图:
(三)实际问题分析
对于上面介绍的这类通过wifi进行休眠保活的设备,在实际应用中会出现各种问题,比如:
同一个设备,连接不同的路由器,其休眠保活的功耗会存在很大的差异
同一设备,连接同一路由器,在不同环境的不同时间,功耗也会存在差异
同时生产的同一批设备,在国内没问题,在国外使用就会出现只能用几天的问题
为什么会出现这些差异?其根本原因是什么?又可以通过什么方式进行规避呢?
1.同一设备,连接不同路由器功耗会有差异
这里主要是跟路由器的beacon有关系,beacon是路由器定期广播的一种管理帧,它携带了关键的网络信息,比如ssid,rates,dsps等信息。下面是使用抓包工具抓的一个beacon帧信息
路由器一般是100ms广播一次,同样的,设备端的wifi模块也会以相同的周期去接收路由器的beacon,这里有两个目的:
接收路由器的beacon包,以检查是否有iot网络唤醒请求
通过路由器beacon包进行时间同步
那为什么设备连接不同的路由器,设备端休眠保活的功耗会不一样呢?主要原因是:路由器的beacon包规律性存在差异
路由器本身的定时器不准,100ms的定时存在偏差,导致设备端wifi长时间的等待接收beacon包
路由器负载高的时候,可能优先进行数据传输,导致beacon包延后发送,这个时候设备端的wifi处于等待状态,会比休眠的时候功耗高
2.同一设备,连接同一个路由器功耗也会有差异
同一个设备,连接到同一个路由器功耗会存在差异,主要原因有:
路由器同信道有无线干扰
路由器与设备距离远
路由器与设备中间有障碍物阻挡
距离与障碍物遮挡,这类问题还是比较容易被发现,但无线干扰这个就比较难定位,无线干扰主要是指同频段的电磁波干扰。
因为有干扰源的存在,路由器发出的beacon广播包,设备端可能会接收不到,所以设备端会超时接收,导致功耗变大。
如何查看环境的干扰情况呢?
使用频谱仪搜索环境信号
使用wifi魔盒查看wifi干扰情况(只能看出大概情况)
使用无线抓包工具,查看丢包情况
下图是使用抓包工具去抓路由器 beacon 广播包的情况,fast_ea06 是路由器名
通过分析抓取到的beacon包,可以知道功耗偏高问题,是当前环境干扰引起的,还是设备端自身的问题。
3.其它问题
其它的一些问题,比如:同时生产的一批设备,在国内没问题,在国外使用就会出现只能用几天的问题,或者是连接到某些路由器时就会出现电量消耗很快的情况。
这类问题的原因可能会比较多,主要是跟路由器的设置有关系,比如路由器的租期时间长短,路由器arp缓存表更新策略等
这里分析一下路由器arp缓存表更新引起的功耗变大的问题
路由器和主机都会维护一个arp缓存表,目的是为了解析ip地址与mac地址之间的关系。
如果设备刚连接上设备,路由器arp缓存表上没有该设备ip和mac地址信息,那么路由器会广播,“谁拥有这个ip地址对应的mac地址?”,该ip的设备收到该广播后,正常应该将自己的mac地址告知路由器。
如果设备端没有应答该路由器的arp请求,或者是说该应答机制有问题,那么,有些路由器有可能会断开该ip的所有连接,导致的结果就是设备端与iot的保活连接被断开
如果保活链路被断开了,那么设备端需要被唤醒,重新建立保活连接,这样一来,设备端的功耗就会变得很高。
如果一直没有arp应答,那么设备可能间隔一小段时间,就会被唤醒去重新建立网络。最终的结果就是设备使用几天就没电了。
(四)如何优化保活功耗
要优化嵌入式wifi保活功耗,主要的方式有:
选择干扰较少的无线频段
避免物理障碍以及缩短路由器与设备间的距离
增强路由器与设备端的信号强度
控制路由器的负载,使其beacon包按规律稳定发送
功耗控制是一个综合性问题,与设备结构,硬件,软件都有关系。在电池技术没有突破性进展的前提下,要想做到超时长续航,在产品功能上势必需要做一些取舍。
了解这几点,飞创直线电机模组如何选型轻松搞定
华硕和腾讯强强联合,共同布局AI机器人市场
思科280亿美元收购Splunk,中国加速自动驾驶竞赛
使开关或线性稳压器产生低于反馈电压的电压
米尔科技MYB-6ULX底板产品概述
嵌入式低功耗WiFi设备保活功耗分析
FMCW微波物位计的原理
槽型光电开关与单片机的接线方法_槽型光电开关使用方法
机器视觉同焊接机器人结合有怎样的火花
什么是L3故障?为什么会保护?
都是运动达人,Q50/ATS/IS三款车哪个更好?
放大电路的基础—单级放大器(1)
中国即将突破ASML***技术!
混合励磁电机的结构及原理
MOST总线的特点和工作原理
新型全光开关助推计算机处理速度千倍提升
电压表和电流表的区分
Intel 10nm工艺桌面处理器或在明年初发布
兆驰股份全年净利预增超八成,有何独到之处?
汽车减速器工作原理