import { SerialPort } from 'serialport' 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.write(`#0${req.params.id}$`); serialPort.on('open', () => { console.log('Serial port opened'); serialPort.write(buff) }); serialPort.on('data', (data) => { console.log('Received data:', data); // Process the response to check if the box was opened successfully }); serialPort.on('error', (error) => { console.error('Error:', error); }); } }) .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