• Stars
    star
    279
  • Rank 147,967 (Top 3 %)
  • Language
    Python
  • License
    MIT License
  • Created about 4 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Raspberry Pi weather display using Waveshare e-paper display and Open Weather Map API

E-paper Weather Display


Raspberry Pi weather display using Waveshare e-paper 7.5 inch display, Open Weather Map API, and Python.


If you like what you see, consider buying me a coffee.

Versions

Version 1.0

  • Initial Commit.

Version 1.1

  • Switched to more legible icons.

Version 1.2

  • Added support for connection errors.
  • Added support for HTTP errors.
  • Added "dispay_error" fuction to display respective errors if present.

Version 1.3

  • Added option to store retreived weather data in CSV file.

Version 1.4

  • Updated to use all 480 vertical pixels instead of just 450.

Version 1.5

  • Fixed error where "TAKEOUT TRASH TODAY!" was writing in incorrect font size.

Version 1.6

  • Increased size of fonts for "Humidity" and "Wind" for better legibility.

Version 1.7

  • Added clear screen function to reduce possibility of burn-in.
  • Changed refresh time from 300 to 600 seconds.

Setup

  1. The first thing you need is a free API key from https://home.openweathermap.org/users/sign_up.
  2. Open 'weather.py' and replace **Key Here** with your API key.
  3. **Location** can be left as it is unless you want to add it to your display.
  4. Get your **longitude** and **lattitude** using I used https://www.latlong.net and put that in as well.
  5. Set CSV_OPTION to False if you would not like weather data appended to 'records.csv' after every refresh.
  6. There is also a reminder for taking out the trash near the end of the script that you will want to change if your trash pickup doesn't come on Monday and Thursday like mine. :)

That's about it. Run the python file and you should see output on the display.

Note

If you are not using a 7.5 inch Version 2 display, you will want to replace 'epd7in5_V2.py' in the 'lib' folder with whichever one you have from https://github.com/waveshare/e-Paper/tree/master/RaspberryPi_JetsonNano/python/lib/waveshare_epd
Fairly extensive adjustments will have to be made for other sized screens.

Parts

  • https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT
  • Raspberry Pi 3, but this will run on any of them except the Pi Zero that doesn't have soldered headers.
  • SD card for the Pi at least 8 GB.
  • Power supply for the Pi.
  • 5 x 7 inch photo frame from a thrift store.

Credit

Icon designs are originally by [Erik Flowers] (https://erikflowers.github.io/weather-icons/). Some icons have been modified.

Licensing