前面的华为小苹果遥控中心的评测文章我们说了它的一些不足,比如语音和联动可以操控的操作比较少,但是今天我们可以自己动手彻底破解这个问题,并且可以让华为语音助手小艺控制小米米家设备。只要你敢想敢做,华为小艺声控万物不是梦。我们先简单说一下原理,原理如下图所示。
我们实现的原理就是用华为语音助手控制小苹果遥控中心的红外遥控设备,openmqttgateway红外网关解码小苹果发射的红外码,然后ha就可以根据红外码控制任何已接入ha的设备和服务了。
下面我们开始根据原理图进行实际操作,华为小苹果遥控中心接入华为智慧生活平台在上篇开箱评测中已经完成,不再赘述了。下面开始openmqttgateway的搭建工作
一、搭建openmqttgateway IR红外网关1、购买所需购买电子元器件
首先看一下原理图,我们需要的部件有nodemcu、红外接收模块、杜邦线,就这三项就够了,我们不需要红外发射模块,如果你还需要红外发射功能,也可自行购买。
①nodemcu模块实物如下图所示
淘宝价格大概在十元左右
②红外接收模块实物如下图所示
红外接收模块价格在一块多
③杜邦线实物如下图所示
杜邦线的价格如下,40根才几块钱,我们需要三根杜邦线就可以了。
以上电子元器件大家在淘宝直接购买就行,十几块钱就搞定了。
2、接线
根据原理图实物接线如下图所示,红外接收模块VCC电源正极引脚接nodemcu 3V3引脚,红外接收模块GND电源负极引脚接nodemcu 3V3引脚,红外接收模块DATA数据引脚接nodemcu D4引脚,-华为助
3、下载固件
①从如下网址。
4、刷固件
①从如下网址。
②双击刚才下载的NodeMCU-PyFlasher,打开该刷机工具
③选择刚才下载的nodemcuv2-ir-firmware.bin
④选择nodemcu所在的通信端口,
⑤点击FlashNodeMCU开始刷机
等待下面的提示框提示刷机成功后即可退出刷机软件拔下nodemcu
5、配置网关
给网关重新上电后,nodemcu红外网关会自动建立一个ESP开头的WiFi热点,我们用电脑连接到该节点,在浏览器输入192.168.4.1,就会打开网关配置界面。
点击“Configure WiFi”打开详细的配置界面,输入你的WiFi 名称 WiFi密码,输入home assistant所用的MQTT server的IP地址端口和mqtt账号密码,并记住gateway name和mqtt base topic,后面homeassistant里要用到。-华为小
最后点击Save进行保存,模块会重启连接你的WiFi和MQTT服务器。
二、homeassistant的设置1、MQTT服务器增加网关所需的账号密码(此步应该在网关设置MQTT账号密码前)
openmqttgateway保存好WiFi账号密码及MQTT账号密码重启后,可以在HA MQTT broker日志内看到openmqttgateway连接到MQTT broker的记录。到此已经证明openmqttgateway已经可以和homeassistant进行通信了。-华为助
2、监控红外码
回到MQTT控制台
点击“选项”进入MQTT控制界面,在监控主题那输入“home/OpenMQTTGateway_ESP8266_IR/IRtoMQTT”然后点击“开始监听”
此时用小苹果发射红外信号,即可解码小苹果发射的红外信号。
3、编写自动化
下面我们就可以根据上面监听到的红外码编写自动化,比如你小苹果遥控中心发射的是灯的开灯的红外码,则我们可以编写接收到此红外码则执行开灯操作。下面的示例就是我用华为小苹果遥控控制米家吸顶灯的自动化示例。填写完自动化配置后,重新加载自动化或重启homeasssitant后,这样我们就可以用华为小艺语音助手控制小米米家的智能吸顶灯了。-华为小
三、测试完工下面我们再重新梳理一下操作流程。第一步就是在华为智慧生活APP的小苹果遥控中心设备中添加对应的设备,比如你要控制的是灯,那你就添加个灯类型的设备(不需要有真实的设备),然后按下刚添加的灯的遥控器的灯“打开”的按钮,监听红外码,记下备用,然后再按下灯遥控器的“关闭”按钮,同样监听红外码,记下备用。然后在homeassistant内编写的自动化中写入刚才的红外码,完成自动化的编写。这样最终就实现了用华为小艺语音助手控制可以接入homeassitant的各种各样的第三方设备了。我们最后就可以用华为手机、华为智能音箱、华为智慧屏内的语音助手测试能否顺利控制刚才添加的设备了。经过我的实际测试,发现还是很好用的,每次都是箭不虚发。之前还有点担心红外信号容易丢失或监控不到,实际测试效果让人满意。-华为助