222/index.js

71 lines
1.5 KiB
JavaScript

// const { SerialPort } = require('serialport')
// // Create a port
// const port = new SerialPort({
// path: '/com16/tty-usbserial1',
// baudRate: 9600,
// })
// port.on('readable', function () {
// console.log('Data:', port.read())
// })
// // Switches the port into "flowing mode"
// port.on('data', function (data) {
// console.log('Data:', data.toString('UTF8'))
// })
const fs = require('fs');
const http = require('node:http');
const {
SerialPort
} = require('serialport')
const {
ReadlineParser
} = require('@serialport/parser-readline')
const port = new SerialPort({
path: '/com9',
baudRate: 9600
})
var str = "";
const parser = port.pipe(new ReadlineParser({
delimiter: '\r\n'
}))
parser.on('data', (data) => {
if (str != data) {
console.log(data);
}
str = data;
})
// Create a local server to receive data from
const server = http.createServer((req, res) => {
console.log(req.url);
if (req.url == '/') {
fs.readFile('index.html', (err, data) => {
if (err) {
res.writeHead(404, "Not Found");
res.write("No file found")
res.end();
} else {
res.writeHead(200, {
'Content-Type': 'text/html'
})
res.write(data)
res.end();
}
})
} else if (req.url == '/pin') {
res.writeHead(200, {
'Content-Type': 'application/json'
});
res.end(str);
} else {
res.writeHead(404, "Not Found");
res.end();
}
});
server.listen(2048);