wiegand
v0.0.3
Published
JavaScript interface for wiegand readers on GPIO
Readme
wiegand
Decoder for wiegand readers on GPIO. Currently works on linux only, but can be tested on other platforms.
requirements
- Linux with GPIO
- node-gyp
installation
$ npm install --save wiegandrunning
Make sure you export your GPIO pins according to the epoll docs:
#!/bin/sh
echo 17 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio17/direction
echo both > /sys/class/gpio/gpio17/edgeNote: If you are using the GPIO command to export, it does not automatically set the edge for you. You must do it separately:
$ gpio export 17 in
$ echo both > /sys/class/gpio/gpio17/edgeusage
const wiegand = require('wiegand');
const w = wiegand();
w.begin({ d0: 17, d1: 18});
w.on('data', (length, data) => {
console.log('Got', length, 'bits from wiegand with data:' data);
});
w.on('keypad', (num) => {
console.log('Got', num, 'from the reader\'s keypad');
});
w.on('reader', (id) => {
console.log('Got', id, 'from RFID reader');
});
api
class: Wiegand
inherits EventEmitter
method: begin([options], [callback])
default options:
{
// RaspberryPI default
d0: 17,
d1: 18,
}callback will fire on the ready event or if an error happens during the process. Errors will be emited on the error event.
method: stop([callback])
stop polling for changes to GPIO. Will callback when done and emit a stop event.
