最近给手机升级了iOS 10,发现多了一个家庭功能,点击去一看能添加各种传感器。马上来了兴趣。
先看了苹果秋季发布会关于HomeKit部分的视频(印度大叔口音很带感,哈哈哈哈),然后搜了下关于HomeKit的各种信息,特别是HomeKit的API调用,接着就发现了一个基于Nodejs的开源项目homebridge。这个项目起到了连接ios和传感器的桥梁作用。于是我没有看它的源码,只是关注了如何编写它的插件。从网上找了一个别人写的智能灯泡的插件,下载下来然后查看源码,其实有用的部分就是几个回调函数,一个是set方法一个是get方法,另外可以注入制造商信息。所以我直接把之前写好的relay模块拷贝到node_modules里面,在set和get方法里调用了relay的set和get方法,然后修改了homebridge的config.json并放到home的.homebridge目录下,然后开始运行,一遍跑通~
不过由于homebridge是个前台程序,所以需要用supervisor管理比较方便,解决了环境变量的小问题后,程序成功跑起~打开ios中的家庭后,直接就发现了这个设备,然后按照识别码添加好设备,就可以方便的控制了~苹果的智能家居战略的确NB啊,另外极客的逆向能力也不可小瞧,破解了HomeKit的API,本来苹果想封闭厂商赚钱,这样一来就变成一个开源生态了。不过在此阶段应该对苹果HomeKit的推广更有好处而不是坏处,所以估计苹果除了让逆向的人把破解文章删了,其他也会睁一只眼闭一只眼吧,哈哈。