话说小米的39元无线开关,买了两个回来,想着说zigbee alliance的规范规定各家的zigbee应该都是在协议栈ZCL层面兼容的,没想到必须配小米的网关才能使用,而且网关价格不菲,就心想能不能破解一下,实现脱离网关控制灯具开关。
直接拿小米的无线开关,ubiqua抓取了一下空中无线数据包,发现默认是工作在11信道上,而且TCLK不用说了用的zigbee alliance推荐的。又测试了一下能否加入TI CC2538协调器创建的网络,是可以加入的,但是没有key exchange动作,基本表明小米是给予zigbee Pro 2.x版本开发的,并不是最新的3.0协议栈。加入以后按一下面板上按键,只能发出Basic cluster的report attribute,奇怪的是按下和弹起分别发送一次report attribute,不解为何这样做,不费电吗。
另外发现有一颗电阻没有作用,但是还是贴着,出货量非常大的情况下,这不都是成本吗
笔者开始时尝试了最新的NXP 3.0协议栈,似乎入网阶段有bug,导致无法入网,暂时放弃,直接使用2.x协议栈进行开发(NXP jn5169开发环境搭建见链接,2.x盒和3.0搭建方式一样),前后断断续续花了5天时间,搞定了最新的固件,直接烧写进去,完全可以组播控制了,也不需要网关。