mirror of
https://github.com/martijndeb/pixdisp.git
synced 2025-04-28 23:48:28 +02:00
61 lines
3.3 KiB
Markdown
61 lines
3.3 KiB
Markdown
[](https://opensource.org/licenses/mit-license.php)
|
|
[](https://snyk.io/test/github/sexybiggetje/pixdisp?targetFile=package.json)
|
|
[](https://codeclimate.com/github/sexybiggetje/pixdisp/maintainability)
|
|
[](https://codeclimate.com/github/sexybiggetje/pixdisp/test_coverage)
|
|
[](https://travis-ci.org/sexybiggetje/pixdisp)
|
|
|
|
A small application to drive LED matrix displays, such as the [Pimoroni Unicorn](https://shop.pimoroni.com/?q=unicorn%20hat), 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](https://github.com/nodesource/distributions) ;).
|
|
|
|
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 through 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
|
|
|
|
optionally npm install pi-spi jpeg-js mjpeg-server
|
|
|
|
Navigate to http://localhost:8080/
|
|
|
|
Matrix driver & Unicorn Hat HD driver inspired by https://github.com/vesteraas/node-unicornhathd
|
|
|
|
JPEG encoding by https://github.com/eugeneware/jpeg-js
|
|
|
|
mjpeg-server by https://www.npmjs.com/package/mjpeg-server
|
|
|
|
### Unit tests
|
|
This application has some unit tests, making use of [Jest](http://facebook.github.io/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
|
|

|
|
|
|
Simple clicking on the canvas in the responsive webinterface makes things light up; when you press submit it will get sent to the device.
|
|
|
|
### Camera
|
|

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

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

|
|
|
|
[](http://www.youtube.com/watch?v=4mPzOF_h1kQ) (Click for youtube)
|
|
|
|
With an advanced editor you can write simple animations in the browser using a secure sandboxed javascript. Documentation will follow here once the API is final.
|