Files
2023-03-14 17:34:21 +08:00

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}`);
})