快捷导航
 
只能远程控制的不叫智能家居 篇一:等了米家几年,还得自己动手实现自动离家回家场景 ...
VIEW CONTENTS

只能远程控制的不叫智能家居 篇一:等了米家几年,还得自己动手实现自动离家回家场景 ...

2019-2-23 00:00| 发布者: 智能硬件专家| 查看: 151| 评论: 0|原作者: 智能硬件专家|来自: 网络

只能远程控制的不叫智能家居 篇一:等了米家几年,还得自己动手实现自动离家回家场景。

从技术上本应可实现的自动化功能,但是因为种种原因没有,那能叫什么智能家居呢?是傻傻的遥控智障家居。

实际上几年前的小米路由器第一代R1D和博联合作的时候,就已经有在路由器上通过MAC地址的连接断开来实现场景条件的判断。可是小米开始做米家后,这个功能就再也没有出现过。陆陆续续米家的智能设备增加到80多个,对于一个70来平的小房子来说几乎是带电的设备都改了。很多自动化场景却跑不起来,连基本的安防功能都一直是摆设。虽然我在门口通过一个无线开关来实现离家回家场景的执行,家里人除了我从没有人用。

从小米路由器R1D、R2D一直等到现在的HD都没见到重新增加这个功能,最近小米手机开发版MIUI到是新增了“手机进入或离开wifi”这个测试功能,可是太弱了。必须要小米手机还得是开发版,而且只能单纯的实现自己一个人特定的场景,最基础的所有人离家、任何人回家执行场景都做不到。

等了这么多年有点心灰意冷,突然看见绿米网关局域网通信协议(懒癌间歇性好转),正好可以自己动手丰衣足食了。先看看执行效果吧。


大概操作原理,通过路由器设备连接列表的MAC地址来识别家人手机是否在线。
等了米家几年,还得自己动手实现自动离家回家场景。


然后利用绿米网关的通信协议。等了米家几年,还得自己动手实现自动离家回家场景。


{"cmd":"get_id_list"}

先通过这个命令,用UDP发送到网关的9898端口,然后网关会返回此网关的连接设备sid号码、随机token到请求设备的9898端口,这个token有效期只有15秒左右。发送控制命令需要它和网关密码来生成key。


{"cmd":"read","sid":"158d0000"}

这个命令,我们可以读取对应zigbee子设备的信息,如model类型、当前状态、电池电压等等。


{"cmd":"write","model":"switch","sid":"158d0000c","data":"{"status":"click","key":"0E988A7E92F8A719D1881C8D52E5BDA4"}"}

这是绿米控制设备的命令。注意这个key需要网关密码、和随机token来生成,具体加密方法绿米官网通信协议中有详细说明。下图是vb.net生成key的代码。
等了米家几年,还得自己动手实现自动离家回家场景。

设备命令发送
等了米家几年,还得自己动手实现自动离家回家场景。


这样我们就能操作绿米的无线开关单击双击来实现场景的执行(注意这个场景必须是本地场景才能执行成功)。为什么不直接控制设备呢?1是没看见绿米公开操作网关警戒模式命令,2是设备多了做兼容痛苦啊(有的米家设备也没公开通讯协议),直接通过米家添加智能场景比较方便随意。
等了米家几年,还得自己动手实现自动离家回家场景。


因为弄这个需要一定的编程基础,我自己的代码又没做路由器适配(仅仅兼容自己的路由器型号),即使直接放软件拿去也没用。以后懒癌又间歇好转的时候看看能不能改改软件做个通用版吧。当然如果有了解的open wrt的朋友能做个插件才是最完美的方案。




Tab标签:

鲜花

握手

雷人

路过

鸡蛋

最新评论

推荐快讯更多

乐居居-让生活更智能!

  • 反馈建议:153890879@qq.com
  • 客服电话:
  • 工作时间:周一到周五

云服务支持

精彩文章,快速检索

关注我们

Copyright乐居居  Powered by©  备案号:湘ICP备15009499号-1