Подтвердить что ты не робот

Nodejs - чтение из последовательного порта

Я искал ответ на этот вопрос...

В принципе, я хочу читать данные из последовательного порта (в данном случае, через USB). Я просмотрел модуль node -serialport, но он продолжает останавливаться после первого результата из последовательного порта. Я ожидал, что он просто выплюнет данные, когда он их получит. Это как будто заполняется буфер и его нужно как-то покрасить?

Я немного изменил код из демонстраций, которые я нашел здесь - https://github.com/voodootikigod/node-serialport/tree/master/tests

Здесь мой код:

    var sys = require("sys"),
    repl = require("repl"),
    serialPort = require("serialport").SerialPort;

    // Create new serialport pointer
    var serial = new serialPort("/dev/tty.usbmodem1d11" , { baudrate : 9600 });

    // Add data read event listener
    serial.on( "data", function( chunk ) {
        sys.puts(chunk);
    });


    serial.on( "error", function( msg ) {
        sys.puts("error: " + msg );
    });

    repl.start( "=>" );

Я использую Arduino, следовательно, скорость передачи 9600.

Любая помощь была бы потрясающей, ура,

Джеймс

4b9b3361

Ответ 1

У меня также возникли проблемы с чтением последовательного порта. Это связано с ошибкой в ​​ node.js v4.7 (см. эта проблема)

Однако он работал после перехода на более старую версию node.js(v4.0).

Он также может работать с версиями до версии 4.0, но я еще не подтвердил это.

Ответ 2

Автор node -сервера. Я отследил проблему, и это связано с проблемой компиляции с IOWatcher в node.js. Я пересмотрел стратегию чтения из последовательного порта, и теперь он должен функционировать так же, как и во всех случаях. Убедитесь, что вы используете node -serialport 0.2.6 и выше.

Теперь выходите и создавайте роботы, управляемые JS!!!