HA平台能兼容MQTT真的是相当关键的一步,很多大佬自制的固件,通过MQTT的方式连接到HA平台,实现各种传感器和电器的接入,成本低,稳定性高。

部署HA中的MQTT服务端
当初之所以花那么大力气装hassio也是为了可以通过这个方便的办法安装各种插件,实际上只是为了MQTT。
安装服务端
1、在左下角点击hass.io,这个是只有装了hassio版本的ha平台才会有的页面,通过其他方式安装的比如python或者docker,就没有了。
点击hass.io,在上面的标签中找到ADD-ON STORE,然后在下面的列表里找到Mosquitto broker,点击install。

2、安装完需要配置mqtt服务端的用户名和密码,懒得改的直接复制就行了
1 | { |

3、配置完就点restart重启就行了

配置HA中的MQTT设置
在HA的configuration中添加MQTT服务端的相关设置
1 | mqtt: |
brocker是你MQTT服务端的IP,如果按上述办法安装的话就和树莓派是同一个IP,username和password就是刚刚设置的用户名和密码。
sonoff开关
这东西淘宝上买一个就二三十块,结构也很简单就一块ESP01+继电器。我的sonoff开关连到灯具作为灯具的开关了,所以这里会添加为一个MQTT LIGHT。
买回来之后我刷入了tasmota固件,设置好mqtt服务端、用户名、密码,就连接到刚才设置好的MQTT服务器了。
HA设置
在configuration中添加light
1 | light: |
上面出现的jqd,是tasmota固件中MQTT设置里的device topic。
基于ESP8266的各类传感器
这里我用的是espeasy这款开源固件,可以接各种各样的传感器。我用的最多的就是温湿度传感器、人体传感器和超声波测距传感器。

ESPEASY固件安装
我用的是ESP8266 V3这块板子,自带USB口,直接插电脑上然后刷就行了。
espeasy官网可以下载固件和烧录程序,非常简单,像我这样的小白也可以轻松上手。
客户端设置
初始化之后,设置好wifi和MQTT服务器,就可以正常接入了。

硬件连接这边我就无需多说了,3v3和gnd对准插好就行了,信号线接gpio口,然后在ESPEASY的WEB界面里面设置一下就可以用了。

举个例子
我的书桌上有个小东西,是一块8266的板子,连了超神波测距传感器、温湿度传感器、人体传感器。
1 | # 人体传感器 |
通过人体传感器判定是否有人在书房,夜间可以自动开灯,人离开的时候可以自动关灯。
超声波测距传感器可以确认我是否在书桌前,可以自动开关书桌的台灯。
温湿度传感器就是在夏天自动开冷气或者在冬天自动开暖气的,不过我的书房目前没有暖气。
以上就是MQTT设备的接入,其实还有很多MQTT设备,官网上也可以看到,比如窗帘、定位系统、风扇、空调、各种开关等。
HA平台对MQTT的支持,使得HA的可玩性大大提高,目前有很多大佬都自制了各种MQTT硬件,价格比成品产品便宜质量也不差。