nodejs - чтение с последовательного порта - PullRequest
13 голосов
/ 18 мая 2011

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

По сути, я хочу читать данные с последовательного порта (в данном случае, через 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 бод.

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

Джеймс

Ответы [ 2 ]

25 голосов
/ 28 июня 2011

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

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

8 голосов
/ 18 мая 2011

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

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

Может также работать с версиями до v4.6, но я еще не проверял.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...