ESPHome - ESP32 사용해보기
Albert Hongseok Gu
2 min read
1. ESP32 보드.
- ESP32 보드 중 작은 ESP32-C3 Super Mini입니다.
2. ESP32-C3 Super Mini 연결.
- 처음 PC USB에 연결하면 연결되었다가 끊겼다가를 계속 반복하며 업로드가 되지 않습니다.
- 다운로드 모드로 진입해야 정상 연결되며 업로드가 됩니다. 진입 방법은 아래 두가지입니다.
- 보드의 Boot 버튼을 누른 채로 USB에 연결.
- USB에 연결 후 Boot 버튼을 누른 채로 Reset 버튼을 눌렀다 떼고난 후 Boot 버튼을 떼기.
3. ESPHome 설치.
- https://hsgpublic.hashnode.dev/14 를 참고하세요.
4. ESPHome yaml 파일 작성.
- 참고 문서.
LED를 1초마다 깜빡이는 예제를 esp32-c3-led.yaml 파일로 작성했습니다.
esphome: name: led-blinking friendly_name: "LED bliking" platformio_options: platform: espressif32 esp32: board: esp32-c3-devkitm-1 framework: type: arduino switch: - platform: gpio id: led pin: number: 8 mode: output interval: - interval: 1s then: - switch.toggle: led
- ESP32-C3를 위한 중요 지정 항목은 아래 두가지입니다.
esphome: platformio_options: platform: espressif32
esp32: board: esp32-c3-devkitm-1
5. 실행해보기.
- 참고문서.
- 컴파일 및 업로드를 위해서는 아래 명령어를 사용합니다.
$ esphome run esp32-c3-led.yaml
- 그러면 연결된 ESP32-C3 보드를 자동으로 찾아 업로드 합니다.
- 업로드가 완료된 후 보드의 reset 버튼을 누르면 LED가 깜빡이는 것을 확인할 수 있습니다.
6. OTA(Over-The-Air) 업데이트.
- 문서.
- ESP 보드는 Wi-Fi를 통한 OTA를 지원하며, ESPHome은 OTA도 간단하게 설정하고 사용 가능하게 해줍니다.
- 보안을 위해 계정 정보를 secrets.yaml 파일로 별도 작성합니다. esp32-c3-led.yaml 과 같은 디렉토리에 저장해야 합니다.
wifi_ssid: "공유기 SSID" wifi_password: "공유기 연결 비밀번호" ota_password: "OTA를 보호하기 위한 비밀번호"
기존 esp32-c3-led.yaml 파일에 wifi 및 ota 항목을 추가합니다.
esphome: name: led-blinking friendly_name: "LED bliking" platformio_options: platform: espressif32 esp32: board: esp32-c3-devkitm-1 framework: type: arduino switch: - platform: gpio id: led pin: number: 8 mode: output interval: - interval: 1s then: - switch.toggle: led wifi: ssid: !secret wifi_ssid password: !secret wifi_password ota: - platform: esphome password: !secret ota_password
- 보안 항목 값 앞에
!secret
을 붙이면 secret.yaml 에서 같은 항목을 찾아 적용 해준다는 점 참고하세요. - 컴파일 및 업로드 해줍니다.
$ esphome run esp32-c3-led.yaml
- 업로드가 완료되면, PC에서 ESP32 보드를 분리하고, 별도 전원을 연결하면 OTA로 업데이트 가능합니다.
- PC에 연결되어 있지 않아도 업로드가 잘 되는지 확인하기 위해 명령어를 다시 한번 실행해 봅시다.
$ esphome run esp32-c3-led.yaml
- OTA 가능한 보드가 하나라면 바로 업로드가 되고 reset이 됩니다. 여려개라면 리스트가 표시되며 하나를 선택하면 업로드 후 reset 됩니다.
- 월패드 안쪽 등 분리가 귀찮거나 까다로운 위치에 부착된 보드를 분리하지 않고도 OTA 업데이트가 가능하니 너무 편리한 기능입니다.
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