2017-01-31 1 views
2

Je suis nouveau sur le noeud js. J'ai créé une application en utilisant le noeud, l'express, le socket et le serialport. J'ai une balance reliée au port série (COM2). Sur windows (localhost) ça fonctionne parfaitement. Mais quand je l'ai déployé sur mon serveur Linux CentOS 6, il ne lit aucun port série.Noeud SerialPort sous 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); 
    }); 
}); 

S'il vous plaît ne je suis vraiment marque pas ma question négative nouveau au noeud js. Merci d'avance.

+0

changement http.listen (8081) à http.listen (8081. "0.0.0.0", fun ...) –

+0

Je ne pense pas que ce soit un problème avec NodeJS. Êtes-vous capable de lire à partir de ce port COM à l'aide d'outils CentOS natifs? –

+0

il montre l'erreur http.listen (8081. "0.0.0.0", function() {chaîne inattendue –

Répondre

0

Par défaut, votre code s'exécute sur localhost lorsqu'il n'est pas fourni avec les paramètres 2, mais lorsqu'il est exécuté sur le serveur, il doit être modifié en tant que. Assurez-vous aussi que le port 8081 est activé sur le serveur

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