You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.6 KiB

2 months ago
import { SerialPort } from 'serialport'
4 weeks ago
import { autoDetect } from '@serialport/bindings-cpp'
2 months ago
4 weeks ago
async function serialPortList(req, res) {
4 weeks ago
SerialPort.list()
4 weeks ago
.then(async pathsList => {
for (const pathObject of pathsList) {
await new Promise(resolve => {
setTimeout(() => resolve(), 100);
})
const serialPort = new SerialPort({ path: pathObject.path, baudRate: 9600, autoOpen: false, }, function (err) {
4 weeks ago
if (err) {
return console.log('Error: ', err.message);
}
})
4 weeks ago
console.log(111111, serialPort)
4 weeks ago
const buff = Buffer.allocUnsafe(4);
4 weeks ago
buff.write(`#0${req.params.id}$`);
4 weeks ago
4 weeks ago
serialPort.write(buff)
4 weeks ago
}
})
.catch((error) => {
console.error('Error listing serial ports:', error);
});
4 weeks ago
}
2 months ago
async function serialPort(req, res) {
const buff = Buffer.allocUnsafe(4);
buff.writeUInt8(`#0${req.params.id}$`);
const result = await serialport.write(buff)
res.send(result)
// serialport.open(function (err) {
// if (err) {
// return console.log('Error opening port: ', err.message);
// }
// // Because there's no callback to write, write errors will be emitted on the port:
// serialport.write('main screen turn on');
// })
// serialport.on('error', function (err) {
// console.log('Error: ', err.message);
// })
// serialport.on('readable', function () {
// console.log('Data:', serialport.read());
// })
// serialport.on('data', function (data) {
// console.log('Data:', data);
// })
}
4 weeks ago
export default serialPortList