smart-pinhole-workshop
Version:
A nodeschool workshop to learn how smart (iot) things work.
50 lines (41 loc) • 905 B
JavaScript
var mqtt = require('mqtt');
var LightMeterWidget = require('lightmeter').Widget;
var id = process.env.ID;
var lightTopic = 'ciot/pinhole/' + id + '/light/value';
var lightMeter = new LightMeterWidget();
lightMeter.addLightingCondition({
name: 'Direct sun',
exposure: {
400: 1.3
},
colour: {
start: '#f7ec86',
stop : '#fdc753'
},
sensorRange: [0.6, 1]
});
lightMeter.addLightingCondition({
name: 'Indoors',
exposure: {
400: 180
},
colour: {
start: '#27bbf4',
stop : '#6340bc'
},
sensorRange: [0, 0.6]
});
var client = mqtt.connect({
protocol: 'ws',
host: 'test.mosquitto.org',
port: 8080 // WebSocket port
});
client.on('connect', function () {
client.subscribe(lightTopic);
});
client.on('message', function (topic, payload) {
var message = payload.toString();
if (topic === lightTopic) {
lightMeter.setLightLevel(message);
}
});