上次我們?cè)诎惭bHomeAssistant的時(shí)候(打卡智能家居學(xué)習(xí)之旅(1):了解HomeAssistant),順便把MQTT 集成安裝好了。
為什么要裝MQTT 集成呢?Wi-Fi 設(shè)備(Ai-WB2 或者Ai-M6x等模組)接入服務(wù)器必定要使用網(wǎng)絡(luò)協(xié)議,而MQTT 是這些網(wǎng)絡(luò)協(xié)議中最常用的。例如:阿里云的物聯(lián)網(wǎng)平臺(tái),例如米家、鴻蒙等都有基于MQTT協(xié)議的接入方式,而HomeAssistant 對(duì)MQTT的適配也十分友好。
HomeAssistant的MQTT(MQTT的基本知識(shí)自行學(xué)習(xí),這節(jié)不講MQTT協(xié)議):HomeAssistant的MQTT集成,可以理解為一個(gè)MQTT的客戶端,通過固定的數(shù)據(jù)格式,能夠自己訂閱Topic,并且接收數(shù)據(jù)和下發(fā)數(shù)據(jù)。
所以在使用HomeAssistant 的MQTT 的時(shí)候,需要先配置遠(yuǎn)程MQTT服務(wù)器。設(shè)備接入HomeAssistant 的方式請(qǐng)看下圖:
MQTT 服務(wù)器負(fù)責(zé)轉(zhuǎn)接了HomeAssistant和其他Wi-Fi 設(shè)備的數(shù)據(jù),HomeAssistant 只不過是訂閱了每一個(gè)接入到HomeAssistant 上的設(shè)備的Topic,和獲取到了每個(gè)設(shè)備下發(fā)的Topic。
MQTT 服務(wù)器的搭建
MQTT 服務(wù)器我建議使用遠(yuǎn)程服務(wù)器來搭建,當(dāng)然局域網(wǎng)中也可以,使用遠(yuǎn)程服務(wù)器主要還是為了避免家里有多個(gè)局域網(wǎng)(多個(gè)路由器)的情況,防止任意能夠訪問網(wǎng)絡(luò)的Wi-Fi 設(shè)備都能接入。本地服務(wù)器的搭建方式可以參考搭建MQTT服務(wù)器的帖子:在pi上面部署開源的MQTT服務(wù)器(EMQX)。
遠(yuǎn)程服務(wù)器的搭建也差不多,只是系統(tǒng)不一樣而已。首先登錄到遠(yuǎn)程服務(wù)器上:
后面的步驟就參考上述帖子,貼上相關(guān)指令:
下載 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
運(yùn)行:
sudo systemctl start emqx
安裝完成之后,遠(yuǎn)程服務(wù)器還需要開放兩個(gè)端口:18083和1883.(18083 是MQTT后臺(tái)管理端口,1883 是客戶端連接端口,如果需要加密連接(SSL/TSL)的話,可能還需要開放8883)
最后驗(yàn)證一下,打開瀏覽器輸入:ip:18083,訪問成功:首次登錄賬號(hào):admin,密碼:public
HomeAssistant 連接服務(wù)器
分別點(diǎn)擊 “配置”——>"設(shè)備與服務(wù)"——>"添加集成"——>輸入框搜“MQTT”,填入MQTT服務(wù)器的IP地址:
連接成功會(huì)提示。
另外建議打開HomeAssistant 的高級(jí)功能,用來配置MQTT發(fā)現(xiàn)前綴等內(nèi)容。
可以開啟高級(jí)選項(xiàng),能夠配置客戶端ID及其他功能。
接入HomeAssistant 的前提條件
首先需要了解HomeAssistant 的MQTT 自動(dòng)發(fā)現(xiàn)機(jī)制:HomeAssistant 官方規(guī)定其他MQTT設(shè)備想要在HomeAssistant中顯示,就需要在連接MQTT服務(wù)器的時(shí)候,以實(shí)體的方式進(jìn)行登錄。HomeAssistant 平臺(tái)才能識(shí)別到,并顯示在MQTT集成里面。如下圖所示:
HomeAssistant 官方也給出了關(guān)于實(shí)體登錄的文檔:https://www.home-assistant.io/integrations/mqtt
對(duì)接例子如下:
上面的意思是:連接服務(wù)器之后,給某個(gè)Topic 發(fā)送固定的示例上的json 數(shù)據(jù)。
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 客戶端測(cè)試一下:
按照上述內(nèi)容發(fā)送之后,HomeAssistant 的MQTT 集成就能顯示東西了。所以說,每個(gè)實(shí)體只要根據(jù)說明發(fā)送相應(yīng)的數(shù)據(jù)就能登錄上去了~
審核編輯 黃宇
-
智能家居
+關(guān)注
關(guān)注
1932文章
9646瀏覽量
187522
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
物聯(lián)網(wǎng)智能家居解決方案,實(shí)現(xiàn)設(shè)備間的無縫連接
BW21-CBV-Kit如何接入HomeAssistant實(shí)時(shí)查看AI攝像頭畫面

LG全面開放ThinQ智能家居平臺(tái)API
Zigbee智能家居的優(yōu)缺點(diǎn)分析
人工智能如何強(qiáng)化智能家居設(shè)備的功能

如何用一塊免費(fèi)的PCB板完成2元USB小夜燈控制器?

提升智能家居安全,芯科科技分享CPMS獨(dú)家方案
智能家居包含哪些人工智能應(yīng)用
智能家居系統(tǒng)設(shè)計(jì)方案
智能家居之旅(9):HomeAssistant 的開關(guān)實(shí)體具象化

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

智能家居之旅(3):Ai-M61/M62 接入HomeAssistant 實(shí)現(xiàn)點(diǎn)燈

打卡智能家居學(xué)習(xí)之旅(1):了解HomeAssistant

工信部通過認(rèn)證接入標(biāo)準(zhǔn),國內(nèi)智能家居互聯(lián)互通難點(diǎn)有望解決

評(píng)論