메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

라즈베리파이 제로 e-ink 사용하기

데브카페
Devcafe (토론 | 기여)님의 2026년 5월 6일 (수) 23:17 판 (Devcafe (토론)의 2392 판 편집을 되돌림)

라즈베리파이 + Waveshare e-Paper로 삼성전자/현대차 실시간 주가 모니터링

개요

데이터는 네이버 금융 API(m.stock.naver.com)에서 실시간으로 가져오고, e-ink 수명 보호를 위해 가격이 바뀔 때만 화면을 갱신하도록 구성했습니다. Waveshare 2.13” 모델 기준이고, 다른 사이즈는 코드 상단에서 모듈만 바꾸면 됩니다.​​​​​​​​​​​​​​​​

주요 특징

  • 주요 특징
  • 데이터 소스: 네이버 모바일 금융 API(m.stock.naver.com/api/stock/{code}/basic) — 별도 API 키 불필요, 응답 안정적

e-ink 보호 로직: • 가격/등락이 바뀌었을 때만 화면 갱신 (해시 비교) • 장중 1분, 장외 30분 주기로 자동 전환 • SIGTERM/SIGINT 수신 시 화면 클리어 후 sleep 모드 진입 화면 구성 (2.7” 264x176 가로 모드): • 상단: 현재 시각 + [장중/장외] 표시 • 종목별 영역에 종목명, 현재가(큰 글씨), ▲▼ 등락폭/등락률, 시가/고가/저가 확인이 필요한 부분

라이브러리 설치

1. 의존 패키지 설치

# 시스템 패키지
sudo apt update
sudo apt install -y python3-pip python3-pil python3-numpy fonts-nanum
sudo apt install -y python3-spidev python3-rpi.gpio

# 파이썬 패키지
pip3 install requests Pillow

# SPI 활성화 (raspi-config → Interface Options → SPI → Enable)
sudo raspi-config


2. Waveshare e-Paper 라이브러리 설치 코드 상단 libdir 경로가 위와 일치하는지 확인. 다른 모델 사용 시 from waveshare_epd import epd2in7 as epd_module 부분만 변경: • 2.13”: epd2in13_V3 • 2.9”: epd2in9_V2 • 4.2”: epd4in2 • 7.5”: epd7in5_V2

cd ~
git clone https://github.com/waveshare/e-Paper.git

3. 실행 테스트

python3 stock_monitor.py

4. 부팅 시 자동 실행 (systemd) /etc/systemd/system/stock-monitor.service 파일 생성:

[Unit]
Description=Stock Price e-Paper Monitor
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=pi
WorkingDirectory=/home/pi/stock_monitor
ExecStart=/usr/bin/python3 /home/pi/stock_monitor/stock_monitor.py
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

활성화

sudo systemctl daemon-reload
sudo systemctl enable stock-monitor.service
sudo systemctl start stock-monitor.service
sudo systemctl status stock-monitor.service


로그확인

journalctl -u stock-monitor.service -f

Comments