Giter Site home page Giter Site logo

epdtext's Introduction

epdtext

A simple display manager app for the WaveShare 2.7in e-Paper HAT

Picture

Screens

The app provides a number of screens that can be displayed on the e-paper HAT, and allows switching between them with the builtin buttons.

The included screens are:

  • dashboard - a dashboard widget showing the current weather, next calendar event, and next task

Screenshot

  • uptime - a system info viewer

Screenshot

  • affirmations - display positive affirmations (or whatever kind you want, really)

Screenshot

  • fortune - shows a random fortune from the fortune database (requires the fortune-mod package)
    • Install fortune-mod with this command: sudo apt install fortune-mod

Screenshot

  • calendar and tasks - shows a list of upcoming events or todos from your calendars (see local_settings.py.example)

Screenshot Screenshot

  • weather - shows the current weather

Making your own

The framework is extensible, so you can write your own screens as well, each screen is a Python module providing a Screen class that inherits from AbstractScreen.

For more information on how to create your own screens, check the wiki.

Message queue

There's also a message queue interface to control the screen from other apps. (example command line client available in cli.py)

Setup on Raspberry Pi OS

  • First, enable the SPI inferface on the Pi if you haven't already.
  • Then, install the Python requirements
sudo apt install python3-pip python3-pil python3-numpy python3-gpiozero
  • Then install the drivers for Python
git clone https://github.com/waveshare/e-Paper ~/e-Paper
cd ~/e-Paper/RaspberryPi_JetsonNano/python
python3 setup.py install
  • Check out the code if you haven't already:
git clone https://github.com/tsbarnes/epdtext.git ~/epdtext
  • Install the remaining Python dependencies
cd ~/epdtext
sudo pip3 install -r requirements.txt
  • Then (optionally) create local_settings.py and add your settings overrides there.

    • You can copy local_settings.py.example to local_settings.py and edit it to configure epdtext
    • NOTE: if you're using a different Waveshare screen, you can use the DRIVER setting to configure it
    • See the wiki for more configuration help
  • Also optional is installing the systemd unit.

cp ~/epdtext/epdtext.service /etc/systemd/system
sudo systemctl enable epdtext

Setup on Arch Linux ARM

  • First, enable the SPI inferface on the Pi if you haven't already.
  • Then, install the Python requirements
sudo pacman -S python-pip python-pillow python-numpy python-gpiozero
  • Then install the drivers for Python
git clone https://github.com/waveshare/e-Paper ~/e-Paper
cd ~/e-Paper/RaspberryPi_JetsonNano/python
python3 setup.py install
  • Check out the code if you haven't already:
git clone https://github.com/tsbarnes/epdtext.git ~/epdtext
  • Install the remaining Python dependencies
cd ~/epdtext
sudo pip install -r requirements.txt
  • Then (optionally) create local_settings.py and add your settings overrides there.

    • You can copy local_settings.py.example to local_settings.py and edit it to configure epdtext
    • NOTE: if you're using a different Waveshare screen, you can use the DRIVER setting to configure it
    • If you don't set the LOGO setting, it defaults to the Arch logo on Arch Linux ARM
    • See the wiki for more configuration help
  • Also optional is installing the systemd unit.

cp ~/epdtext/epdtext.service /etc/systemd/system

You'll need to edit the /etc/systemd/system/epdtext.service file and change /home/pi to /home/alarm (or the home directory of the user you checked it out as) and change the User line to root.

Also of note, on Arch Linux ARM, epdtext must be run as root.

Usage

To start up the app without systemd, run this command:

cd ~/epdtext
python3 app.py

To start the app with ´systemd´, run this:

sudo systemctl start epdtext

To reload using the CLI client:

cd ~/epdtext
./cli.py reload

To switch to the uptime screen with the CLI:

cd ~/epdtext
./cli.py screen uptime

epdtext-web

There's now a web frontend to epdtext! Check out epdtext-web

epdtext's People

Contributors

tsbarnes avatar rizal72 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.