[分享] NT$500,CO2傳感器DIY免焊接版(ESPhome)

本文也發布於瀚思彼岸 ,另個很棒的HA論壇。

廢話不多說,先看CO2傳感器在HA內的顯示畫面:



這次拆解的是我主臥的CO2傳感器:

  1. 可以看到白天沒人在家的時候,只要開窗通風,CO2濃度基本都在402PPM左右。
  2. 晚上的數值起伏,是因為我有設定自動化,濃度高於900PPM就開啟新風機、低於700PPM就關閉新風機。
  3. 早上有一小段沒有數值的斷鏈,是因為我在拆解拍照。

材料清單:

  1. 上邊是CO2傳感模塊 (參考購買網址),如果不想焊接請買有插針的版本,如果偏好SenseAir的S8也行,價格也就貴了20塊人民幣。
  2. 左邊是nodemcu (參考購買網址),如果追求最低成本,可以選擇esp-01就好,五六塊人民幣就有。
  3. 右邊是DC-DC電源模塊 (參考購買網址),如果願意焊接,個人是比較喜歡AC-DC的模塊啦,不過本文分享重點就是免焊﹐就不節外生枝了。
  4. 下邊是PIR人體傳感模塊 (參考購買網址) ,這個是因為我主臥的zigbee人體傳感剛好壞了,我順手加上的,同學們可以省略。
  5. 通常家裡應該都會有閒置的變壓器,如果真沒,那就買吧 (參考購買網址)
  6. 母-母杜邦線9條 (參考購買網址)

以上,是最貴最入門的買法(折合台幣六百多),如果願意焊接、願意比價,總材料成本可以輕鬆壓到五百塊台幣以內。

再來就是找個適合的盒子囉,我喜歡廢物利用,就拿那顆壞掉的zigbee人體外殼來用吧。




co2

最後是esphome的code,我剛學esphome的時候寫的,功能反正正常就沒特別再優化,高手筆下留情。

esphome:

  name: co2-master

  platform: ESP8266

  board: nodemcuv2

  

# Enable logging

logger:

  hardware_uart: uart1



# Enable Home Assistant API

api:

  services:

    - service: mhz19_calibrate_zero

      then:

        - mhz19.calibrate_zero: co2_master



ota:

  password: !secret wifi_pw



web_server:

  port: 80  



wifi:

  ssid: !secret wifi_ssid

  password: !secret wifi_pw

  ap:

    ssid: "co2-master Fallback Hotspot"

    password: !secret wifi_pw



captive_portal:



# Example configuration entry

uart:

  rx_pin: GPIO3

  tx_pin: GPIO1

  baud_rate: 9600



sensor:

  - platform: mhz19

    update_interval: 20s

    id: co2_master

    automatic_baseline_calibration: false    

    co2:

      name: "co2_master"

      filters:

        - sliding_window_moving_average:

            window_size: 3

            send_every: 3

    #temperature:

    #  name: "MH-Z19 Temperature"            



binary_sensor:

  - platform: gpio

    pin: GPIO4

    name: "co2_master_pir"

    device_class: motion

    id: pir602

    filters:

      #- invert:

      - delayed_on: 500ms

      - delayed_off: 10s      

      

switch:

  - platform: restart

    name: “co2_master_restart"

  - platform: template

    name: "co2_master_ABC"

    optimistic: true

    on_turn_on:

      mhz19.abc_enable: co2_master

    on_turn_off:

      mhz19.abc_disable: co2_master

PS: 為了不讓"正中"踢群,所有我DIY製作的裝置都可以丟到homekit去用,謝謝。

5個讚