본문 바로가기
Hardware/MCU(Arduino,ESP8266)

GUI로 esptool.py를 편리하게 (NodeMCU PyFlasher, ESPHome-Flasher)

by lovey25 2021. 12. 22.
반응형

ESPHome을 사용하는 디바이스를 하나씩 늘려갈 때 귀찮은 작업 중 하나가 바로 컴파일 한 바이너리 파일을 디바이스로 업로드하는 과정입니다. 디바이스에 이미 OTA 서비스가 동작하고 있으면 문제가 안되지만, 새로 구매한 디바이스의 펌웨어를 새로 설치해야 할 때는 유선으로 업로드해줄 수밖에 없죠.

이런 귀찮은 상황에서 한 가지 반가운 것은  ESPHome dashboard가 최근에 업그레이드되면서 컴파일한 파일을 디바이스로 올릴 수 있는 옵션 하나가 추가가 되었습니다. 코드 편집 화면에서 "Install"버튼을 눌러보면 팝업창이 뜨면서 어떤 방법으로 설치를 할지 확인하는 절차가 생겼는데요. 그중에서 2번째 "Plug into this computer"라는 옵션이 있습니다. 

ESPHome dashboard를 로딩하고 있는 브라우저에서 PC의 시리얼 포트에 직접 접근을 해서 펌웨어를 설치하는 방식인 것 같은데 아쉽게도 아직은 동작하지 않습니다. 요건 제가 사용 방법을 몰라서 그런 건지 좀 더 알아봐야겠어요.

아무튼 새로운 디바이스에 ESPHome 펌웨어를 최초로 업로드하기 위해서는 위 메뉴 화면에서 "Manual download"를 통해서 컴파일된 바이너리 파일을 다운로드한 다음에 esptool.py로 설치하는 방법을 사용했었습니다. 아래 링크는 제가 처음으로 esptool.py을 사용하는 내용을 다룬 포스팅입니다.

 

DIY IoT 부품 - Sonoff pow r2 개봉기 및 펌웨어 백업(feat. esptool.py 사용법)

DIY IoT 환경을 꾸미는데 가장 기본적인 부품은 바로 스마트 스위치인데요. ESP8266 모듈에 릴레이를 붙여서 간단한 스마트 스위치를 만들어 사용해보기도 했습니다만, Sonoff라는 기성품이 있어서

kwonkyo.tistory.com

esptool.py 사용이 어렵거나 복잡한 건 아닌데 커맨드 라인 기반이기 때문에 명령어를 찾아서 일일이 입력을 해 줘야 하는데 명령어를 기억하고 오타가 나지 않도록 신경을 써야 하기 때문에 사용이 불편합니다.

그래서 오늘은 불편함을 덜어줄 수 있는 GUI esptool 2가지 사용법 알아봤습니다. 그전에 먼저 컴파일된 펌웨어의 바이너리 파일과 이 펌웨어를 올려줄 디바이스 먼저 준비합니다. 

Nodemcu pyflasher

첫 번째 프로그램은 "Nodemcu pyflasher"입니다. esptool.py를 GUI로 그대로 가져온 프로그램입니다. 따로 설치도 필요 없이 배포하고 있는 실행파일을 받아서 실행만 해주면 바로 사용할 수 있습니다.

 

Releases · marcelstoer/nodemcu-pyflasher

Self-contained NodeMCU flasher with GUI based on esptool.py and wxPython. - marcelstoer/nodemcu-pyflasher

github.com

링크에서 사용 환경에 맞는 버전을 골라서 다운로드하고 실행해 줍니다. "Serial port"에서 펌웨어를 업로드하고자 하는 장치가 연결된 포트번호를 선택합니다. "NodeMCU firmware"에는 업로드할 바이너리 파일을 선택합니다. 그리고 "Baud rate, Flash mode, Erase falsh"옵션을 기기에 맞게 혹은 입맛에 맞게 선택한 다음 "Flash NodeMCU" 버튼을 눌러주면 됩니다.

Flash mode 같은 경우 좀 헷갈릴 수 있는데 친절히 어떤 옵션을 선택해야 하는지 부가설명이 있으니 참고하면 될 것 같네요.

ESPHome-flasher

이번에는 ESPHome 사용에 특화된 ESPHome-flasher입니다. 앞에서 본 Nodemcu pyflahser와 거의 유사한데 바이너리 파일에서 펌웨어 업로드 시 필요한 값을 읽어와서 자동으로 설정을 잡아주는 기능이 있어서 사용자가 간섭할 부분을 더 줄인 심플함이 특징입니다.

 

Releases · esphome/esphome-flasher

Simple GUI tool to flash ESPs over USB. Contribute to esphome/esphome-flasher development by creating an account on GitHub.

github.com

마찬가지로 위 링크에서 운영체제에 맞는 실행파일을 다운로드하여 실행하고, 업로드할 대상의 디바이스가 연결된 포트번호와 업로드할 펌웨어를 선택해서 "Flash ESP" 버튼만 눌러주면 끝입니다.

엄청 간단하죠?! 이제 기억도 잘 되지 않는 명령어 뒤지는 귀찮음 없이 본능적으로 작업을 이어갈 수 있겠습니다.

 

끝!

반응형

댓글