A program to display weather and other useless information you could get by looking at the window. This is based on Nerstak's project, I modified it to epd2in13b_V4 Black-White-Red display using black colors only for now and removed the DHT22 sensor requirement.
Please find Nerstak's original project here (from which this was forked): https://github.com/nerstak/epaper-weather
Software:
- Python3
- Waveshare epd2in13b_V4 e-paper lib included (Source: https://github.com/waveshare/e-Paper/blob/master/RaspberryPi_JetsonNano/python/lib/)
Hardware (you are not required to use the exact same one, but you'll need to adapt the program):
- Raspberry Pi 3A+, Raspberry Pi Zero 2 WH (Recommended), Raspberry Pi 4B
- Waveshare epd2in13b_V4 display: https://www.waveshare.com/wiki/2.13inch_e-Paper_HAT_(B)_Manual (you can find it on AliExpress)
- Display current weather (temperature, humidity, rain)
- Display 24hours forecast
- Display sunrise and sunset time
Go to OpenWeather, create an account and create a key for the Professional Collection Free Tier. This tier does not require a credit card.
Download the lib folder
from waveshare repository,
and put it at the root of the project
Copy the file config.example.yaml and name the new file config.yaml. Inside, you will need to configure the
following elements:
API_KEY: The OpenWeather key you created just before. This your personal key, it won't leave you deviceunit:metricorimperialcoordinates: Coordinates of the place you want to track the weather of. Use this website for help: LatLong.netrefresh_period_min: How often to refresh the data or the screen in minutes (databeing lower thanscreenwill have no effect)city: Name of the location of the place you are tracking the weather of. OpenWeather API does not always give a relevant city namemetrics: If you wish to monitor data. Setrecord_metricstofalseortrue. Setdatabase_urlanddatabase_nameto the one setup during InfluxDB installation.
Run pip install -Ur requirements.txt, sudo apt-get install libgpiod2
Copy the file systemd/epaper-weather.example.service and name the new file systemd/epaper-weather.service. Inside, you will need to configure the
following elements:
User: Put your own userPATH_TO_PROJECT: Path of your project location
sudo cp systemd/epaper-weather.service /etc/systemd/system
sudo systemctl daemon-reload
sudo systemctl enable epaper-weather
sudo systemctl start epaper-weather
Hardware: Raspberry Pi Zero 2 WH (Recommended)OS: Raspbian GNU/Linux 11 (bullseye) x86; Raspbian GNU/Linux 12 (bookworm) x86
- epaper-weather: This project was forked from
- inkyWeather: a similar project with Inky pHAT. I borrowed some graphical parts to speed up the development process
- E-paper Weather Display: a similar project with a bigger screen