I found a few libraries/modules that allowed gpio access and decided to try onoff since it the example code included using an event to trap button pushes.
I am not quite sure currently what my final project will be but starting off with a simple project I decided to try and control my Berry Clip 6 LED addon board.
The below code selects a random LED to turn on and turns off the previously lit one. Full Information and a run script can be found in the README.ME
var Gpio = require('onoff').Gpio, ledA = new Gpio(04, 'out'), ledB = new Gpio(17, 'out'), ledC = new Gpio(22, 'out'), ledD = new Gpio(10, 'out'), ledE = new Gpio(09, 'out'), ledF = new Gpio(11, 'out'), button = new Gpio(07, 'in', 'both'); var leds=new Array(ledA,ledB,ledC,ledD,ledE,ledF); var lastLed=ledA; button.watch(function(err, value) { var activeLed=Math.floor(Math.random() * 6); lastLed.writeSync(0); lastLed=leds[activeLed]; leds[activeLed].writeSync(value); });
Code:
https://github.com/qubecad/berry_clip_node
References:
https://github.com/fivdi/onoff
http://www.raspberrypi-spy.co.uk/