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((pathsList) => { console.log('Available serial ports:'); for (const path of pathsList) { const serialport = new SerialPort({ path, baudRate: 9600, autoOpen: false, }, function (err) { if (err) { return console.log('Error: ', err.message); } }) 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