@@ -1,19 +1,31 @@ |
||
1 | 1 |
var logger = require('winston'); |
2 |
+var sensor = require("ds18x20") |
|
2 | 3 |
|
3 | 4 |
module.exports.start = function(channel){ |
4 | 5 |
logger.info("Starting External temperature module"); |
5 |
- setInterval(function () { |
|
6 |
- var temperature = readSensor(); |
|
7 |
- channel.emit('temperature_external', { temperature: temperature }); |
|
8 |
- }, 1000); |
|
6 |
+ var isLoaded = sensor.isDriverLoaded(); |
|
7 |
+ if(isLoaded){ |
|
8 |
+ console.log(isLoaded); |
|
9 |
+ var devices = sensor.list(); |
|
10 |
+ console.log(devices); |
|
11 |
+ setInterval(function () { |
|
12 |
+ var temperature = readSensor(devices, channel); |
|
13 |
+ }, 5000); |
|
14 |
+ } |
|
15 |
+ |
|
9 | 16 |
|
10 | 17 |
} |
11 | 18 |
|
12 |
-function readSensor() { |
|
19 |
+function readSensor(devices) { |
|
13 | 20 |
// Read Sensor data |
21 |
+ sensor.get(devices[devices.length - 1], function(err, temp){ |
|
22 |
+ if(err){ |
|
23 |
+ console.log(err); |
|
24 |
+ } |
|
25 |
+ channel.emit('temperature_external', { temperature: temp }); |
|
26 |
+ }); |
|
14 | 27 |
// give random data for testing |
15 |
- var high = 25; |
|
16 |
- var low = 23; |
|
17 |
- var temp = Math.random() * (high - low) + low |
|
18 |
- return temp |
|
28 |
+ // var high = 25; |
|
29 |
+ // var low = 23; |
|
30 |
+ // var temp = Math.random() * (high - low) + low |
|
19 | 31 |
} |
@@ -10,6 +10,7 @@ |
||
10 | 10 |
"license": "ISC", |
11 | 11 |
"dependencies": { |
12 | 12 |
"body-parser": "^1.17.2", |
13 |
+ "ds18x20": "^0.2.0", |
|
13 | 14 |
"ejs": "^2.5.7", |
14 | 15 |
"express": "^4.15.4", |
15 | 16 |
"express-ejs-layouts": "^2.3.1", |