import { SerialPort } from 'serialport' import res from "express/lib/response.js"; import { autoDetect } from '@serialport/bindings-cpp' async function serialPortList(req, res) { SerialPort.list() .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) { if (err) { return console.log('Error: ', err.message); } }) console.log(111111, serialPort) const buff = Buffer.allocUnsafe(4); buff.writeUInt8(`#0${req.params.id}$`); serialPort.write(buff) } }) .catch((error) => { console.error('Error listing serial ports:', error); }); } 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); // }) } export default serialPortList