Skip to content

Raspberry Pi weather display using Waveshare 7.3inch 4 colour e-paper display

License

Notifications You must be signed in to change notification settings

Brontojoris/e_paper_weather_display

 
 

Repository files navigation

E-paper Weather Display

Original source from github.com/AbnormalDistributions/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 James a coffee.

To Do

Update this codebase to incorporate version 2.0 improvements from AbnormalDistributions including:

  • Upgraded to OpenWeatherMap One Call API 3.0: This update now uses the latest version of the OpenWeatherMap API (3.0), which may require users to update their subscriptions if they were previously using version 2.5. See the OpenWeatherMap One Call Migration Guide for details on the API changes and subscription requirements.>
  • Automatic Log Management: Logs now rotate when they get too large, making maintenance easier.
  • User-Friendly Settings: All essential settings are grouped together for quick customization.
  • More Reliable Error Handling: Logs network and API errors for easier troubleshooting.
  • Improved Directory Handling: The script finds the right directories automatically, without manual path adjustments.
  • Trash Day Reminders: Customize specific days to get reminders on the display.

And...

  • Use my preferred template
  • Write the output bmp to disk for easier debugging
  • Change output to use whole temp numbers (floor(25.31))
  • Update output to display Internet speed
  • Update readme to use markdown

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.

Version 1.8

Forked from AbnormalDistributions/e_paper_weather_display

Version 2.1

Incorporated changes from version 2.0 improvements from AbnormalDistributions.

Version 2.2

  • Update to use my preferred layout
  • Update to use my yellow colour for icons with sun
  • Add daily weather summary
  • Print last modified date

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

Credit

Original source by James Steele Howard Icon designs are originally by Erik Flowers. Some icons have been modified.

Licensing

About

Raspberry Pi weather display using Waveshare 7.3inch 4 colour e-paper display

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%