AI · Hardware·운영 중·2026-05: 진행중
ESP32 Weather
책상 날씨 디스플레이 펌웨어
매일 아침 Siri 를 부르는 루틴을 간소화하고, 날씨를 시각적으로 확실하게 확인하기 위해 ESP32 로 만든 ambient 대시보드입니다. 화장실에 설치해 두었고, 집에 있는 동안에는 항상 가동되고 있습니다.
기술 스택
만든 이유
매일 아침 샤워 후 Siri 를 부르는 루틴을 간소화하고, 날씨를 시각적으로 확실하게 확인하기 위해 ESP32 로 대시보드를 작성했습니다. 마침 손에 ESP32 가 있어, 한 번 직접 만들어 보기로 했습니다.
코멘트
임베디드를 실제로 구현하고, 체험하고, 사용하고 있습니다. 펌웨어 (C++) → b-hub (TypeScript) → MySQL → KMA 로 이어지는 풀스택 흐름을 완성했으며, 책상이 아닌 기계 단에서 메모리 · 화면 buffer · 폰트 렌더링을 다시 생각해 보는 계기가 되었습니다.
주요 특징
- 01ESP32-D0WD-V3 + ILI9341 2.8" TFT (320×240) + XPT2046 저항식 터치: "Cheap Yellow Display"
- 02State machine: BOOT → WIFI_SETUP → LOCATION_SEARCH → WEATHER ⇄ SETTINGS / DISPLAY_SETTINGS
- 03두벌식 한글 키보드 직접 구현 (위치 검색용): 라이브러리 없이 작성, 재사용 가능하게 분리
- 04u8g2 unifont 한글 + drawJamoGlyph()로 호환 자모 픽셀 작도
- 05자기 복원: 60초 heap 모니터, KST 00/12시 자발적 reboot, fetch all-or-nothing (stale 유지)
- 06b-hub /weather/* 프록시: KMA API 키 미노출, 격자좌표 변환 위임, weatherApiKey quota 관리
비고
- ·ILI9341 표준 드라이버의 색 반전 / 축 교환 버그: ILI9341_2_DRIVER + setRotation(1) + invertDisplay(1)로 회피 (3~4시간 삽질)
- ·WiFi 늦은 연결 시 백그라운드 자동 재연결 기능 추가 예정
