ws-paper
v1.0.2
Published
Waveshare e-Paper high-level display library and CLI
Downloads
7
Readme
Waveshare Paper
High-level javascript library and CLI for drawing on a Waveshare e-Paper using Raspberry PI GPIO.
Currently, only a single device support is implemented, EPD 7.5inch HD (B).
The source is inspired by original waveshare example code.
Library documentation is at https://ziacik.github.io/ws-paper/.
Prerequisites
Because the library uses SPI to write data to the device, SPI access need to be enabled on Raspberry.
To do that, run
sudo raspi-config
Then select Interface Options, and enable SPI.
Usage as a library
Install npm i ws-paper
.
Import a specific implementation of Device
, and a high-level class for drawing, Drawer
.
Initialize the device, draw whatever you need to, and don't forget to finalize the device at the end, even in case of error.
Example:
import { Drawer, Paper75HDB } from "ws-paper";
const device = new Paper75HDB();
const drawer = new Drawer(device);
const svg = `<svg width="${device.width}" height="${device.height}"><text font-size="50" x="50%" y="20%" text-anchor="middle">Hello, world!</text></svg>`;
device.initialize();
drawer.drawSvg(svg).finally(() => device.finalize());
Usage as a CLI
Install globally npm i -g ws-paper
.
Run ws-paper --help
to get list of available commands.
Example:
sudo ws-paper draw "<svg width='880' height='${device.height}'><text font-size='50' x='50%' y='20%' text-anchor='middle'>Hello, world!</text></svg>"
Please note, sudo
is needed because rpio
needs access to /dev/mem
which is not allowed for non-root users.