El siguiente código usa el módulo SerialPort para escuchar datos de una conexión bluetooth.
Espero ver un flujo de datos en formato hexadecimal impreso en la consola. Pero la consola solo muestra algunos símbolos extraños. Quiero saber cómo puedo decodificar y mostrar los datos en la consola.
var serialPort = new SerialPort("/dev/tty.EV3-SerialPort", {
parser: SP.parsers.raw
}, false); // this is the openImmediately flag [default is true]
serialPort.open(function () {
console.log('open');
serialPort.on('data', function(data) {
var buff = new Buffer(data, 'utf8'); //no sure about this
console.log('data received: ' + buff.toString());
});
});
Respuestas:
Este código mostrará el búfer de datos como una cadena hexadecimal:
fuente
Buffer.from( buf.toString('hex'),'hex');
[object ArrayBuffer]
? que esta malLa respuesta principal es la forma más sencilla de hacerlo.
Un método alternativo:
fuente