0.1.0 • Published 9 years ago
tessel-pulse v0.1.0
tessel-pulse
Pulse your LEDs with tessel. This module works only on PWM pins
Example
var tessel = require('tessel');
var mqtt = require('mqtt');
var port = tessel.port['GPIO'];
var pulse = require('tessel-pulse');
var pin = port.pwm[0]; // G4
var stop = pulse(pin, {
type: 'pulse', // or 'blink'
steps: 200, // the number of increments of the intesity of the led's light
changeFrequency: 500 // ms after the step is incremented/decremented
});
setTimeout(stop, 10000); // blink for 10s
Example with MQTT
First, install MQTT.js with:
npm install mqtt --save
Then:
var tessel = require('tessel');
var mqtt = require('mqtt');
var port = tessel.port['GPIO'];
var pulse = require('tessel-pulse');
var pin = port.pwm[0]; // G4
var stop = null;
var client = mqtt.connect('mqtt://test.mosca.io');
port.pwmFrequency(10000) // set the PWM frequncy to 10kHz
client.publish('leds/matteo/hello', 'I\'m online!')
client.subscribe('leds/matteo/+')
client.on('message', function(topic, payload) {
var command = topic.replace('leds/matteo/', '');
console.log(payload)
if (!payload)
payload = {}
else
try {
payload = JSON.parse(payload)
} catch(err) {
console.log('wrong json', err)
}
if (stop) stop()
switch(command) {
case 'start':
stop = pulse(pin, payload)
console.log('pulser started');
break;
case 'stop':
console.log('pulser stopped');
stop = null
break;
}
})
console.log('hello from my led!')
License
ISC
0.1.0
9 years ago