Little application to drive Led matrix displays on your raspberry pi
Go to file
Martijn de Boer 543cad5228 Add clear function to vm, this allows to workaround parts for #3 2018-01-10 19:03:07 +01:00
__tests__ Add silence option for Dummy driver. Add some more tests to increase coverage. 2018-01-05 21:36:06 +01:00
controllers Add clear function to vm, this allows to workaround parts for #3 2018-01-10 19:03:07 +01:00
drivers Add preliminary support for writing sandboxed javascript for animation purposes. Renders a single frame now. 2018-01-07 16:18:58 +01:00
www Remove unused snippets 2018-01-09 21:14:50 +01:00
.codeclimate.yml Configure codeclimate plugins 2018-01-05 19:59:44 +01:00
.eslintrc.json Add eslint-plugin-security and config 2018-01-07 09:41:17 +01:00
.gitignore Tests and Travis 2018-01-05 19:34:03 +01:00
.sidekickrc Add sidekick 2018-01-07 08:59:29 +01:00
.travis.yml Add eslint 2018-01-07 09:30:44 +01:00
CODE_OF_CONDUCT.md Add the code of conduct file 2018-01-04 23:04:13 +01:00
CONTRIBUTING.md CONTRIBUTING.md: add content 2018-01-03 19:11:06 -06:00
LICENSE.md First work in progress app 2017-12-12 20:41:32 +01:00
README.md Add lint instructions to README.md 2018-01-07 09:48:51 +01:00
config.example.json Working implementation of drivers, and drawing application. Things light up! 2017-12-18 20:39:51 +01:00
package-lock.json Add preliminary support for writing sandboxed javascript for animation purposes. Renders a single frame now. 2018-01-07 16:18:58 +01:00
package.json Add preliminary support for writing sandboxed javascript for animation purposes. Renders a single frame now. 2018-01-07 16:18:58 +01:00
pixdisp.js Add preliminary support for writing sandboxed javascript for animation purposes. Renders a single frame now. 2018-01-07 16:18:58 +01:00

README.md

MIT Licence Known Vulnerabilities Maintainability Test Coverage Build Status

A small application to drive LED matrix displays, such as the Pimoroni Unicorn, from nodejs. My intention is to create a digital graffiti/guestbook system and a general animation system. This is a project for fun, so if you have a feature just request it! Or add it and I'll review it. Social coding ftw.

Make sure you are on a recent nodejs version. Raspbian has an old version. Use Nodesource ;).

Also, use a decent modern browser. I wrote recent syntax, so probably works best in Chrome 62+. Firefox is known to have some issues, Edge works, Safari is a PITA. Just wait for your browser to play catch up then with recent standards. If you dislike Chrome, you can put this trough Babel. But you're on your own there.

Copy config.example.json to config.json and pick a driver + display size.

execute:

npm install
nodejs pixdisp.js

Navigate to http://localhost:8080/

Matrix driver & Unicorn Hat HD driver inspired by https://github.com/vesteraas/node-unicornhathd

Unit tests

This application has some unit tests, making use of Jest. Jest is configured as a dev dependency.

execute:

npm test

Some code linting practices and security tests can be executed by running the lint task:

npm run lint

Drawing

Device drawing

Simple clicking on the canvas in the responsive webinterface makes things light up.

Camera

Using your camera

The webinterface allows you to capture your camera and submit images from there.

Webinterface

Web interface

A simple web interface is included for drawing on the device. Defaults to port 8080.