Raspberry Pi, Arduino, Node.js und serial port

Ich versuche zu sprechen, um meinen arduino aus node.js server-Skript.

Hier ist mein code:

var app = require('express')()
, server = require('http').createServer(app)
, io = require('socket.io').listen(server)
, SerialPort  = require('serialport').SerialPort;

//SERIAL
var portName = '/dev/ttyACM0';
var sp = new SerialPort(); //instantiate the serial port.
sp.open(portName, { //portName is instatiated to be COM3, replace as necessary
   baudRate: 115200, //this is synced to what was set for the Arduino Code
   dataBits: 8, //this is the default for Arduino serial communication
   parity: 'none', //this is the default for Arduino serial communication
   stopBits: 1, //this is the default for Arduino serial communication
   flowControl: false //this is the default for Arduino serial communication
});

//SERVER
server.listen(80, '127.0.0.5');

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

io.sockets.on('connection', function (socket){
  socket.emit('test', { test: 'Its Working' });
  socket.on('value', function (data){
    console.log(data);
    });
});

Ziemlich sicher, dass mein Gerät auf /dev/ttyACM0, weil:

pi@raspberrypi ~/Programming/node $ dmesg|tail
[91569.773042] cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device
[91569.776338] usbcore: registered new interface driver cdc_acm
[91569.776369] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[92601.131298] usb 1-1.2: USB disconnect, device number 7
[92609.044999] usb 1-1.2: new full-speed USB device number 8 using dwc_otg
[92609.149759] usb 1-1.2: New USB device found, idVendor=2341, idProduct=0043
[92609.149789] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[92609.149806] usb 1-1.2: Manufacturer: Arduino (www.arduino.cc)
[92609.149820] usb 1-1.2: SerialNumber: 74132343430351705051
[92609.156743] cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device
pi@raspberrypi ~/Programming/node $

Wenn ich versuche meine server-Skript bekomme ich die Fehlermeldung:

pi@raspberrypi ~/Programming/node $ node server.js
   info  - socket.io started

/home/pi/node_modules/serialport/serialport.js:72
    throw new Error('Invalid port specified: ' + path);
          ^
Error: Invalid port specified: undefined
    at new SerialPort (/home/pi/node_modules/serialport/serialport.js:72:11)
    at Object.<anonymous> (/home/pi/Programming/node/server.js:8:10)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)
    at process.startup.processNextTick.process._tickCallback (node.js:244:9)

Ich bin sicher, ich bin nur etwas fehlt einfach, aber ich weiß nicht genug über Linux oder Knoten, zu wissen, was es ist. Benötige ich für die Installation der arduino-IDE Treiber?
Ist es, weil ich bin sshing in meinem raspberry pi, ich weiß, das verwendet die serielle Schnittstelle, aber ich möchte, um die Kommunikation über USB. Ist das möglich oder kann ich nur 1 serielle Schnittstelle-unabhängig davon, ob das USB-oder Seriell?

BEARBEITEN
Installiert hab ich die IDE und mit dem ich reden kann der arduino über die IDE. Es ist also nicht der Treiber oder das fehlen von Häfen.

Vielen Dank für jede Hilfe.

Joe

Versuchen Sie es mit einem post, das ist nicht 80?
Was meinst du?

InformationsquelleAutor Joseph Roberts | 2013-02-22

Schreibe einen Kommentar