초저전력 라즈베리 파이 제로 E-잉크 대시보드: 실시간 대중교통, 날씨 등 표시
개요
소프트웨어 엔지니어로 일하면서 실시간 정보가 벽면에 바로 표시될 때 얼마나 가치 있는지 깨달았습니다. 라즈베리 파이 제로 W와 E-잉크 디스플레이를 이용해 대중교통 시간표, 날씨 예보, 캘린더 등 여러 API에서 데이터를 가져와 저전력 상시 표시형 비주얼 대시보드를 만들었습니다.
왜 E-잉크인가?
LCD 패널과 달리 E-잉크 디스플레이는 유휴 상태에서 마이크로암페어(µA) 수준의 전류만 소모하므로, 단일 3V 배터리로 수개월간 구동 가능합니다. 시간당 몇 번만 갱신되는 벽걸이형 시스템에 이상적입니다.
초기 빌드 (V 1.0)
첫 프로토타입에는 다음 모듈이 포함되었습니다:
- 대중교통 모듈: 인근 4개 정류장의 향후 2회 도착 예정 시간 표시
- 날씨 모듈: 현재 기상 상태와 2일 치 예보
- 월간 캘린더 뷰
라즈베리 파이 커뮤니티에 설계를 공유한 후 구글 시트 기반 할 일 목록 등 추가 기능 제안을 받았습니다. 이를 구현하려면 구글 클라우드 인증 정보와 google-api-python-client 라이브러리 연동이 필요했습니다.
기능 확장 (V 1.5)
탄탄한 기반 위에서 여러 새 모듈을 추가했습니다:
- 환율 변환기: 사용자 지정 5개 통화 + 비트코인, 이더리움 지원
- 주식 티커: 사용자 지정 5개 종목 실시간 시세
- 뉴스 헤드라인: 로컬 5건 + 선택 피드 5건, 15분마다 갱신
- 구글 미팅: 사용자 구글 캘린더의 예정된 일정 표시
버전 2.0 그리고 그 이후
버전 2.0은 기존 모든 모듈을 통합하고 디스플레이 갱신 주기 및 전력 관리 튜닝을 추가했습니다. 가벼운 플라스크(Flask) 웹 인터페이스로 API 키와 환경설정을 코드 수정 없이 변경할 수 있습니다. 애플리케이션은 건icorn(Gunicorn) 위에서 돌아가며, Nginx가 정적 자산 서비스와 리버스 프록시를 담당합니다.
기술 하이라이트
- Python 3.11, HTTP 호출용
requests, PNG 생성용 Pillow
- 웨이브쉐어(Waveshare) E-Paper HAT 드라이버로 저지연 갱신
- JSON 기반 설정 파일, 웹 UI에서 편집 가능
- 배포 구조: 라즈베리 파이 제로 W → Gunicorn → Nginx → 웹 UI
이 프로젝트는 소형 싱글보드 컴퓨터가 벽면을 배터리 수명과 시각적 선명도를 모두 존중하는 개인 정보 허브로 바꿀 수 있음을 보여줍니다.
출처: E-ink Dashboard