serialport-v5
Version:
fork with electron support of Node.js package to access serial ports. Linux, OSX and Windows. Welcome your robotic JavaScript overlords. Better yet, program them!
46 lines (42 loc) • 1.23 kB
JavaScript
;
process.env.DEBUG = '*';
const SerialPort = require('../');
// outputs the path to an arduino or nothing
function findArduino() {
return new Promise((resolve, reject) => {
if (process.argv[2]) {
return resolve(process.argv[2]);
}
SerialPort.list((err, ports) => {
if (err) { return reject(err) }
let resolved = false;
ports.forEach((port) => {
if (!resolved && /arduino/i.test(port.manufacturer)) {
resolved = true;
return resolve(port.comName);
}
});
if (!resolved) {
reject(new Error('No arduinos found'));
}
});
});
}
findArduino().then((portName) => {
const port = new SerialPort(portName);
port.on('open', () => {
console.log('opened', portName);
// port.write(Buffer.alloc(1024 * 20, 0));
port.on('data', data => console.log('data', data.toString())); // put the port into flowing mode
// setTimeout(() => {
// console.log('closing');
// port.close((err) => {
// console.log('closed?', err);
// });
// }, 5000);
});
}, () => {
console.log('no arduino');
});
process.on('unhandledRejection', r => console.log(r, r.stack));