有多少节点?主节点超过多长时间没收到分节点的状态是不能忍受的?数据包有多长?速率是多少?都在影响功耗。
如果电路、电池、结构的低功耗设计已经无法优化的情况下,可以改变一下通讯机制,比如,分节点实时主动上报状态,主节点不做轮询和应答,分节点之间自己处理通讯上的竞争,比如侦听、重发等。
为防止分节点一上电或放在仓库里远离主节点的位置还一直往外发数据,浪费电量,可以让主节点每隔一段时间(比如几分钟或一个小时)广播一个在线数据包,分节点收到这个包后自己才主动上报数据,当然,为防止等待主节点发这个包的间隔太长,分节点不上报状态,影响体验感,也可以让分节点进入这个范围后,收到其它分节点的状态码,自己也加入上报队伍中,当离开队伍一段时间后,没收到主节点的在线包,则重新进入休眠状态,如此循环等。
当然,在满足距离和误码率下,提高速率,减少字节长度,增加休眠时间等也是低功耗的做法。
|