|
var logger = require('winston');
var sensor = require("ds18x20")
var devices;
var channel;
module.exports.start = function(channel_config){
channel = channel_config
logger.info("Starting External temperature module");
var isLoaded = sensor.isDriverLoaded();
if(isLoaded){
logger.info("ds18x20 sensor drivers are loaded.")
devices = sensor.list();
console.log(devices);
setInterval(function () {
var temperature = readSensor();
}, 5000);
} else {
logger.info("ds18x20 sensor drivers are not loaded.")
}
}
function readSensor() {
// Read Sensor data
if(devices == undefined){
devices = sensor.list();
}
sensor.get(devices[devices.length - 1], function(err, temp){
if(err){
console.log(err);
}
channel.emit('temperature_external', { temperature: temp });
});
}
|