找回密碼
 立即註冊
    查看: 4|回覆: 0

    【冷氣遙控 2/7】第一份韌體:確認硬體真的會動

    [複製鏈接]

    !lvup!   100%

    383

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22005836
    發表於 1 小時前 | 顯示全部樓層 |閱讀模式
    上一篇你把 ESP32、紅外線發射 LED、接收頭接好了。這一篇要燒第一份韌體進去,然後用兩個實驗證明「發射真的在發、接收真的在收」。

    這篇還不會控制冷氣。 冷氣的協定是下一篇的事。這一篇只回答一個問題:硬體到底有沒有活著。

    會分這麼細是有原因的。紅外線壞掉的時候是完全安靜的 —— 沒有錯誤訊息、沒有紅字、冷氣就只是沒反應。如果你在「硬體沒驗過」的狀態下直接去試冷氣協定,你會有兩個未知數同時在動,而且永遠分不出是哪一個。

    做完這篇你會有什麼


    • 一台在你家 Wi-Fi 上、可以無線更新的 ESP32
    • 親眼確認過發射 LED 在閃(用手機前鏡頭看)
    • 日誌裡看得到你家冷氣遙控器按下去的原始訊號
    • 這台裝置已經出現在 Home Assistant 的裝置清單裡


    第一步:裝 ESPHome Device Builder

    在 Home Assistant 裡:設定 → 附加元件 → 附加元件商店,搜尋 ESPHome Device Builder,按安裝。

    裝好之後把 在側邊欄顯示 打開,再按啟動。

    你會看到:左邊側邊欄多出一個 ESPHome 的項目,點進去是一片空的裝置清單,右下角有一顆 + Create device。

    看不到側邊欄的項目,代表「在側邊欄顯示」那個開關沒打開,回去附加元件頁面再確認一次。

    第二步:用精靈建立裝置

    按 + Create device,照著走:


    • 名稱填 ac-ir(小寫、用減號,不要用中文也不要用底線)
    • 裝置類型選 ESP32
    • 填 Wi-Fi 名稱與密碼


    你會看到:畫面跳出一段 Encryption key(一長串英數字),下面寫著「稍後 Home Assistant 會跟你要這串」。

    先把它複製起來貼到記事本。 等一下第八步要用。弄丟的話要重看設定檔裡的 secrets 才找得回來,很麻煩。

    精靈跑完會在裝置清單出現一張卡片,上面是 ac-ir。

    第三步:貼上完整的設定檔

    在 ac-ir 那張卡片上按 Edit,把裡面原本的內容整份刪掉,換成下面這份。
    1. esphome:
    2.   name: ac-ir
    3.   friendly_name: 冷氣紅外線
    4. esp32:
    5.   board: esp32dev
    6.   framework:
    7.     type: esp-idf
    8. logger:
    9.   level: DEBUG
    10. api:
    11.   encryption:
    12.     key: !secret api_encryption_key
    13. ota:
    14.   - platform: esphome
    15.     password: !secret ota_password
    16. wifi:
    17.   ssid: !secret wifi_ssid
    18.   password: !secret wifi_password
    19.   ap:
    20.     ssid: "AC-IR Fallback"
    21.     password: "12345678"
    22. captive_portal:
    23. status_led:
    24.   pin: GPIO2
    25. remote_transmitter:
    26.   id: ir_tx
    27.   pin: GPIO14
    28.   carrier_duty_percent: 50%
    29. remote_receiver:
    30.   id: ir_rx
    31.   pin:
    32.     number: GPIO16
    33.     inverted: true
    34.     mode:
    35.       input: true
    36.       pullup: true
    37.   tolerance: 55%
    38.   buffer_size: 10kB
    39.   filter: 250us
    40.   idle: 25ms
    41.   dump: all
    42. button:
    43.   - platform: template
    44.     name: "紅外線發射測試"
    45.     on_press:
    46.       - remote_transmitter.transmit_raw:
    47.           code: [9000, -4500, 9000, -4500, 9000, -4500, 9000, -4500, 9000, -4500]
    48.           carrier_frequency: 38000
    49.           repeat:
    50.             times: 20
    51.             wait_time: 30ms
    52.   - platform: restart
    53.     name: "重新啟動"
    複製代碼

    這份設定檔裡,每一段在幹嘛


    • esp32 的 framework: esp-idf —— ESPHome 2026.1.0 開始,ESP32 的預設框架從 arduino 換成 esp-idf。這裡寫死是為了不管你裝哪個版本結果都一樣
    • !secret —— 精靈已經幫你把 Wi-Fi 密碼、API 金鑰、OTA 密碼寫進 secrets.yaml 了,這裡是去取用,不要改成明文
    • status_led: GPIO2 —— DevKit V1 板子上那顆藍色的 LED。連不上 Wi-Fi 時它會閃,這是最快的故障指示
    • inverted: true —— VS1838B 這類接收頭平常輸出高電位,收到訊號才拉低。不寫這行的話波形全部反過來,解不出東西
    • tolerance: 55% —— 便宜的接收頭時序不準。預設 25% 會讓很多冷氣的碼解不開,一開始就放寬
    • idle: 25ms —— 「安靜多久算一段訊號結束」。預設 10ms 對冷氣太短,有些機種一次按鍵會分兩段送,10ms 會把它切成兩筆殘缺的碼
    • dump: all —— 把所有解碼器都打開。這是下一篇的主角,先裝上


    第四步:第一次燒錄(一定要用 USB 線)

    第一次沒辦法無線燒 —— 板子上還沒有 ESPHome,沒有東西可以接收更新。

    以下還有約 61% 的內容
    登入後即可閱讀完整教學

    登入繼續閱讀使用 Google 登入
    您需要登入後纔可以回帖 登入 | 立即註冊

    本版積分規則

    延伸閱讀

    加入惟家 LINE 群 QR Code加入惟家 LINE 群

    Archiver|手機版|惟家的智能論壇

    GMT+8, 2026-9-25 04:15 , Processed in 0.119372 second(s), 24 queries .

    快速回覆 返回頂部 返回列表