ESPHome dashboard - 보드 연결
Albert Hongseok Gu
3 min read
1. 서론.
- ESPHome dashboard는 웹 기반의 인터페이스로, ESP8266 및 ESP32 칩을 사용하는 디바이스들을 손쉽게 설정하고 USB 연결, OTA 등으로 관리할 수 있는 도구입니다.
- 이 글에서는 별도 서비스로 실행되는 dashboard에, OTA로 보드를 연결하는 방법을 정리합니다.
2. 보드에 OTA 펌웨어 업로드.
- OTA로 연결하려면 보드에 OTA 펌웨어를 업로드 해야 합니다.
- ESP32-C3 Super mini를 가지고 있어서 해당 보드를 기준으로 작성했으며, 펌웨어 업로드 방법은 ESPHome - ESP32 사용해보기 를 참고하세요.
아래는 OTA를 설정한 YAML 내용이며, 파일명은 esp32-c3-ota.yaml 로 했습니다. IP는 manual_ip 항목에 고정으로 잡아주는게 편합니다. 자신의 환경에 맞게 설정한 다음 보드를 PC에 연결해 업로드합니다.
esphome: name: esp32-c3-ota friendly_name: "ESP32-C3 OTA" platformio_options: platform: espressif32 esp32: board: esp32-c3-devkitm-1 framework: type: arduino wifi: ssid: !secret wifi_ssid password: !secret wifi_password manual_ip: static_ip: 127.127.0.11 gateway: 127.127.0.254 subnet: 255.255.255.0 ota: - platform: esphome
- 업로드가 완료되면, 보드를 PC에서 분리한 다음 별도 전원을 연결합니다.
3. ESPHome dashboard에 보드 등록.
3-1. 공유기 연결 암호 등록.
- ESPHome에 접속해 상단 "SECRETS" 버튼을 클릭합니다.
- 공유기 암호를 입력하고 "SAVE" 버튼을 클릭해 저장한 후 "X" 버튼을 클릭해 화면을 닫습니다.
3-2. 추가할 보드 정보 생성.
- 홈 화면에서 "+ NEW DEVICE" 버튼을 클릭하면 설명이 팝업되는데, "CONTINUE" 버튼을 클릭합니다.
- 보드 이름을 입력한 후 "NEXT" 버튼을 클릭합니다. "ESP32-C3 LED"로 지정했습니다.
- ESP32-C3를 선택합니다.
- 보드 정보가 생성되었습니다. 우선 "SKIP" 버튼을 클릭합니다.
- "EDIT" 버튼을 클릭해 정보를 확인해 봅시다.
- ESP32-C3를 사용하기 위한 기본적인 정보가 생성되었습니다.
3-3. YAML 수정.
생성된 YAML.
esphome: name: esp32-c3-led friendly_name: ESP32-C3 LED esp32: board: esp32-c3-devkitm-1 framework: type: arduino # Enable logging logger: # Enable Home Assistant API api: encryption: key: "G6NBMDF0vuR+kkoxScD0QcYg5pJBPNou0sEuS1CVcY0=" ota: - platform: esphome password: "8f61f107e8c1b6d604dd0a9761df1e01" wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Esp32-C3-Led Fallback Hotspot" password: "TvEjCZs8QlRA" captive_portal:
보드에 업로드 시 지정한 IP를 manual_ip로 추가하고, LED 깜빡임 로직을 추가합니다.
wifi: manual_ip: static_ip: 127.127.0.11 gateway: 127.127.0.254 subnet: 255.255.255.0
switch: - platform: gpio id: led pin: number: 8 mode: output interval: - interval: 1s then: - switch.toggle: led
항목이 추가된 전체 YAML.
esphome: name: esp32-c3-led friendly_name: ESP32-C3 LED esp32: board: esp32-c3-devkitm-1 framework: type: arduino # Enable logging logger: # Enable Home Assistant API api: encryption: key: "G6NBMDF0vuR+kkoxScD0QcYg5pJBPNou0sEuS1CVcY0=" ota: - platform: esphome password: "8f61f107e8c1b6d604dd0a9761df1e01" wifi: ssid: !secret wifi_ssid password: !secret wifi_password manual_ip: static_ip: 127.127.0.11 gateway: 127.127.0.254 subnet: 255.255.255.0 # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Esp32-C3-Led Fallback Hotspot" password: "TvEjCZs8QlRA" captive_portal: switch: - platform: gpio id: led pin: number: 8 mode: output interval: - interval: 1s then: - switch.toggle: led
3-4. OTA를 통해 보드에 업로드.
- 추가한 "ESP32-C3 LED" 항목의 더보기 메뉴에서 "Install"을 클릭합니다.
- "Wirelessly"를 선택합니다.
- 컴파일이 진행됩니다.
- 컴파일이 완료되면 지정한 보드의 IP에 연결해 업로드 됩니다. "STOP" 버튼을 클릭하면 홈 화면으로 이동합니다.
- 업로드가 완료되면 연결 상태가 유지되고 ONLINE으로 표시되며 로그를 확인할 수 있습니다.
- 보드 등록이 완료되었습니다~
0
Subscribe to my newsletter
Read articles from Albert Hongseok Gu directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by