Smart calendar with EInk display and Raspberry Pi
What does it do?
It’s a raspberry pi based smart calendar that can tell you the current date, weather, and your events on Google calendar. Updates once per hour. Also supports manual update with a press of button.
First you need to get a few components:
- Raspberry pi (2 or 3 or zero) and SD card (with OS installed)
- EInk display: Waveshare 7.5 inch black and white display
- A 7.5 inch photo frame
- A pushbutton
- An LED
- 330 Ohm resistor
Then clone this repo and install the dependencies
pip install -r requirements.txt
Also make sure you have at least Python 3.5 installed.
Third, you need to get the credentials for Open Weather Map and Google calendar
- OWM API key:
- Go to the Weather API page: link
- Subscribe to 5 day / 3 hour forecast
- Google credentials:
- Follow the instructions of this answer on stackoverflow.
- Instead of choosing the drive API, choose Calendar API v3 of scope
- We will need the client ID, client secrete, refresh token and access token
Then hook up the wires as following:
Once you have got all the credentials and hooked up the wires, you can run
main.py without any parameter to create the config file:
and follow the interactive guide to create the config file.
You can specify the config file for later runs as:
python3 main.py -c <config file path>