Как я могу поместить свои данные из базы данных в функцию и выполнить ее в socket.io - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь получить данные от нескольких датчиков и показать их на графике с помощью socket.io, и я не знаю, как я могу сделать это масштабируемым в Node.js Express.

Я сделал это с одним датчиком, но яхочу дублироваться при добавлении нового датчика


app.set('socket.io',io);

var io = require('socket.io')(server);
const SerialPort = require('serialport');
const Readline = SerialPort.parsers.Readline;
const port = new SerialPort('COM4'); //Connect serial port to port COM3. Because my Arduino Board is connected on port COM3. See yours on Arduino IDE -> Tools -> Port
const parser = port.pipe(new Readline({delimiter: ',\r\n'})); //Read the line only when new line comes.

parser.on('data', (temp) => { //Read data
    console.log(temp);
    var today = new Date();
    io.sockets.emit('temp', {date: today.getDate()+"-"+today.getMonth()+"-"+today.getFullYear(), time: (today.getHours())+":"+(today.getMinutes()+":"+ today.getMilliseconds()), temp: temp.split(",")}); //emit the datd i.e. {date, time, temp} to all the connected clients
    var sensor = new SensorPost({status: temp});
    sensor.save();
});

io.on('connection', (socket) => {
    console.log("Someone connected.");
});

Например, я ввожу имя датчика и порт в базу данных, а затем функция читает эти данные и создает новый socket.emit

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...