Giter Site home page Giter Site logo

ereader's Introduction

eReader Time!

The Project

This is my project for creating a Python powered eReader using a Raspberry Pi Zero V2 connected to a 2.7 inch Waveshare eInk display. I use the ebooklib to process through epub files, Beautiful Soup to process the HTML that is taken out of the epub, and then the Waveshare drivers to output the book page to the display. I added an entry to crontab that calls bin/start.sh on boot, so the eReader software starts when the Pi is plugged into a power source. I'm planning on adding a battery at some point. Will look into pressing and holding the exit button to safely shutdown the Pi, at which point you power off the battery.

Reading

  • When the software starts, you begin in the book select menu.
  • The book displayed on boot is the last book you read.
  • Select this book by pressing the Sel. button.
  • To change books left or right in the list, press the Prev or Next buttons.
  • Press the Exit button to exit out of the program.
  • When you select a book, you will start reading at the last place you read.
  • Once in the book, press the Prev or Next buttons to flip the pages, and the Back button to return to the book select page.

ChangeLog

  • Also on 3/11, changed the main menu to use the book title and not the book epub file name.
  • On 3/11, added function to make the page width and height dynamic based on font and font size. This can make the pages a little wonky and will mess up the last page you read, but this sets up the future for getting this working on larger screens (that have partial refresh so the page turns could be potentially quicker).
  • On 3/6, merged HcNguyen111's suggested changes to optimize the book loading function and for better variable/function names.
  • On 3/4, implemented the main menu function to allow for book selection.

ereader's People

Contributors

bwkrayb avatar hcnguyen111 avatar

Stargazers

 avatar  avatar  avatar Daniel Hallgren avatar Valcilon Silva avatar Przemysław Wolski avatar  avatar  avatar  avatar Jesús Abelardo Saldívar Aguilar avatar Mike Plambeck avatar Kyle Harrity avatar Mason Walker avatar  avatar

Watchers

 avatar Scott Bakker avatar  avatar  avatar

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.