Make an E-Ink screen show daily info
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Macoy Madson a4c8e662c3
Update .gitignore
10 months ago
dropbox-sdk-python @ 08cf819f36 Added Dropbox, settings loading 1 year ago
e-Paper @ e945bfbbf3 Updated Readme with instructions, added e-Paper 1 year ago
.gitignore Update .gitignore 10 months ago
.gitmodules Added Dropbox, settings loading 1 year ago
EInk.jpg Added EInk in world picture 1 year ago
HomeLifeDisplay.py Re-enable display 10 months ago
LICENSE Initial commit 1 year ago
ReadMe.org Remove output.png from Readme 10 months ago
settings.json Added dropbox syncing and early org parsing 1 year ago

ReadMe.org

Home Life Display

/code/macoy/home-life-display/src/branch/master/EInk.jpg

Make a Raspberry Pi E-paper display show info in the morning/evening which I care about:

  • Org agenda

  • Weather conditions for biking to work on the current day

  • Kanji study schedule

The E-paper panel is a Waveshare E-Ink three-color 7.5 inch panel with HAT.

Setup

More for my own reference than anyone else, which is why there are some obvious general setup steps specific to Pi, not this project.

Operating System

This section documents a general, minimal, and useful Pi setup.

  • Install Raspbian Lite via NOOBs onto Raspberry Pi 3 B+.

  • Run passwd to change default password

  • sudo apt update && sudo apt upgrade

    Raspi-config

sudo raspi-config

  • Enable SSH in Interfacing Options

  • Set localisation options (for me, it means checking en-US and setting timezone to Los Angeles)

  • Set Wifi hostname and password, if necessary

Clone Repository

sudo apt install git
git clone --recurse-submodules https://github.com/makuto/home-life-display

If run with --recurse-submodules as shown, it will automatically get the Waveshare e-Paper code repository.

If you forgot:

cd home-life-display
git submodule init
git submodule update

Third Party Setup

Dropbox

Update: I now use Syncthing to sync.

I use Dropbox to sync my .org files across multiple computers.

Dropbox Python SDK is included as a submodule.

You will need to install it:

cd dropbox-sdk-python
sudo python3 setup.py install

Next,

Org Parsing

I use Org-mode for my Agenda:

sudo pip3 install orgparse
Fonts

Download the Ubuntu Font Family (see design page for more info on the font) and extract it:

curl https://assets.ubuntu.com/v1/fad7939b-ubuntu-font-family-0.83.zip > ubuntu-font.zip
unzip ubuntu-font.zip

For Japanese:

sudo apt-get install fonts-takao

E-paper Setup

Python dependencies
sudo apt install python3-pip libjpeg-dev
sudo pip3 install spidev RPi.GPIO pillow
Install Python API

There was no setup.py nor init.py for the e-Paper API, so just symlink them to the same directory instead:

cd home-life-display
ln -s e-Paper/7.5inch_e-paper_code/RaspberryPi/python3/epd7in5.py epd7in5.py
ln -s e-Paper/7.5inch_e-paper_code/RaspberryPi/python3/epdconfig.py epdconfig.py
Enable SPI interface
nano /boot/config.txt

Uncomment the line with dtparam=spi=on.

Third Party Documentation

Left here for reference.

Download E-paper Demo code (direct link) (Github).

For decompressing the Waveshare example code:

sudo apt install p7zip
Install Fonts

For the unmodified demo code, you need to install the Chinese + English font they chose:

sudo apt install ttf-wqy-microhei