大数跨境
0
0

打卡智能家居之旅(2):设备接入HomeAssistant的方法

打卡智能家居之旅(2):设备接入HomeAssistant的方法 安信可科技
2024-05-24
1
导读:学智能家居,到安信可社区!

安信可618狂欢节来袭

5/31 20:00:00-6/20 23:59:59

大促来袭,0套路直享优惠



上次我们在安装HomeAssistant的时候(打卡智能家居学习之旅(1):了解HomeAssistant),顺便把MQTT 集成安装好了。


为什么要装MQTT 集成呢?Wi-Fi 设备(Ai-WB2 或者Ai-M6x等模组)接入服务器必定要使用网络协议,而MQTT 是这些网络协议中最常用的。例如:阿里云的物联网平台,例如米家、鸿蒙等都有基于MQTT协议的接入方式,而HomeAssistant 对MQTT的适配也十分友好。


HomeAssistant的MQTT(MQTT的基本知识自行学习,这节不讲MQTT协议)HomeAssistant的MQTT集成,可以理解为一个MQTT的客户端,通过固定的数据格式,能够自己订阅Topic,并且接收数据和下发数据。


所以在使用HomeAssistant 的MQTT 的时候,需要先配置远程MQTT服务器。设备接入HomeAssistant 的方式请看下图:



MQTT 服务器负责转接了HomeAssistant和其他Wi-Fi 设备的数据,HomeAssistant 只不过是订阅了每一个接入到HomeAssistant 上的设备的Topic,和获取到了每个设备下发的Topic。


MQTT 服务器的搭建


MQTT 服务器我建议使用远程服务器来搭建,当然局域网中也可以,使用远程服务器主要还是为了避免家里有多个局域网(多个路由器)的情况,防止任意能够访问网络的Wi-Fi 设备都能接入。本地服务器的搭建方式可以参考搭建MQTT服务器的帖子:在pi上面部署开源的MQTT服务器(EMQX)


远程服务器的搭建也差不多,只是系统不一样而已。首先登录到远程服务器上:




后面的步骤就参考上述帖子,贴上相关指令:


下载 MQTTx Ubuntu 版

wget https://www.emqx.com/zh/downloads/broker/5.6.1/emqx-5.6.1-ubuntu20.04-amd64.deb


安装:

sudo apt install ./emqx-5.6.1-ubuntu20.04-amd64.deb

运行:

sudo systemctl start emqx


安装完成之后,远程服务器还需要开放两个端口:18083和1883.(18083 是MQTT后台管理端口,1883 是客户端连接端口,如果需要加密连接(SSL/TSL)的话,可能还需要开放8883)




最后验证一下,打开浏览器输入:ip:18083,访问成功:首次登录账号:admin,密码:public




HomeAssistant 连接服务器


分别点击 “配置”——>"设备与服务"——>"添加集成"——>输入框搜“MQTT”,填入MQTT服务器的IP地址:


连接成功会提示。


另外建议打开HomeAssistant 的高级功能,用来配置MQTT发现前缀等内容。


可以开启高级选项,能够配置客户端ID及其他功能。



接入HomeAssistant 的前提条件


首先需要了解HomeAssistant 的MQTT 自动发现机制:HomeAssistant 官方规定其他MQTT设备想要在HomeAssistant中显示,就需要在连接MQTT服务器的时候,以实体的方式进行登录。HomeAssistant 平台才能识别到并显示在MQTT集成里面。如下图所示:



HomeAssistant 官方也给出了关于实体登录的文档:https://www.home-assistant.io/integrations/mqtt
对接例子如下:


上面的意思是:连接服务器之后,给某个Topic 发送固定的示例上的json 数据。
Topic:

homeassistant/binary_sensor/garden/config

Json:

{   "name":null,   "device_class":"motion",   "state_topic":"homeassistant/binary_sensor/garden/state",   "unique_id":"motion01ad",   "device":{      "identifiers":[         "01ad"      ],      "name":"Garden"   }}

使用MQTTx 客户端测试一下:




按照上述内容发送之后,HomeAssistant 的MQTT 集成就能显示东西了。所以说,每个实体只要根据说明发送相应的数据就能登录上去了,下期再会~






往期回顾

天线+模组,1+1>2?

OTA近场测量是什么?资深工程师这样说

天线在装配时需要注意哪些事项?





安信可更多产品信息可进入以下链接查阅:

●开发资料:https://docs.ai-thinker.com/

●官方教程:https://blog.csdn.net/Boantong_

●安信可官网:www.ai-thinker.com

●安信可社区:https://bbs.ai-thinker.com

●业务咨询请联系:18022036575





【声明】内容源于网络
0
0
安信可科技
全球领先的联网模组、智能家居等物联网硬件方案提供商。
内容 393
粉丝 0
安信可科技 全球领先的联网模组、智能家居等物联网硬件方案提供商。
总阅读94
粉丝0
内容393