无法使用serialport Node JS库从Arduino Uno读取数据

我使用的是serialport@5.0.0 Node JS库,之前已经使用它(早期版本,4.0.7)与GSM调制解调器成功通信。

现在我使用Arduino Uno。 不过,我似乎无法像以前一样用GSM调制解调器读取数据。

这就是我想要做的:

this.parser.on('data', (buffer) => { console.log('in on data'); data += buffer.toString(); console.log("DATA: " + data); var parts = data.split('\r\n'); console.log('PARTS:', parts); data = parts.pop(); console.log(data) console.log('POPPED DATA: ' + data); }) 

我什么也没得到。 我甚至尝试使用parsing器,因此this.parser.on 。 但是我不能得到它的工作。

我可以使用这个数据虽然:

 this.parser.on('data', console.log); 

但是因为我试图首先处理数据,所以没用。

这是我的串口设置:

 _.defaults(options, { baudrate: 9600, dataBits: 8, parity: 'none', stopBits: 1, flowControl: false, autoOpen: false, }); this.options = options; this.serial = new SerialPort(this.port, this.options); this.eventEmitter = new events.EventEmitter(); this.parser = new Readline({ delimiter: '\n' }); 

我正在调用一个类的serialport 。 是的,我打开端口。

我也可以写信给港口。

解决它,显然我的示例代码的on.data部分中的“缓冲区”variables已经收到一个string。 因此,我可以打印出来的string为console.log(缓冲区)。

奇怪的部分是为什么data + = buffer.toString()部分performance怪异。 我希望我能在第一个console.log之后得到至less一些东西。 但它返回空白。