HA ESPHome 安裝 D1 Mini + HLK LD2410B(毫米波存在感測)

作者:紅軍

HA EspHome安裝 (已經安裝的可以跳過此步驟) 安裝請到

ESPHomeGetting Started with ESPHome and Home AssistantGetting Started guide for installing ESPHome Dashboard as a Home Assistant add-on and creating a basic configuration.

照官網步驟就可以完成

安裝完成後先到 secrets 設定一下wifi的帳號密碼等等會用到

ESPHome D1 Mini LD2410B 教學截圖 01

先拿出你的type c線連接你的電腦跟d1 mini

ESPHome D1 Mini LD2410B 教學截圖 02

新增一個device

此時會跳出連接port選項 請選擇你的usb選好後點擊連線

ESPHome D1 Mini LD2410B 教學截圖 06

如果出現這個表示選錯請重新選一個

ESPHome D1 Mini LD2410B 教學截圖 07

等待第一次燒入完成

ESPHome D1 Mini LD2410B 教學截圖 08

新增完以後直接選剛剛生成的device 點edit進去將yaml整個複製貼上

ESPHome D1 Mini LD2410B 教學截圖 09

D1 Mini + 2410B yaml

bash
external_components:
  - source: github://oxan/esphome-stream-server

substitutions:
  name: "d1mini-2410b"
  tcp_port: "8888"
#tcp_port 定義遠端控制vcom連線時用的port

esphome:
  name: ${name}
  name_add_mac_suffix: true
#name_add_mac_suffix 添加mac位址在name後面
#不需要再name後面增加mac位址需把此行註解掉
#缺點 ota時需產出bin並登入web頁面更新
#優點 每個設備加入時都會是不同的id方便辨識

esp8266:
  board: d1_mini

# Enable logging
logger:
 
 baud_rate: 0

# Enable Home Assistant API
api:
 
web_server:
  port: 80
  include_internal: true
  version: 2

ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
#    ssid: ${name}
    password: "87654321"
# ssid前面加上註解可為ap的ssid後面加上mac位址
# ap ssid加上mac在連esp時可以方便辨識是連哪顆裝置
# 如果不想要加上mac 可將 ssid: $(name) 前面的 # 拿掉

captive_portal:

button:
  - platform: restart
    name: "Restart"

text_sensor:
  - platform: wifi_info
    ip_address:
      name: IP Address
    ssid:
      name: Connected SSID
    mac_address:
      name: Mac Address

sensor:
# Uptime
  - platform: uptime
    name: Uptime
    filters:
      - lambda: return x / 3600;
    unit_of_measurement: "h"
    accuracy_decimals: 1

# WiFi Signal
  - platform: wifi_signal
    name: WiFi Signal
    update_interval: 60s

#  - platform: bh1750
#    name: "Illuminance"
#    address: 0x23
#    update_interval: 30s

#i2c:
#  sda: 4
#  scl: 5
#  scan: true
#  id: bus_a
# 此2段為定義BH1750光感的設定如果有加上光感可將前面的 # 拿掉即可使用光感

uart:
  id: uart_bus1
  tx_pin: GPIO15
  rx_pin: GPIO13
  baud_rate: 256000

stream_server:
   uart_id: uart_bus1
   port: ${tcp_port}

# optional binary sensor to monitor serial connection:
binary_sensor:
  - platform: gpio
    id: motion
    pin: GPIO16
    name: "Motion"
    device_class: motion
    on_state:
     - if:
         condition:
         - binary_sensor.is_on: motion
         then:
         - output.turn_on: device_light
     - if:
         condition: 
         - binary_sensor.is_off: motion
         then:
         - output.turn_off: device_light

output:
  - platform: gpio
    id: "device_light"
    pin: GPIO2  #D4
    inverted: true
    
light:
  - platform: binary
    output: "device_light"
    name: "device_light"

複製貼上後注意yaml裡面的註解 修改你要的名稱還有相關的一些設定 比如ap連線密碼 確認沒問題後儲存即可

ESPHome D1 Mini LD2410B 教學截圖 10

選擇install 開始第一次正式燒錄 有二顆以上要燒錄的直接從這邊接著燒錄就好

ESPHome D1 Mini LD2410B 教學截圖 11

因是直接接電腦選擇 Plug into this computer

ESPHome D1 Mini LD2410B 教學截圖 12

選擇正確的usb連接port就開始正式的燒入 待燒錄完成後如果secrets有設定正確設備就會直接連上你家的wifi HA會自動發現你剛燒好的d1mini

ESPHome D1 Mini LD2410B 教學截圖 13

直接設定加入HA

以上為D1 Mini + 2410B 燒錄分享 很多人可能是第一次接觸esphome所以說的有點囉唆 請見諒

Vcom + HLK app設定方式

補充資料:

如果secrets 沒有設定正確導致D1 Mini沒有連上家中wifi 打開手機或者平板的wifi連接設定

bash
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
#    ssid: ${name}
    password: "87654321"

依照這邊 ssid 定義的名稱去尋找 如果照我的yaml沒有做修改 會出現d1mini-2410b-xxxxxx的ssid出現(xxxxxx為設備的wifi mac位址) 密碼為87654321

ESPHome D1 Mini LD2410B 教學截圖 16

連接後會跳轉到wifi連接頁面 選擇你家的wifi輸入密碼後儲存即可 如果沒有跳轉打開瀏覽器輸入http://192.168.4.1即可到wifi連接頁面

ESPHome D1 Mini LD2410B 教學截圖 17

關於更新及OTA的部分 如果yaml照我提供的範例沒有做任何修正 請依照以下步驟去更新 到esphome頁面選擇install 選擇Manual download

ESPHome D1 Mini LD2410B 教學截圖 18

選擇Modern format

ESPHome D1 Mini LD2410B 教學截圖 19

下載更新用的bin檔案

ESPHome D1 Mini LD2410B 教學截圖 20

下載完後登入要更新的D1 Mini IP可以到裝置資訊那邊查詢

ESPHome D1 Mini LD2410B 教學截圖 21

登入後在下方的OTA Update選擇剛剛下載的bin檔 按下更新等待更新完畢即可完成更新

因作者有更改Stream Server資料以下這段已經不需要加custom_component:

lambda: |- auto stream_server = new StreamServerComponent(id(uart_bus1)); return {stream_server}; 有加的請拿掉 不然更新的時候會出現問題

有的人不喜歡有人的時候藍燈會亮新增了一個 Motion Light Control開關

ESPHome D1 Mini LD2410B 教學截圖 22

yaml如下

bash
external_components:
  - source: github://oxan/esphome-stream-server

substitutions:
  name: "d1mini-2410b"
  tcp_port: "8888"
#tcp_port 定義遠端控制vcom連線時用的port

esphome:
  name: ${name}
  name_add_mac_suffix: true
#name_add_mac_suffix 添加mac位址在name後面
#不需要再name後面增加mac位址需把此行註解掉
#缺點 ota時需產出bin並登入web頁面更新
#優點 每個設備加入時都會是不同的id方便辨識

esp8266:
  board: d1_mini

# Enable logging
logger:
 
 baud_rate: 0

# Enable Home Assistant API
api:
 
web_server:
#  port: 80
#  include_internal: true
#  version: 2

ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
#    ssid: ${name}
    password: "87654321"
# ssid前面加上註解可為ap的ssid後面加上mac位址
# ap ssid加上mac在連esp時可以方便辨識是連哪顆裝置
# 如果不想要加上mac 可將 ssid: $(name) 前面的 # 拿掉

captive_portal:

button:
  - platform: restart
    name: "Restart"

text_sensor:
  - platform: wifi_info
    ip_address:
      name: IP Address
    ssid:
      name: Connected SSID
    mac_address:
      name: Mac Address

sensor:
# Uptime
  - platform: uptime
    name: Uptime
    filters:
      - lambda: return x / 3600;
    unit_of_measurement: "h"
    accuracy_decimals: 1

# WiFi Signal
  - platform: wifi_signal
    name: WiFi Signal
    update_interval: 60s

#  - platform: bh1750
#    name: "Illuminance"
#    address: 0x23
#    update_interval: 30s

#i2c:
#  sda: 4
#  scl: 5
#  scan: true
#  id: bus_a
# 此2段為定義BH1750光感的設定如果有加上光感可將前面的 # 拿掉即可使用光感

uart:
  id: uart_bus1
  tx_pin: GPIO15
  rx_pin: GPIO13
  baud_rate: 256000

stream_server:
   uart_id: uart_bus1
   port: ${tcp_port}

binary_sensor:
  - platform: gpio
    id: motion
    pin: GPIO16
    name: "Motion"
    device_class: motion
    on_state:
     - if:
         condition:
           and:
             - binary_sensor.is_on: motion
             - switch.is_on: motion_light_control
         then:
         - output.turn_on: device_light
     - if:
         condition: 
         - binary_sensor.is_off: motion
         then:
         - output.turn_off: device_light

switch:
  - platform: template
    name: "Motion Light Control"
    id: motion_light_control
    optimistic: true

output:
  - platform: gpio
    id: "device_light"
    pin: GPIO2  # D4
    inverted: true
    
light:
  - platform: binary
    output: "device_light"
    name: "device_light"

檢查wifi是否穩定

設定畫面可能因版本與設備不同而有差異。想交流使用經驗,歡迎加入惟家 LINE 社群;社群以使用者互助為主,非官方一對一技術支援。

HA ESPHome 安裝 D1 Mini + HLK LD2410B(毫米波存在感測) | 惟家 JustPlus