樹莓派學習之HA 初體驗

一. 安裝 HA 環境
HA 有兩種方式安裝,一種是安裝python3 及ha 運行程序,插件等;一種是直接安裝別人已經做好的樹莓派鏡像文件;建議剛玩的小夥伴,先用鏡像文件安裝,畢竟安裝的時候隨便一個問題都有可能讓你失去興趣。
1.下載樹莓派鏡像,根據自己版本需求下載
https://pan.baidu.com/s/1a0qRrb0694h-JzxJ1Z5Bbw#list/path=%2F
在這裏插入圖片描述
2.下載 etcher,並用etcher進行鏡像燒寫
下載路徑https://etcher.io
選擇前面下載的鏡像文件,並flash 到SD 卡
在這裏插入圖片描述
3.連接wifi,並開啓ssh
將燒好後的SD 卡 插入電腦,在boot 分區中新建wpa_supplicant.conf 和 ssh(沒有後綴,並且爲空) 兩個文件,並在wpa_supplicant.conf 文件中寫入如下配置

#多個wifi ,只需要增加一個network 並修改其中的 ssid 和psk 即可
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="連接的wifi名稱"
psk="wifi的密碼"
key_mgmt=WPA-PSK
priority=1
}

4.一些常用的命令

ha-start: 啓動HomeAssistant
ha-stop: 停止HomeAssistant
ha-restart: 重啓HomeAssistant
ha-log: 查看HomeAssistant輸出
node-red-start: 啓動node-red

5.ssh 登錄 樹莓派
這裏有三種方式
一,通過ipScan 等工具,搜索名叫“raspberry”的設備的IP
二,通過路由器設備列表,查看名叫“raspberry”的設備的IP
三,樹莓派是默認開啓了mDns, 就可以在本地通過樹莓派的計算機名稱+.local 登錄了
ps:最新版的HA-china pi用戶密碼設置爲hachina
在這裏插入圖片描述
6.常用端口

dashboard訪問端口5050
Jupyter Notebook 訪問端口8888
assistance 範文端口8123

二, 設備接入
本人這裏選的是基於mqtt 協議接入的
1.配置mqtt 服務器
在configuration.yaml 中找到mqtt 加入如下配置

```
mqtt:
  broker: iot.eclipse.org						#ha 是有自帶一個mqtt 代理服務器的,也可以使用自身的服務器
  port: 1883
  discovery: true									#自動發現,
  discovery_prefix: homeassistant		#使用自動發現功能時,topic 包的前綴

```

1.開關設備接入
在configuration.yaml 文件中加入如下配置

light:
  - platform: mqtt
    name: "LED light over MQTT"
    state_topic: "hachina/hardware/led01/state"
    command_topic: "hachina/hardware/led01/switch"
    payload_on: "on"
    payload_off: "off"

接下來就可以通過mqtt 客戶端,訂閱 ha 服務器發來的”hachina/hardware/led01/switch“ 控制命令 開燈時 payload=“on”,和輪詢的往“hachina/hardware/led01/state”,發送當前燈的狀態信息,燈亮時,payload 依然是"on "

2.傳感器的接入
在configuration.yaml 文件中 sensor 下加入如下配置

- platform: mqtt
    name: pm25
    state_topic: "tele/888/sensor"
    value_template: "{{ value_json.SDSOX1.PM25 }}"
    unit_of_measurement: "ug/m3"
    - platform: mqtt
    name: pm10
    state_topic: "tele/888/sensor"
    value_template: "{{ value_json.SDSOX1.PM10 }}"
    unit_of_measurement: "ug/m3"

在這裏插入圖片描述
然後就可以通過向 tele/888/sensor 主題中發送如下payload,即可在ha 中顯示傳感器的值了

{
	"SDSOX1": {
		"PM25": 14,
		"PM10": 20
	}
}

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章