Giter Club home page Giter Club logo

eink-calendar's Introduction

EInk Smart Calendar Build Status

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.

Components needed:

Enable SPI Mode:

To Enable, pass following command

sudo raspi-config

Select Interfacing Options

Select P4 SPI

Select Yes when asked Would you like the SPI interface to be enabled?

It will prompt The SPI interface is enabled, press ok

Select Finish to exit raspi-config

Install the dependencies:

pip install -r requirements.txt
sudo apt install libopenjp2-7 libtiff5

Also make sure you have at least Python 3.7 installed, which should be the case for the most recent Raspbian releases.

Get API credentials:

  • 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 https://www.googleapis.com/auth/calendar.readonly
    • We will need the client ID, client secrete, refresh token and access token

Hook up the wires:

Or download diagram.fzz. Note that the labeling on the breadboard corresponds to the wires on the hat comes with the screen. The wiring is the same as on page 12 of the official documentation

Run it:

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:

python3 main.py

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>

eink-calendar's People

Contributors

dependabot[bot] avatar kunalgautam avatar zli117 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eink-calendar's Issues

Installation Guide need Update

Following information might need to be added for people who are new.

Enable SPI Mode.
To Enable, pass following command

sudo raspi-config
Select Interfacing Options
Select P4 SPI
Select Yes when asked Would you like the SPI interface to be enabled?
It will prompt The SPI interface is enabled, press ok
Select Finish to exit raspi-config

Install required packages*
sudo apt install libopenjp2-7 libtiff5

*Assuming user knows how to install pip/pip3 git and clone the project

API key problem...

OK, I'm pretty sure I am doing something wrong. But I can't figure out what it is. After running main.py and configuring, I get an error saying..

Your API subscription level does not allow to perform this operation
Reason: Invalid API Key provided

I am copying the API key exactly as it is shown on my OpenWeather account on their site. (Key = ef8ce0683847ffb72ca3090656b478bf if it helps any) I have used the city_id = 4907959 for Rockford, IL. I created my subscription using the button on the 5 day / 3 hour forecast data option. I'm just at a loss as to how to figure out my problem.

I thought about deleting my account on OpenWeather and starting over there. But I can't find any to do that either.

Any help would be appreciated. Thanks!

Part selection

Will this set of products work.

I couldn't find a 7.5 inch photo frame, a pushbutton, or an LED

Are there any other use cases for 330ohm resistors? Because I can only find packs of 10, 25, 100, etc. The linked one is a pack of 10

Also how hard is it to assemble

ImportError: No module named 'google'

Hi. I tried to run the main.py, but the error in the title occurred.
Then I retried and still failed it after updating google-api-python-client.

I would appreciate it if you could give me some advice.

Best,

Adding time of event feature?

Hi Zongli
I am a noob in python and is actually know trying to learn in order to complete the EInkCalendar.
I have gone through the codes and was wondering if it's possible to add timing of the events?

Sorry to post this as issues as I can't find a way to get in touch with you directly.

Regards

Kao
Singapore

No daily weather

After following all the instructions in github page it turns out, that daily forecast doesn't work/needs different API.
All of the fileds works like a charm besides 4 smaller weather fileds. While running script message says:

python3 /home/pi/EInk-Calendar/main.py -c /home/pi/EInk-Calendar/settings
Your API subscription level does not allow to perform this operation
Reason: Invalid API Key provided
2021-03-20 08:44:42,323 INFO Periodic update of the screen

I don't know unfortunately anything about python, so I can't repair it by myself.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.