-
你下载的软件包解压后有3个文件,1个主程序可执行文件、2个dll文件。当然,你一定知道怎么打开啦!
-
加载后首先会检查系统中的串口(可能是上网卡),如果没发现串口就会给你一个警告。当然,你还可以继续运行它,不过它的作用就非常受限了。
-
然后就会检查网络状态,如果根本没连网,程序会拒绝继续执行,因为没啥意义。
-
如果你的电脑上有多个网络连接,也就是多个IP地址,程序没办法判断哪个才是可以与米家多功能网关通信的,所以需要你手工确认一下。一定要选择正确的那个!选错了咋办?退出重新加载!当然,如果你的系统只有一个IP地址,这个窗口是不会出现的,直接到下一步。
-
程序首先会启动一个UDP接收进程,接收网关发出的组播消息(就是224.0.0.50:9898这个地址啦)。它首先关注的是网关发出的心跳消息,一旦收到后就会向网关主动发出get_id_list指令获取子设备清单,然后再挨个读取子设备状态。在整个程序运行的过程中,这个主动的读取只发生这一次,每次启动程序都会发生一次。程序获取到的网关和子设备的信息都会罗列出来,如下图,这里你可以看出来有些很有意思的信息是米家app都没有提供的:
注意:第一次显示出这个清单的时候,每个器件的名称都是默认的(最左侧一列)。这时,你可以对照着米家App里的信息,修改每个传感器的名称(不要使用可能有语法含义的英文标点,如逗号、分号、冒号、大括号、引号等)。
-
然后再看看“报警参数设置”这一栏。这儿的各个参数都可以修改,改好后点击“保存配置”按钮,这些设置以及前面那个窗口中修改的各个zigbee器件的名称都会保存在程序同目录下的名为“GWInfo.cfg”的文件。这个文件是纯文本格式,你可以使用其他文本编辑器进行编辑。
下次你再运行这个程序的时候,它就会自动从这个文件中读取配置信息了。
-
然后点击“监控准备”按钮,或者等待5分钟后,程序就会进入“监控准备”状态,这时所有的参数都不再允许修改。
第一次进入“监控准备”状态,还会弹出一个警告窗口,就是让你用有管理员权限的PowerShell执行一条命令,创建事件日志,没说的,照着做就是了。不懂的话就赶快去学。
-
在“监控准备”状态下,你什么也不需要做,甚至可以把这个窗口最小化隐藏起来。如果程序收到相应的指令,它会自动进入“警戒”状态,或者自动从“警戒”状态退回到“监控准备”状态。
无论是处于“警戒”状态还是处于“监控准备”状态,点击“停止监控”按钮,就会返回到最开始的启动/待机状态,可以重新修改配置参数。
-
其它需要配合的地方有:
8.1 手机侧米家App里,需要事先设置好“无线开关单击离家”和“无线开关双击回家”两个智能条目,里面控制其余部件的开关、网关的警戒模式等你想要的操作。重要的是,需要一个zigbee版智能插座,在离家时将其关闭、回家时将其打开(可以延时1分钟后再关上)。这个zigbee插座开启事件是很重要的桥梁性事件,可以让“短信报警精灵”自动识别到主人回家、解除警戒状态。
换一种说法,“无线开关单击”就是“主人离开,启动警戒模式”的意思,而能够发出这个指令的,除了无线开关自己外,短信报警精灵也可以用模拟的方式做到。此外,第三方(如HA)也可以通过设置在合适条件下发出这个指令(当然,也是模拟)。而无论是米家网关,还是短信报警精灵,在收到这个指令后都会进入警戒模式,当然,同时可能还会打开一些摄像头、关闭zigbee插座、关闭某些电源(比如空调)之类的。
同样,“无线开关双击”(精灵通知网关用)和“zigbee插座开启“(网关通知精灵用),对应的就是”主人回来了,解除警戒并准备迎驾“。这里需要考虑两种方向:一是网关通知精灵(就是我们说的这个软件啦),除了双击无线开关本身(其实一般不会这么用因为它在家里)之外,智能门锁正常开锁、手机侧米家app执行手动智能条目时,网关是没办法直接通知到短信报警精灵的,需要要借用zigbee的开启这样一个精灵可以检测到的事件来进行传递。而反过来,短信报警精灵检测到手机回来后可以模拟发出无线开关双击的消息通知到米家网关使其自动执行回家相关动作。
8.2 如果你也和我一样使用的是苹果的路由器(可能express不行),并且也想用指定手机离家、回家来自动布防撤防,就需要提前把运行“短信报警精灵”的电脑IP设置为静态地址、在路由器上指定该电脑为Syslog目标。其他的路由器以后可能会考虑支持,比如OpenWRT。
注意:这儿最多就允许两部手机(你如果非要设置3部手机的话一定会出错),最后一部离开就会自动布防、任意一台回家就会触发自动撤防。当然,为了确保及时性,在快到家门前最好把手机屏幕激活,要不然可能等你进门半个小时手机都不会主动连接WiFi。都是为了节省一点可怜的电量~8.3 值得指出的是,包括手机恢复WiFi连接、手机地理位置(电子围栏)等手段用于自动判断离家和回家都很不完美。用于离家判断还可以,用于回家判断却有一个致命的缺陷,那就是:太迟钝!提前激活手机屏幕会大幅度改善,但增加了一项操作效果就大打折扣了。手机侧米家app执行手动智能条目同样也有画蛇添足之感。而智能门锁正常开锁本来是一个很好的方法,但由于多数米家兼容的门锁使用的都是蓝牙协议、需要蓝牙网关对消息进行转换、更要命的是这个开锁的事件消息需要经过云端才能联动米家网关以及其他部件,这样一来延迟就很难控制了,经常会出现你都进门半分钟了他那儿才解除警戒模式的尴尬。
那有没有更好的方案?当然是有了。
首先,对于米家用户来说,最理想的智能门锁其实不是米家商城卖的那些,而是同样出自绿米的Aqara品牌的智能门锁!这个产品使用的也是zigbee协议、我猜测应该可以直接与米家网关进行本地联动、并且支持局域网通信接口。如果我曾经购买过的话,短信报警精灵就可以更好的利用它了。
然后,还有一个很好的方法,就是利用低功耗蓝牙,可以更灵敏地感知手机离家和回家。当然,这个方案需要比较复杂的设计,github上有一个很棒的项目 [monitor]: https://github.com/andrewjfreyer/monitor ,利用树莓派实现分布式、高可靠的蓝牙离家回家检测,配合的是HA,但思路非常值得借鉴。如果米家那么多蓝牙器件能够增加这项功能的话,无疑也是功德一件啦!



