This is a project based on a Raspberry and an ePaper. I added a Server inbetween so you will need:
- Waveshare 640×384 7.5inch E-Ink HAT e-paper display (Aliexpress)
- Raspberry Pi Zero, SD card, power, HDMI adapter, mini USB adapter (Aliexpress) check that you have a raspi with wlan
- optionally an arduino to test your ePaper display first. The code is in my repo. If you want to test your own image be mindfull that 4 bits = 1 pixel but the arduino sketch uses HEX which is 16 pixel. So this makes 4 Pixel per hex value.
The raspberry soldering should look like the following. More information can be found here: https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT the Pinlayout can be found https://pinout.xyz/
installation on the Raspberry
Install the Raspbian OS on to an SD card and start it up. The Image can be found here: https://www.raspberrypi.org/downloads/. First of all the most important command:
sudo apt-get update
sudo apt-get upgrade
- install bcm2835 (link)
# download the latest version of the library, say bcm2835-1.xx.tar.gz, then:
tar zxvf bcm2835-1.xx.tar.gz
cd bcm2835-1.xx
./configure
make
sudo make check
sudo make install
- install wiringpi (link)
cd
tar xfz wiringPi-98bcb20.tar.gz
cd wiringPi-98bcb20
./build
- setup sci on raspi
sudo raspi-config
select 5 Interfacing Options
P4 SPI set to Enabled
- Download the project from my Github (https://github.com/TheCell/ePaperCanvas) and extract the Folder “raspberryProgram”
- install node.js
sudo apt-get install nodejs
2. install npm
sudo apt-get install npm
change the directory to the raspberryProgram directory with command “cd” now we have to install a python shell callable from Node and an ajax solution.
npm i python-shell
npm i xhr2
npm i pngjs
Python 3.X is already installed on the Raspberry. However you need to install the Image library for the script to work. Thats done like this (link):
pip install Pillow
then run node main.js
node main.js
installation on the website
- setup a database where you can save
base64 stringUpdate: I wrote my own data format and save it as json because base64 uses a filter in google chrome and no filter in firefox ending up on nodejs not recognizing chrome images! (yes there are better ways (see binary if interested) but I don’t care for this project :)) Here is my example:
- upload the folder webinterface and edit the dbauth.php everything should work now
If you want to learn more about ePaper Displays I can recommend the very nice video from Applied Science
Further (optional) Raspberry configurations
To configure the wlan of the raspberry pi I had to go the extra mile because I use a university wlan which is an enterprise grade solution. After a day of trial and error I got it working with this helpfull guide: https://kerneldriver.wordpress.com/2012/10/21/configuring-wpa2-using-wpa_supplicant-on-the-raspberry-pi/
Archives
- November 2023
- December 2022
- November 2022
- February 2022
- November 2021
- October 2021
- September 2021
- July 2021
- April 2021
- March 2021
- February 2021
- January 2021
- September 2020
- July 2020
- April 2020
- March 2020
- February 2020
- December 2019
- November 2019
- October 2019
- August 2019
- June 2019
- February 2019
- December 2018
- November 2018
- October 2018
- September 2018
- August 2018
- July 2018
- May 2018
- March 2018
- February 2018
- December 2017
- November 2017
- September 2017
- July 2017
- June 2017
- April 2017
- February 2017
- January 2017
- October 2016
- September 2016
- July 2016
- May 2016
- April 2016
- March 2016
- August 2015
- July 2015
- May 2015
- April 2015
- March 2015
- February 2015
- January 2015
- October 2014
- April 2014
- March 2014
- February 2014
Calendar
M | T | W | T | F | S | S |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |