零基础打造全屋智能控制系统 篇十四:要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

2018-05-24 12:45:00 35点赞 328收藏 22评论

注:本篇教程应该是全网(不限于中文)第一个完整的homebridge-mqtt插件使用教程。作者也是花费了较长的时间去测试,整理,故如需转发分享请注明出处以及作者。

在之前的Homepod众测文中,楼主向大家介绍了越过开源智能家居平台,如何将小米全家桶接入homebridge,同时也介绍了全web界面的homebridge配置方案:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

如需查看全文请点击下方卡片(插播一句,homepod已经在对中文语音进行内测了,大家很快就能用中文来操作homepod了,所以还不赶紧将下文收藏):

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

可能是HomeKit的最佳搭配——基于HomePod的智能家居完全体验(附搭建过程)写在前面首先要感谢众测君以及两位中选后放弃的值友,让我参与到了HomePod的众测。同时作为目前站内智能家居原创数量最多的作者,相信大家也没多大兴趣看我在这给大家说“轰趴”的音质怎么好,拾音灵敏度如何强。但是要我炒冷饭的去跟大家说如何用树莓派搭建Homeassitant啥的,我着实觉得也是在浪费时间casatift| 0 评论56 收藏263查看详情

并且在末尾留下了点问题,就是如何通过homebridge-mqtt将ESP8266设备接入homebridge的。不知道大家自己动手了么,有没有遇到些啥问题,不过没关系,通过这篇文章,我们会详细讲解ESPEASY传感器是如何链入homebridge,而不需要诸如home assitant和domoticz之类平台中转的。熟悉楼主系列原创的值友应该都看过之前楼主使用ESP8266模块连接攀藤颗粒物传感器,以及MH-Z14/19二氧化碳传感器,温湿度传感器之类的自己做空气站的原创,原来的文章一般写的都是接入domoticz(HA的有在翰思彼岸发过)。没看过也没关系,可以从以下这篇入门开始看:

零基础打造全屋智能控制系统 篇三:只需100元,让你的DIY净化器实现空气质量联动和远程控制追加修改(2017-05-3011:43:42):lua脚本分享链接有误,现更新为http://pan.baidu.com/s/1pL0RN9D在前两篇文章里,介绍了domoticz的搭建,小米和博联设备的联入。以及如何让domoticz运行的更稳定,和blocky的应用。如果你没读过,可以参考以下casatift| 428 评论333 收藏3k查看详情

而这次我们介绍的是DIY空气站直连homebridge,这样就算你不想玩domo或hass,只是想随时随地掏出你的iphone,看一眼家里的空气状况的话,也是非常简单的。当然,homebridge是省不掉的,不过github上已经有大神在做ESP8266直接接入homekit的固件,像温湿度,开关啥的都已经有源码供大家测试了,等回头固件稳定且支持更多设备的时候,楼主会再向大家介绍的。这里还是跳回我们的主题,homebridge-mqtt。在谈插件之前我们先简单介绍下mqtt,作为老年人,以前是很排斥这类新事物的,但是这次用过了之后,不得不赞叹,实在太方便了。

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

从图中我们可以看到,一个MQTT系统大约分成三类设备:Publisher、Subscriber、和MQTT Broker。其中Publisher是信息发送设备,Subscriber是信息接收设备,与传统的P2P传输不同的是,MQTT使用的是广播传输,所以这里面还需要一个MQTT-Broker服务器作为信息的中转存在。也就是Publisher只是把信息传给了Broker,然后Broker对所有的Subscriber进行无差别的广播,Subscriber也会接收到来自Broker的所有信息,但是只处理它订阅的那部分。当然,很多时候某个客户端既为Publisher也是Subscriber。这个并不矛盾,例如homeassitant系统,既接收来自传感器开关的mqtt信息,也同时向设备发出mqtt指令。Mqtt与之前楼主经常使用的http连接最大的不同是,原先如果一个传感器要通过http发送信息至多个服务器,就需要分别连接每个服务器进行发送,而现在通过MQTT的方式,传感器只需要将信息发送给Broker,然后其他服务器只需要加入MQTT网络,等着收就好。无论是效率还是对传感器节点的压力来说,都会比http方式要好上很多。所以,我们要使用MQTT,首先要做的是搭建一个MQTT Broker:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

我们首先仍是在Dcoker的注册表里搜索下载ncarlier/mqtt,当然,第一个也是可以用的,不过楼主用的是这个,所以这边就还是以此做教程了。

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

然后就从映像里启动这个容器,关于容器的设置,其实只有一项,就是记得勾选“使用与 Docker Host相同的网络”就好。

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

然后我们需要的是设置MQTT BROKER的用户名和密码:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

在容器页面选中Broker,点击详情:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

然后选择终端机,新增边上的小三角,输入命令:

mosquitto_passwd -c pwfile.example username

将最后的username改成你的用户名,然后终端机会要求你输入密码,输入两次就好。至此,我们的MQTT Broker就搭建完成了,是不是超级简单。好了,下面我们就去给homebridge安装插件。

我们打开Homebridge的WEB UI配置页,在plugin页面的搜索框里搜索mqtt:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

选中@cflurin的homebridge-mqtt v0.5.0 安装,注意,不知道怎么使用homebridge UI配置的请参阅楼主的众测文,连接在本文开头,这里就不多说了。等插件安装完成后,我们进入config页面,在config.json的platforms字段添加如下信息:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

因为代码不适合贴在这,具体的大家可以前往homebridge-mqtt v0.5.0的NPM页面进行复制。然后我们保存config.json,然后重启homebridge就好了。然后,我们就需要添加传感器啥的了,这里我们需要用到另一个工具——mqtt.fx,这个软件下载可能需要用到点技术手段,但是你也可以使用其他的mqtt调试器,都是一样的。

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

在Publish,也就是发布界面上有两栏,上面小的那一栏是填Topic的,下面的是Payload。这里简单的说一下mqtt信息的构成,例如,我们要给homebridge添加一个温湿度传感器,根据NPM页面的指导,是要发布一条topic为homebridge/to/add的信息,其中homebridge为你之前在config.json里面写的topic名称。而payload内容为:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

Service定义的是TemperatureSensor,其他类型的话就改成相应的。如果只是温度的话,就可以把湿度字段删掉。而name,model,serialnumber,firmwarerevision等可以自己随便设,没什么大关系。我们就可以在MQTT.fx里面这样添加:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

添加完成后,我们就可以在WEB UI的accessories看到这两个传感器:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

然后我们可以在MQTT.fx里面对这两个传感器进行下测试,我们使用homebridge/to/set(本处自定义为hbridge)作为TOPIC去更新传感器数据,其中温度的命令为CurrentTemperature(湿度为CurrentRelativeHumidity)详细的字段名以及homebridge所支持的设备和服务都可以通过https://github.com/KhaosT/HAP-NodeJS/blob/master/lib/gen/HomeKitTypes.js进行查阅。

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

可以看到web界面上a1的温度已经变化为99摄氏度。

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

同理,我们下面添加空气质量传感器,不过这个空气质量传感器中我们会包含比较多的信息,比如二氧化碳浓度,PM2.5浓度,PM10浓度,以及空气质量等级等。当然,这个具体能包含多少信息,我们还是要查阅HomeKitTypes.js:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

例如空气质量传感器的话,除了从0-5,5个级别外,还能包含以上的数据。所以我们添加的时候就需要把想要的值对应的字段也要添加进去:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

然后就可以看到Web UI里面就有了:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

同样的,我们进行下测试,因为Web UI只支持显示空气质量,所以这里我们就更新AirQuality就好,将其更新为1,也就是Excellent。

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

然后可以看到Web UI里面的a1已经同步更新为Excellent:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

同理,我们可以根据这个套路去添加其他内容的传感器,例如光感,烟雾,声音等都可以。下面我们来继续看看ESPEASY里面该如何设置,关于基础的传感器怎么接,插件怎么用啥的我这就不多说了,不知道的请前去复习本系列之前的原创。

我们打开ESPEASY节点的WEB界面,选择Controllers:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

大家可以看到,我添加的第一个就是mqtt broker的设置,这里要提醒的是,OpenHAB MQTT智能用在第一个:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

在设置页面,关心的主要是IP地址和用户名密码,下面的完全不用看,因为我们真的Publish并不是通过这个来的。然后大家前往Rules页面,关于Rules的使用(关于Rules如何开启,也请参阅之前的原创),其实之前的原创都有讲,所以这里只说Publish的命令:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

详细分解下:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

之前一直有值友在问我如何在domo里面把一个传感器的值分开的问题,我这可以解答下,其实完全不用去浪费domo的资源将值分开,直接在Espeasy里面使用Rules直接将每个值单独发送就好。例如使用SendToHTTP命令:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

而后我们在iOS上就能看到传感器的详细内容了:

要什么HomeAssitant?DIY空气站直连HOMEBRIDGE教程

当然,在楼主的使用中,MQTT插件仍然有一些问题,例如传感器到达一定数量(未定)后,重启homebridge可能会遭遇启动不了的状况,这时候就需要在Web UI中删除插件以及临时文件,然后重新安装,所以这里建议大家每添加一个传感器就备份,重启看看。这个崩溃有时候比较莫名,可能和你传感器的名字也有关,所以大家也看到我的那些传感器的名字都是a1,a2,a3,a4这样的,如果说到达某一个值重启会崩溃后,就返回上一个快照,然后再新开一个homebridge使用……

本文没有提到使用mqtt插件连接开关,是因为espeasy作为Subscriber的功能非常有限,所以下一篇原创会着重说cmd插件配合esp开关模块的使用。谢谢大家,喜欢本文可别忘了点赞收藏打赏一条龙服务哦~


展开 收起

Microsoft 微软 Office 365 个人版

Microsoft 微软 Office 365 个人版

106元起

Microsoft 微软 office365家庭版microsoft365增强版15个月

Microsoft 微软 office365家庭版microsoft365增强版15个月

289元起

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

249元起

Microsoft 微软 Office2016小型企业版 MAC专用

Microsoft 微软 Office2016小型企业版 MAC专用

149元起

自助挂号应用服务

自助挂号应用服务

15000元起

Microsoft 微软 365家庭版个人版正版密钥Office365永久激活2021Mac

Microsoft 微软 365家庭版个人版正版密钥Office365永久激活2021Mac

暂无报价

SANGFOR 深信服科技 存储虚拟化双活软件V6.0

SANGFOR 深信服科技 存储虚拟化双活软件V6.0

29000元起

猎寻 手机信息采集系统1.0 -ZK5000(手机快速点验/手机检查仪)

猎寻 手机信息采集系统1.0 -ZK5000(手机快速点验/手机检查仪)

38800元起

京东 金山麒麟WPS办公软件V11

京东 金山麒麟WPS办公软件V11

暂无报价

黑马校对软件v22.0国产化平台服务器版6亿字技术支持私有化部署服务

黑马校对软件v22.0国产化平台服务器版6亿字技术支持私有化部署服务

170000元起

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

229元起

Microsoft 微软 MAC专用办公软件office2019永久版

Microsoft 微软 MAC专用办公软件office2019永久版

269元起

华三(H3C) SecPath F100-BAS AV 防病毒 License,3年

华三(H3C) SecPath F100-BAS AV 防病毒 License,3年

6904元起

卡巴斯基(kaspersky)网络解决方案中小企业版杀毒软件1服务器10台PC三年升级

卡巴斯基(kaspersky)网络解决方案中小企业版杀毒软件1服务器10台PC三年升级

3990元起

Microsoft 微软 OfficePLUS 订阅会员

Microsoft 微软 OfficePLUS 订阅会员

9.9元起

Nintendo 任天堂 Switch游戏卡带《大航海时代4 威力加强版 HD》 中文

Nintendo 任天堂 Switch游戏卡带《大航海时代4 威力加强版 HD》 中文

196元起
22评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
328
扫一下,分享更方便,购买更轻松