来自工作的Python脚本的node.js串行端口

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


这里ist 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())

}

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


四季花海
浏览 164回答 1
1回答

慕尼黑的夜晚无繁华

好的,我发现了我的错误。只是忘了还要在我的端口上写“ p”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python