上一期,博主分析了小米的温湿度传感器的Zigbee协议,见博文:小米温湿度传感器协议分析
在博文后面,博主说要对小米自己的网关来抓包看看。本文将公布研究的结果。
博主借了一个绿米的网关来,按其说明,将温湿度入网,同时用抓包器抓器入网过程:
从上面过程可见,温湿度入网,与入我们自己的网关过程是一样的。绿米网关也没有回什么。
所以,也没有做什么特殊的处理。
既然没有做处理,那么在小米自己的网关里,温湿度表现如何呢?
博主将抓包器开了一晚上,抓到的结果如下:
也都那样,时而有数,时而没有数据上报。其中从1:00到6:30一直都没有真实的数据上来。
查看小米的App,上面也没有显示出比较直观的数据(抱歉,我忘了截屏)。倒是显示出的小纹波,可能是造的数据。
或许,该温度值是设备了,只有当变化时才上报(Zigbee协议中有这个属性配置项)。那么博主倒杯热水进行测试。结果:
这证实了我的推测。
长期观查,在智家365里的显示效果:
断断续续的温度值上报,导致曲线图大部分为虚线。
结论是:
- 小米的温湿度传感器只会有温湿度值有较大的跳变时才有属性上报,平时不会有。
- 每小时会有1个私有的属性报告作为心跳。
- 它没有电量管理(至少我没有看到有电量相关的数据包,也没有在其官方App里找到相关的电量显示)