Skip to content

Latest commit

 

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raspberry Pi Weather Display

A small tool that gets weather forecasts from the internet and displays it on an e-ink display.

The e-ink display is a Waveshare 6inch HD model with a resolution of 1448*1072: https://www.waveshare.com/wiki/6inch_HD_e-Paper_HAT

Notable dependencies are:

  1. The IT8951 driver to interface with the e-ink display: github.com/GregDMeyer/IT8951
  2. A wrapper around the OpenWeatherMap web API: github.com/csparpa/pyowm
  3. Weather icons: github.com/erikflowers/weather-icons

There is also a Fusion 360 model of an enclosure that can be 3D printed: enclosure.f3d

Currently 3 weather providers are supported:

Photos

Example display image:

complete

Photo of completed unit:

complete

complete

complete

Install

Install package requirements using apt if running on a Raspberry Pi:

apt update
apt install python3-pandas python3-pil python3-matplotlib python3-scipy python3-pip python3-setuptools git vim

Then install this tool using pip:

pip3 install --break-system-packages https://github.com/GregDMeyer/IT8951/archive/master.zip
pip3 install --break-system-packages https://github.com/FutureSharks/rpi-weather-display/archive/master.zip

And run it and it will update the e-ink display:

# Using Open-Meteo (no API key required)
rpi-weather-display --provider openmeteo

# Using OpenWeatherMap
rpi-weather-display --provider openweather --api-key <YOUR_API_KEY>

# Using Tomorrow.io
rpi-weather-display --provider tomorrow --api-key <YOUR_API_KEY>

Or to optionally run it as a service via systemd (command will need to be updated with any required arguments):

echo -e "[Unit]\nDescription=RPi Weather Display Service\nAfter=network.target\n\n[Service]\nExecStart=/usr/local/bin/rpi-weather-display\nRestart=always\nRestartSec=5\nUser=root\n\n[Install]\nWantedBy=multi-user.target" > /etc/systemd/system/rpi-weather-display.service
systemctl daemon-reload && systemctl start rpi-weather-display && systemctl enable rpi-weather-display

About

A weather display using e-ink screen and a Raspberry Pi 🌤 ⛈ 🌩

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages