Giter VIP home page Giter VIP logo

kindle-gphotos's Introduction

Kindle Google Photos Picture Frame

The idea is to turn a Kindle Paperwhite into an eInk digital picture frame displaying photos from a shared Google Photos folder.

Every 24h a new photo will be displayed. In the top left the battery percentage is displayed.

screenshot

What's What

  • get_gphoto.py: Downloads a random image from a shared album called kindle
  • kindle-gphotos.sh: Main loop on kindle, handles kindle stuff, wifi, calls get_gphoto.py, suspend to RAM etc.
  • wifi.sh: Wifi helper script
  • sync2kindle.sh: Simple rsync helper for development

Kindle preparation:

  • Get a Kindle Paperwhite 2 or 3 (other models may also work with modifications to this code)
  • jailbreak the kindle (doh!) --> Mobileread Forum Thread
  • Install KUAL and MRPI (MRPI includes fbink)
  • Add USBnetworking and python (via MRPI)

Setup

  • Google Photos: Create a shared album called kindle in Google Photos and add a couple of photos. I typically use black and white filtered copies of photos. The "Vista" Filter in Google Photos works fine for me for enhancing contrast. Also, I use the "Light" fader to slightly overexpose the photos. This makes them more suitable for using a 4-bit eInk display. Just using the original color images looked too dull on the eink display.

  • Google API Client ID: You will need an OAuth2 Client ID from Google in order to use the Photos API. Obtain OAuth 2.0 client credentials from the Developers Console. Make sure to enable the Photos Library API and then select .../auth/photoslibrary.readonly from the scope list. Using a non-verified application (i.e. not letting the consent screen being verified from Google) is totally possible, you will just get a warning of an unverified app the first time you call the get_photo.py script, see below.

  • Rename your OAuth credential file to client_secret.json and put it next to get_gphoto.py. Call get_gphoto.py to debug. On the very first call you will be asked to visit the Google Consent Screen and paste a confirmation code back to the terminal. This should result in a downloaded photo.jpg.

  • Edit wifi.sh, add SSID and PW for your wifi.

  • Edit FBROTATEand BACKLIGHT in kindle-gphotos.sh according to your hardware.

Credits

I am using code, especially for authorization and the REST api, from https://github.com/gilesknap/gphotos-sync

kindle-gphotos's People

Contributors

fulldecent avatar mattzzw 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

Watchers

 avatar  avatar  avatar

kindle-gphotos's Issues

Enable Photos Library API

Perhaps "Make sure, you manually add the scope ../auth/photoslibrary.readonly to your OAuth consent screen" should be updated to read, enable the Photos Library API and then select .../auth/photoslibrary.readonly from the scope list.

Specify (guess?) all relevant hardware

Thank you for sharing. The project may benefit to show all possible hardware that would be compatible. Oasis? Which models? etc.


FYI, I'm thinking to extend (subtract) from this project to just load a PNG file from a web server hourly. Then I could use it as a status board for my office door. People pay a lot of money to buy specialized hardware and software to do this. Could you say how many updates your are getting on a single battery charge when you use this?

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.