-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathserverbackup
96 lines (79 loc) · 2.5 KB
/
serverbackup
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
const http = require('http');
const express = require('express');
const path = require('path');
const app = express();
const mqtt = require('mqtt');
const port = 3001;
const Server = http.createServer(app)
const io = require('socket.io').listen(Server);
//MQTT Settings
var mqtt_host = 'mqtt://localhost';
var mqtt_port = 1883;
var mqtt_user = 've';
var mqtt_pwd = '8080';
//MQTT Client Options
var mqtt_Options = {
port : mqtt_port,
keepalive : 60,
username : mqtt_user,
password : mqtt_pwd
}
//Routes
const conveyorView = require('./routes/conveyor');
const testView = require('./routes/test');
const armRobotView = require('./routes/arm-robot');
const guiView = require('./routes/gui-robot');
const industrialSimulastion = require('./routes/industry');
//Engine EJS
app.set('view engine', 'ejs');
app.set('views', 'views');
app.use(express.static(path.join(__dirname, 'public')));
//Start MQTT
console.log('Starting MQTT...');
var mqtt_client = mqtt.connect(mqtt_host, mqtt_Options);
//Socket MQTT
io.on('connection', socket => {
var potTopic = "serial/ve/out/pot";
mqtt_client.subscribe(potTopic);
socket.on('lastInput', button => {
// console.log(button);
if(button === true){
mqtt_client.subscribe(potTopic);
} else {
mqtt_client.unsubscribe(potTopic);
socket.on('sliderBase', value => {
let baseValue = value + "?" + false;
let sliderTopic = "serial/ve/out/slider";
baseValue = baseValue.toString();
mqtt_client.publish(sliderTopic, baseValue);
console.log(baseValue);
});
}
});
// socket.on('sliderBase', value => {
// let baseValue = Math.round((value/Math.PI)*180) + "?" + false;
// let sliderTopic = "serial/ve/out/slider";
// baseValue = baseValue.toString();
// mqtt_client.publish(sliderTopic, baseValue);
// console.log(baseValue);
// });
mqtt_client.on('message', (topic, message, packet) => {
let m = message.toString();
let data = m.split("?");
socket.emit('data',data);
console.log(data);
});
});
//Controller View
app.use(guiView);
app.use(testView);
app.use(armRobotView);
app.use(conveyorView);
app.use(industrialSimulastion);
//root url harus bawah sendiri
app.use((req,res,next) => {
res.status(404).render('404', {pageTitle: '404 Error'});
});
Server.listen(port, () => {
console.log(`Server connected on ${port}`);
});