Skip to content

M5Paper (esp32+eink) weather forecast display

License

Notifications You must be signed in to change notification settings

colonelxc/homestatus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

homestatus

Serves weather data (and maybe other information in the future) to a M5Paper device.

M5paper

The code under m5paper requests data from the server, deserializes it, and renders to the screen. It shuts down (wakeup done by the real time clock) after it is finished rendering.

image showing a m5paper rendering weather data

Running the deserialization tests requires this single-file test library https://github.com/colonelxc/cxxtest

Homestatus service

Service written in Go. It periodically loads weather data in the background, and serves the latest data upon request. It only listens on localhost, as I serve it behind Caddy.

weather

Pulls weather forecast data from api.weather.gov

Custom TSV-based protocol

The protocol is schemaless, but hopefully a bit easier to parse than json.

There can be one or more sections

  1. A name for the section. This is essentially a hint to the parser for what is coming next.
  2. A (tab separated) list of column names.
  3. One or more data rows (with the same number of columns as above), with each data value separated by tabs.
  4. An empty line (a newline following the last data row newlines)

About

M5Paper (esp32+eink) weather forecast display

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published