Tag: 串行端口

具有多个写入的节点 – 串行端口问题

当我传递一个元素的数组时,一切都很好,当我传递一个二(max用于我们的用例)我得到以下错误: 该文件描述符没有写入队列(写入后)! 这是我的代码: exports.triggerPhysical = function(state, alerts) { console.dir("IN PHYSICAL"); console.dir(alerts); SerialPort.list(function(err, ports) { var port = {}; for(var i = 0; i < ports.length; i++) { try { if(typeof ports[i].manufacturer != 'undefined' && ports[i].manufacturer.includes("Numato")) { port = ports[i]; } } catch(err) { console.dir(err); } } var numato = new SerialPort(port.comName, {baudrate : 19200}, function(err) […]

重新连接到端口后,node.js serialport事件停止工作

我正在使用node.js的serialport2库来接收来自arduino的串行数据。 这工作像一个魅力,但时不时PC运行节点,决定停用USB端口,由于EMI 。 所有的端口再次被激活,串口掉线。 Node.js保持运行,但从不恢复到arduino的串行连接。 使用Serialport的'closed'事件我希望节点在短暂的延迟之后重新连接到串行端口。 这工作很好,迄今为止: var SerialPort = require('serialport2').SerialPort; var arduinoPort = '/dev/arduino'; // setting up the serial connection var arduinoSerial = new SerialPort(); var connectArd = function() { arduinoSerial.open(arduinoPort, { baudRate: 9600, dataBits: 8, parity: 'none', stopBits: 1, flowControl: false }); } connectArd(); // do something with incoming data arduinoSerial.on('data', function (data) […]

如何使用nodejs读取串口数据并使用rs232电缆将输出发送到PHP服务器?

我需要读取一个串口来获取数据使用RS232电缆,并希望将输出发送到一个PHP服务器,但我find了一种使用node.js的方式。 我search了很多,也发现了PHP的解决scheme,但它不适合我。 这个怎么做?

从客户端Web浏览器与串行端口进行通信。

在我的Web应用程序(sencha extjs 5)中,我有一个用户需求来读/写数据到客户端PC串口。 我知道客户端浏览器不能访问本地机器硬件,而无需在本地机器上安装一些二进制文件(Native app,Windows Service等)。 我已经看到了几年前在stackoverflow论坛讨论相同的问题。 但是我需要知道今天用现有技术做这件事的最好方法是什么?

自定义parsing器的节点串行端口?

随着像STX(0x02)..Data..ETX(0x03)数据STX(0x02)..Data..ETX(0x03) 我可以通过byte sequence parser来处理数据: var SerialPort = require('serialport'); var port = new SerialPort('/dev/tty-usbserial1', { parser: SerialPort.parsers.byteDelimiter([3]) }); port.on('data', function (data) { console.log('Data: ' + data); }); 但是我的实际数据是STX(0x02)..Data..ETX(0x03)..XX(plus 2 characters to validate data) 我怎样才能得到适当的数据? 谢谢!

使用node-serialport的NodeJS有时会变得无法响应

我正在使用NodeJS将条形码扫描器连接到Web前端。 条形码扫描器的串行端口通过USB转串口转换器连接到PC(Windows7 pro x64)。 我正在使用node-serialport 。 这个设置在博物馆的一个安装中运行。 计算机每天都会重新启动,有时条形码扫描仪一整天都可以正常工作,但大约有25%的时间停止工作。 停止工作,我的意思是NodeJS不再中继传入的串行stream。 条码扫描器本身似乎是做的很好,它仍然愉快地stream淌,重新启动后,它将正常工作..直到NodeJS停止再次工作。 当扫描器停止工作时,NodeJS窗口不显示任何错误代码,但是到那时它完全没有响应。 那么closuresNodeJS实例似乎是不可能的。 我试过Ctrl-C,通过任务pipe理器结束进程并使用taskkill从CMD窗口中终止NodeJS的PID。 它们都具有零效应。 当使用Taskkill时,CMD窗口会高兴地说这个进程已经被终止了,但是NodeJS窗口不会closures,并且在任务pipe理器中仍然存在。 只有有力的重启才能“解决”这个问题。 我觉得我有很less的信息要继续下去。 我想知道下一步要做什么。

无法使用serialport Node JS库从Arduino Uno读取数据

我使用的是serialport@5.0.0 Node JS库,之前已经使用它(早期版本,4.0.7)与GSM调制解调器成功通信。 现在我使用Arduino Uno。 不过,我似乎无法像以前一样用GSM调制解调器读取数据。 这就是我想要做的: this.parser.on('data', (buffer) => { console.log('in on data'); data += buffer.toString(); console.log("DATA: " + data); var parts = data.split('\r\n'); console.log('PARTS:', parts); data = parts.pop(); console.log(data) console.log('POPPED DATA: ' + data); }) 我什么也没得到。 我甚至尝试使用parsing器,因此this.parser.on 。 但是我不能得到它的工作。 我可以使用这个数据虽然: this.parser.on('data', console.log); 但是因为我试图首先处理数据,所以没用。 这是我的串口设置: _.defaults(options, { baudrate: 9600, dataBits: 8, parity: 'none', stopBits: […]

带有串口的node.js < – > arduino。 错误资源暂时不可用无法locking端口

当数字首先从NodeJS发送到Arduino,我看到这个错误: Error Resource temporarily unavailable Cannot lock port 我使用Linux。 我更新了一些值(在networking服务器)和串口捕捉值,所以我可以看到在Arduino串行监视器的价值。 但是,当我再次更新一些值后,会导致错误。 这是NodeJS代码: var serialport = require('serialport'), SerialPort = serialport.SerialPort, portName = '/dev/ttyACM0', portConfig = { baudRate: 9600, // call myPort.on('data') when a newline is received: //parser: serialport.parsers.readline('\n') }; … (code) … pool.getConnection(function(err,connection) { var sql = "update value set temperature=? , humidity=? where idx=?"; connection.query(sql,[temperature,humidity,idx],function(err,result) […]