-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
51 lines (40 loc) · 1.45 KB
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
(function(){
'use strict';
var express = require('express');
var app = express();
var httpSer= app.listen(3030);
var io = require('socket.io').listen(httpSer);
//Setup logging to file and couchdb
var winston = require('winston');
var winstonCouch = require('winston-couchdb').Couchdb;
winston.add(winston.transports.File, { filename: 'wifi-device.log' });
winston.add(winstonCouch, {
host: 'localhost',
port: 5984,
db: 'presence'
});
var DeviceMonitor = require('./lib/monitor.js');
var monitor = new DeviceMonitor('http://192.168.1.254/xslt?PAGE=C_2_0');
monitor.start();
monitor.on(DeviceMonitor.START, function onDeviceStart(devices){
winston.info('device monitoring starting', devices);
io.sockets.emit('start', devices);
});
monitor.on(DeviceMonitor.END, function onMonitroEnd(){
winston.info('device monitoring ending');
});
monitor.on(DeviceMonitor.ADD, function onDeviceAdd(device){
winston.info('add', device);
io.sockets.emit('add', device);
});
monitor.on(DeviceMonitor.REMOVE, function onDeviceRemove(device){
winston.info('remove', device);
io.sockets.emit('remove', device);
});
monitor.on(DeviceMonitor.ERROR, function onMonitorError(error){
winston.error(error);
});
app.get('/devices', function(req, res){
res.send(monitor.connectedDevices);
});
})();