Я прочитал последовательный интерфейс и хотел бы передать эти данные в веб-сокет. Теперь у меня проблема в том, что в функции onSerial у меня нет доступа к ws innherlab из wss. как я могу решить это?
// Serial port
let SerialPort = require("serialport");
let portName = "COM5";
let buffer = "";
var serialPort = new SerialPort(portName, {
baudRate: 115200,
dataBits: 8,
parity: "none",
stopBits: 1,
flowControl: false,
});
serialPort.on("open", function () {
console.log("open serial communication");
// listen to incoming data
serialPort.on("data", function (data) {
buffer += new String(data);
let lines = buffer.split("\n");
while (lines.length > 1) onSerial(lines.shift());
buffer = lines.join("\n");
});
});
// websocket
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 1337 });
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('received: %s', message);
serialPort.write(message);
});
ws.send('connected');
setInterval(() => ws.send("h Date.now()), 1000);
});
function onSerial(msg) {
console.log("uart msg:" + msg);
serialInStr = msg;
if (ws) {
console.log("ws:" + ws);
ws.send(msg);
}
}