O código a seguir usa o módulo SerialPort para ouvir os dados de uma conexão bluetooth.
Estou esperando ver um fluxo de dados no formato hexadecimal impresso no console. Mas o console mostra apenas alguns símbolos estranhos. Quero saber como posso decodificar e exibir os dados no console.
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());
});
});
Respostas:
Este código mostrará o buffer de dados como uma string hexadecimal:
fonte
Buffer.from( buf.toString('hex'),'hex');
[object ArrayBuffer]
? o que há de errado?A melhor resposta é a maneira mais simples de fazer isso.
Um método alternativo:
fonte