上次我們在安裝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 集成就能顯示東西了。所以說,每個實體只要根據說明發送相應的數據就能登錄上去了~
審核編輯 黃宇
-
智能家居
+關注
關注
1933文章
9749瀏覽量
189621
發布評論請先 登錄
Matter 智能家居的通用語言
明遠智睿SSD2351開發板:智能家居的智能核心
智能家居Mesh組網方案:實現智能化生活的無縫連接NRF52832
重大突破?這個系統,讓智能家居生態屏障土崩瓦解

【幸狐Omni3576邊緣計算套件試用體驗】安裝homeassistant的體驗記錄
BW21-CBV-Kit如何接入HomeAssistant實時查看AI攝像頭畫面

LG全面開放ThinQ智能家居平臺API
如何用一塊免費的PCB板完成2元USB小夜燈控制器?

智能家居之旅(9):HomeAssistant 的開關實體具象化

智能家居之旅(7):HomeAssistant開發板的RGB顏色

評論