-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathserver.js
More file actions
106 lines (80 loc) · 3.08 KB
/
server.js
File metadata and controls
106 lines (80 loc) · 3.08 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
const express=require('express');
const app=express();
const server=require('http').Server(app);
const socketIo=require('socket.io');
const path=require('path');
const io=socketIo(server);
const five=require('johnny-five');
const board=five.Board();
var temp;
app.use(express.static(path.join(__dirname,'public_static')));
var living_room_led, photoresistor,control_pin;
board.on('ready',()=>
{
living_room_led=new five.Led(13);
living_room_led.off();
control_pin=new five.Pin(12); //to select between button and photoresistor
photoresistor=new five.Sensor({
pin: "A0",
freq: 250
});
five.Pin.read(control_pin, function(error, value) { // reads the state of control pin
// console.log(value); // state of control pin
temp = value;
});
if (temp!=0) // Only works when control pin will be 1 or it is selected as photoresistor
{
photoresistor.on('data',function()
{
if (temp!=0)
{
if(this.scaleTo([0,100])<40)
{
console.log("photoresistor on")
living_room_led.on();
console.log(this.value); // To see the analog output value from photoresistror
io.emit('photoresistor-status',{
status:'on'
});
}else
{
console.log("photoresistor off")
console.log(this.value); // To see the analog output value from photoresistror
living_room_led.off();
io.emit('photoresistor-status',{
status:'off'
});
}
}
else
{
photoresistor.disable();
console.log("photoresistor disable")
}
})
}
photoresistor.disable();
io.on('connection',(socket)=>{
socket.on('living_room_light',(data)=>{
//living room light on button press from front-end
photoresistor.disable();
living_room_led.toggle();
console.log("led toggle")
photoresistor.disable();
});
socket.on('disable-photoresistor',(data)=>{
photoresistor.disable();
control_pin.low();
console.log("disable photoresistor")
photoresistor.disable();
});
socket.on('enable-photoresistor',(data)=>{
control_pin.high();
console.log("enable photoresistor")
photoresistor.enable();
});
});
});
server.listen(4000,()=>{
console.log(`Server on at http://localhost:4000/`);
});