来自工作Python脚本的node.js serialport

时间:2018-07-09 12:11:19

标签: python node.js serial-port

我正在尝试从串行端口获取数据。我有一个工作正常的python脚本,但是我需要node.js中的代码。

以下是python脚本:

import serial
import time
import io

ser = serial.Serial('COM3')

ser.timeout=1

while(True):

try:
    ser.write(b'M00');
    ser.write(b'p');
    s0 = ser.read(26)

    print(s0)

except KeyboardInterrupt:
    ser.close()
    break

except:
    pass

现在,我尝试用javascript重写此代码,并提出以下代码:

const SerialPort = require('serialport');

SerialPort.list((err, ports) => {
  console.log(ports)                
})

var myPort = new SerialPort('COM3', {
   baudRate:9600
})

myPort.on('open', onOpen);
myPort.on('data', onData);
myPort.write('M01');

function onOpen(){
  console.log("Open connection");
}

function onData(data){
  console.log("on Data " + data);
}

while(true){
  console.log(myPort.read())
}

不幸的是,我无法正常工作。我的猜测是,也许我必须将二进制代码传递给我的端口。您知道解决方案吗?谢谢

1 个答案:

答案 0 :(得分:0)

好的,我发现了我的错误。只是忘了还要在我的端口上写“ p”。