2014-09-26 1 views
-1

Я планирую сделать POC с последовательной связью через Node.js. Я googled и нашел модуль «serialport» для Node.js. У меня есть код C#, который записывает данные в последовательный порт в виде данных byte. Я хотел бы попробовать то же самое с помощью Node.js. C# код имеет следующие значения в массиве byte[]:Отправка байтов в последовательный порт с использованием Node.js

5, 170, 85, 250, 0, 86, 0, 3, 158, 0 

Может кто-нибудь пожалуйста, скажите мне, как достичь этого с помощью модуля SerialPort Node.js в?

ответ

7

Наконец-то я смог понять это. Просто создайте буферную переменную (как указано в документации) и добавьте в нее эти байты. Запишите его в последовательный порт. Ниже приведен фрагмент, который работал для меня:

var buffer = new Buffer(10); 
buffer[0] = 0x05; 
buffer[1] = 0xAA; 
buffer[2] = 0x55; 
buffer[3] = 0xFA; 
buffer[4] = 0x00; 
buffer[5] = 0x56; 
buffer[6] = 0x00; 
buffer[7] = 0x03; 
buffer[8] = 0x9E; 
buffer[9] = 0x00; 

var com = new SerialPort(COM1, { 
    baudRate: 38400, 
    databits: 8, 
    parity: 'none' 
}, false); 

com.open(function (error) { 
    if (error) { 
     console.log('Error while opening the port ' + error); 
    } else { 
     console.log('CST port open'); 
     com.write(buffer, function (err, result) { 
      if (err) { 
       console.log('Error while sending message : ' + err); 
      } 
      if (result) { 
       console.log('Response received after sending message : ' + result); 
      }  
     }); 
    }    
});