节点服务器无法打开指定的端口

时间:2017-05-05 18:57:33

标签: node.js serial-port

我正在尝试编写一个允许我使用串行端口与设备通信的程序。为此,我使用以下代码:

var express = require('express');
var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);

var SerialPort = require("serialport");
var port = new SerialPort("/dev/ttyS1");

app.use(express.static(__dirname+"/../.."));
app.use(express.static(__dirname+"/../../../bower_components/"));



io.on('connection', function(socket) {
console.log('new connection');

 socket.on('message', function (message) {
//console.log('Position : ' + message); //envoi port ... à la place
//port.on('open', function() {
  port.write(message, function(err) {
    if (err) {
      return console.log('Error on write: ', err.message);
    }

  });
//});

});
});

server.listen(8080, function() {
  console.log('server up and running at 8080 port');
});

然而,这里的问题是端口似乎永远不会打开,但我们应该发送的值仍然打印在控制台中,并且/ dev / tty(代表控制台)被打开,但是/ dev / ttyS1没有打开。执行

后获得以下屏幕截图
sudo strace -e open,write node server.js

Console output

根据文档,当我们实例化SerialPort对象时,端口应该自动打开。

那么,我的代码中是否存在任何问题,或者有更好的方法吗?

0 个答案:

没有答案