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.
Любая помощь была бы потрясающей, ура,
Джеймс
Ответы
Ответ 1
У меня также возникли проблемы с чтением последовательного порта.
Это связано с ошибкой в node.js v4.7 (см. эта проблема)
Однако он работал после перехода на более старую версию node.js(v4.0).
Он также может работать с версиями до версии 4.0, но я еще не подтвердил это.
Ответ 2
Автор node -сервера. Я отследил проблему, и это связано с проблемой компиляции с IOWatcher в node.js. Я пересмотрел стратегию чтения из последовательного порта, и теперь он должен функционировать так же, как и во всех случаях. Убедитесь, что вы используете node -serialport 0.2.6 и выше.
Теперь выходите и создавайте роботы, управляемые JS!!!