102 lines
2.3 KiB
JavaScript
102 lines
2.3 KiB
JavaScript
const express = require('express');
|
|
const app = express();
|
|
const mongoose = require('mongoose');
|
|
|
|
|
|
|
|
require('dotenv/config');
|
|
|
|
|
|
const formData = require('express-form-data');
|
|
const cors = require('cors')
|
|
const http = require('http');
|
|
const server = http.createServer(app);
|
|
const { Server } = require("socket.io");
|
|
// const io = new Server(server);
|
|
const io = require("socket.io")(server, {
|
|
cors: {
|
|
origin: ["http://localhost", "http://127.0.0.1","http://20.20.20.25"],
|
|
methods: ["GET", "POST"],
|
|
// allowedHeaders: ["my-custom-header"],
|
|
// credentials: true
|
|
}
|
|
});
|
|
let users = {};
|
|
|
|
|
|
|
|
|
|
app.use(express.json());
|
|
app.use(express.urlencoded({ extended: true }));
|
|
app.use(formData.parse());
|
|
app.options('*', cors())
|
|
app.use(cors())
|
|
|
|
// mongoose.connect(process.env.DB_CONNECTION, { useNewUrlParser: true, useUnifiedTopology: true, family: 4, })
|
|
// let db = mongoose.connection;
|
|
// db.on('error', console.error.bind(console, 'connection error:'));
|
|
// db.once('open', function () {
|
|
// console.log("Connected to db")
|
|
// })
|
|
|
|
// import routes
|
|
const from_esp32_routes = require('./routes/from_esp32_routes');
|
|
|
|
// routes
|
|
app.use('/api/from_esp32', from_esp32_routes)
|
|
|
|
app.get('/', (req, res) => {
|
|
|
|
console.log("ada pengambilan data")
|
|
res.send('ii dia pyan fdssfsd ');
|
|
})
|
|
|
|
// app.get('/ambil_data_1', (req, res) => {
|
|
// res.send('ini ambil data 1');
|
|
// })
|
|
|
|
const port = process.env.PORT || 3001;
|
|
|
|
io.on('connection', (socket) => {
|
|
let userId = socket.id;
|
|
|
|
if (!users[userId]) users[userId] = [];
|
|
users[userId].push(socket.id);
|
|
console.log('socket connected', userId);
|
|
|
|
|
|
socket.on('angin', (_) => {
|
|
console.log(" ini sebelum broadcast angin")
|
|
socket.broadcast.emit('angin', {
|
|
kecepatan_per_detik : _.kecepatan_per_detik,
|
|
kecepatan_per_jam : _.kecepatan_per_jam,
|
|
rps : _.rps,
|
|
rpm : _.rpm
|
|
});
|
|
})
|
|
|
|
socket.on('curah_hujan', (_) => {
|
|
console.log(" ini sebelum broadcast hujan")
|
|
socket.broadcast.emit('curah_hujan', {
|
|
jumlah_tip : _.jumlah_tip,
|
|
curah_hujan_per_menit : _.curah_hujan_per_menit,
|
|
curah_hujan_per_jam : _.curah_hujan_per_jam,
|
|
curah_hujan_per_hari : _.curah_hujan_per_hari
|
|
});
|
|
|
|
})
|
|
|
|
socket.on('disconnect', (_) => {
|
|
console.log('user disconnected');
|
|
console.log(_)
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
server.listen(port, () => {
|
|
console.log(`Server running on port ${port}`);
|
|
})
|
|
|