I Built an E-Ink Weather Frame for My Kids Who Can't Read Yet
说明与用途
为孩子打造的电子墨水框架,展示天气和日程,使用卡通熊和简洁数据,减少重复对话并让幼儿保持参与。
问题
Parents need a simple, child‑friendly way to convey daily weather and schedule information to toddlers who cannot read.
结果
The frame delivers real‑time weather and schedule information in a child‑friendly format, reducing repetitive conversations and keeping children engaged. It runs on inexpensive hardware, uses free APIs, and requires no firmware updates for UI changes.
工作流
- 1. Assemble hardware: Waveshare ESP32 driver board, 7.5‑inch e‑paper panel, USB‑C power, foam mounting, and a white frame.
- 2. Configure ESP32 with ESPHome to download a 1‑bit PNG image from a home server and display it, using a custom external component to stream the image and avoid RAM overflow.
- 3. Run a Docker container on a home PC that every 15 minutes fetches weather from Open‑Meteo, calendar events via iCal, and renders an HTML page with SVG graphics.
- 4. Use Playwright to screenshot the page, convert to 1‑bit PNG, and serve it over HTTP with a hash for change detection.
- 5. ESP32 fetches the image, compares hash, and updates the e‑ink panel only if changed.
- 6. Update design by editing CSS/HTML; no firmware changes needed.
- 7. Optionally add child drawings by uploading PNGs to the server, which replace the chart for that day.
证据
The board is dumb on purpose. It downloads a picture and shows it, that's it.
Every 15 minutes it checks the time, the weather from Open‑Meteo (free, no API key) and our family Google Calendar through its private iCal address.
The board fetches that image a minute after each quarter hour. The server sends a hash of the image along with it, so if nothing changed the board skips the redraw.
The usual way to do this with ESPHome is its online_image component plus the waveshare_epaper display driver. On this board it downloads the image and immediately runs out of memory.
- 记录日期: 2026-10-02T13:40:52.339Z