2017-01-07 2 views
0

Я знаю, это может показаться странным, и я действительно не знаю, что здесь происходит.NodeJS не работает, когда серийный монитор закрыт

var serialport = require("serialport"); 
var SerialPort = serialport.SerialPort; 

var sp = new SerialPort("/dev/ttyACM1", { 
    baudrate: 9600, 
    parser: serialport.parsers.readline("\n") 
}); 

sp.on('open', function() 
{ 
    console.log("writing..."); 
    sp.write('b'); 
    console.log("done"); 
}); 

это мой nodejs сценарий, когда я бегу с моим серийным монитором открытым делает мой вел в моем Arduino мигает

void setup() 
{     
    Serial.begin(9600); 
    pinMode(13, OUTPUT); 

} 
void loop() 
{ 
    if(Serial.available() > 0) 
    { 
     digitalWrite(13, HIGH); 
     delay(1000); 
     digitalWrite(13, LOW); 
     delay(1000); 
    } 
} 

теперь моя проблема здесь, когда я закрыл свой серийный монитор и запустить мой nodejs сценарий он не мигает моим вождем. tho, я могу видеть «писать ...» и «делать» в консоли.

любые идеи, почему это происходит? или предложение, что делать? заранее спасибо.

версия узла: 6.9.2 НОЙ версии: 3.10.9 ОС: Ubuntu 14.04 LTS

ответ

0

Я прочитал, что Arduino не может сразу же получить данные после открытия порта. Или что-то типа того. Итак, ive попробовал этот синтаксис, и он отлично работает.

var serialport = require("serialport"); 
var SerialPort = serialport.SerialPort; 

var sp = new SerialPort("/dev/ttyACM0", { 
    baudrate: 9600, 
    parser: serialport.parsers.readline("\n") 
}); 

sp.on('open', function() { 
    sp.on('data', function (data) { 
     sp.write("b"); 
    }); 
}); 
Смежные вопросы