2017-01-31 4 views
2

Я новичок в узле js. Я создал приложение, использующее node, express, socket и serialport. У меня шкала взвешивания, подключенная к serialport (COM2). На окнах (localhost) он отлично работает. Но когда я развернул его на моем Linux CentOS 6 сервере, он не читает серийный порт.Узел SerialPort на Linux CentOS 6

package.json

{ 
    "name": "socket", 
    "version": "0.0.1", 
    "description": "wieghing machine serial port socket app", 
    "dependencies": { 
    "express": "^4.10.2", 
    "socket.io": "1.2.0", 
    "bindings": "1.2.1", 
    "commander": "^2.9.0", 
    "debug": "^2.4.5", 
    "nan": "^2.4.0", 
    "node-pre-gyp": "^0.6.32" 
    }, 
    "devDependencies": { 
    "serialport": "^4.0.7" 
    } 
} 

app.js

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


app.get('/', function(req, res){ 
    res.sendFile(__dirname + '/index.html'); 
}); 

io.on('connection', function(socket){ 
    socket.on('register', function(msg){ 
    io.emit('register', msg); 
    }); 
}); 

http.listen(8081, function(){ 
    console.log('listening on *:8081'); 
}); 


var port = new SerialPort("COM2", { 
    baudrate: 9600 
}); 

port.on('data', function (data) { 
    io.emit('WeightMachine', data.toString()); 
}); 

SerialPort.list(function (err, ports) { 
    ports.forEach(function(port) { 
    console.log(port.comName); 
    console.log(port.pnpId); 
    console.log(port.manufacturer); 
    }); 
}); 

Пожалуйста, не отмечайте мой вопрос отрицательный я действительно новичок в узел JS. Спасибо заранее.

+0

изменение http.listen (8081) в http.listen (8081. «0.0.0.0», весело ...) –

+0

Я не думаю, что это вопрос с NodeJS. Можете ли вы читать с этого COM-порта, используя собственные инструменты CentOS? –

+0

показывает ошибку http.listen (8081. «0.0.0.0», function() {непредвиденная строка –

ответ

0

По умолчанию ваш код запускается на локальном хосте, если не предоставляется второй параметр, но при запуске на сервере его необходимо изменить как. Также убедитесь, что 8081 порт включен на сервере

http.listen(8081,"0.0.0.0", function(){ 
    console.log('listening on *:8081'); 
}); 
Смежные вопросы