-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.js
More file actions
69 lines (57 loc) 路 2.22 KB
/
Copy pathindex.js
File metadata and controls
69 lines (57 loc) 路 2.22 KB
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
const express = require('express');
const app = express();
const http = require('http').Server(app);
const io = require('socket.io')(http);
console.log("Initialing Raspberry Pi Librarys and GPIO");
const raspi = require('raspi');
const gpio = require('raspi-gpio');
var inputs = [
{ io: { pin: "GPIO4", PullResistor: gpio.PULL_UP}, output: "04" },
{ io: { pin: "GPIO5", PullResistor: gpio.PULL_UP}, output: "05" },
{ io: { pin: "GPIO6", PullResistor: gpio.PULL_UP}, output: "06" },
{ io: { pin: "GPIO12", PullResistor: gpio.PULL_UP}, output: "12" },
{ io: { pin: "GPIO13", PullResistor: gpio.PULL_UP}, output: "13" },
{ io: { pin: "GPIO16", PullResistor: gpio.PULL_UP}, output: "16" },
{ io: { pin: "GPIO17", PullResistor: gpio.PULL_UP}, output: "17" },
{ io: { pin: "GPIO19", PullResistor: gpio.PULL_UP}, output: "19" },
{ io: { pin: "GPIO20", PullResistor: gpio.PULL_UP}, output: "20" },
{ io: { pin: "GPIO21", PullResistor: gpio.PULL_UP}, output: "21" },
{ io: { pin: "GPIO22", PullResistor: gpio.PULL_UP}, output: "22" },
{ io: { pin: "GPIO25", PullResistor: gpio.PULL_UP}, output: "25" },
{ io: { pin: "GPIO26", PullResistor: gpio.PULL_UP}, output: "26" },
{ io: { pin: "GPIO27", PullResistor: gpio.PULL_UP}, output: "27" }
];
raspi.init(() => {
inputs.forEach( function(element) {
element.input = new gpio.DigitalInput(element.io);
console.log("Intialized" + element.io.pin + " with values : " + element.input.read());
});
});
app.use(express.static(__dirname + '/public'));
app.get('/', function(req, res){
res.sendFile('/index.html');
});
var is_running = true;
io.on('connection', function(socket){
console.log('connected user');
is_running = false;
socket.on('disconnect', function(socket){
console.log('disconnected user');
is_running = true;
});
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
setInterval(function(){
if(!is_running){
is_running = true;
inputs.forEach( function(element) {
if (element.input.read() == 0)
{
io.emit("detection", element.output);
}
});
is_running = false;
}
}, 100);