2019/05/16

Home Assistant, (4) 安裝 Mosquitto 套件與建立 MQTT 開關 (Internet of Things, Home Assistant)


最近這陣子, 萊恩大兵都泡在物聯網領域裡. 做了很多的嚐試, 學到不少的經驗. 有個好東西要介紹給大家~ Home Assistant.

在前三篇文章中, 萊恩大兵介紹了 HA (Home Assistant) 的系統安裝與簡單上手, 加裝了小米開關與設置條件式自動化, 還安裝 InfluxDB 與 Grafana 套件做數據圖表.
請參考:
- Home Assistant, (1) 系統安裝與簡單上手
- Home Assistant, (2) 遙控小米開關與條件式自動化
- Home Assistant, (3) 安裝 InfluxDB 與 Grafana 套件

(2019/8/16, 補充) 
- Home Assistant, (5) 安裝 NodeRED 套件做更彈性的自動化

在這篇文章中, 萊恩大兵要在 HA 加裝 Mosquitto broker 套件, 並建立 MQTT 開關, 擴大 HA 的使用範圍.

接下來進入主題.

[在 HA 安裝 Mosquitto broker 套件]

首先, 在 HA 的 ADD-ON STORE 分頁, 找到 Mosquitto broker.


點按 Mosquitto broker, 進入到 Mosquitto broker 頁面.
詳細的功能說明, 可以點按 Mosquitto broker  跳轉, 這邊就直接點按 INSTALL 做安裝.

安裝完後, 在 Config 欄位設定使用者帳密, 並按 SAVE 儲存.



再按 START 啟動, 順利的話, Mosquitto broker 服務會很快地啟動運作.

[用 MQTTLens 確認 Mosquitto broker 服務正常運作]

若要確認 Mosquitto broker 服務是否正常運作, 可安裝 Google Chrome Application- MQTTLens 直接連線並發送訊息做確認.
設定好 Mosquitto broker 的 IP 位址, 埠號與使用者帳密.

訂閱 (Subscribe) 主題後, 發佈 (Publish) 訊息到同主題上, 再確認有沒有收到剛發佈出來的訊息. 若有, 即表示 Mosquitto broker 已正常運作中.

[在 HA 加入 Mosquitto broker 的接取設定]

開啟 configuration.yaml, 找個適當的位置, 填入:

mqtt:
  broker: 127.0.0.1
  username: mqtt-user
  password: (your password)

並存檔.

HA 多了 MQTT 的能力, 可以玩的花樣就多了.  
萊恩大兵簡單做幾個示範:

(1) 定時將本地端溫度計的數據傳送到特定主題.

開啟 automations.yaml, 依下圖示加入一筆新的 automation 規則.

存檔, 重啟 HA 服務. 
等重啟完成, HA 即會每分鐘一次, 將 sensor.bt_temp_humid_sensor_temperature 的數值, 透過 MQTT 協定發佈到 bt_sensor_temp 的主題下.

透過 MQTTLens, 可以看到每分鐘的溫度計數據.

(2)  MQTT 虛擬開關

開啟 automations.yaml, 依下圖示加入兩筆新的 automation 規則.

其一是在 mi_switch_1 主題, 收到 "on" 時, 就會去打開 switch.switch_1 的開關.

另一則是在 mi_switch_1 主題, 收到 "off" 時, 就會去關閉 switch.switch_1 的開關.

這樣就可以透過 MQTT 直接下命令開/關 switch.switch_1 了.

今回就講到這邊, 下回來安裝 NodeRED 做更彈性的自動化.


[萊恩大兵的其它文章]

自製大四軸

CC2540 Bluetooth Low Energy

OpenCV 學習路徑

小惡魔 無線溫度感測器

沒有留言:

張貼留言