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
Was meinst du?
InformationsquelleAutor Joseph Roberts | 2013-02-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, es ist, weil leere Argumente zu
SerialPort
, die Sie später festlegen, in offenenVom SerialPort npm-Projekt Seite
So sollten Sie alle Argumente in der SerialPort-statt offener
InformationsquelleAutor user568109
Ich habe einen nodeJS /arduino /Serialport-Roboter.
Ich verwendet (Sie brauchen, um Ihre serial-port, um Ihre eigenen)
Erinnern, Wenn Sie schreiben, um Ihren Arduino auf "drain" - Ausgang. Mein Arbeits-code, wo ich den Roboter in eine bestimmte Richtung.
InformationsquelleAutor alexmac
Vielleicht dieser code kann jemand helfen. Ich betreibe es auf einem Raspberry PI Null W.
Es wird eine Feste Länge von bytes (16 in diesem Beispiel) mit einem parser und prüfen, ob das erste Zeichen ist eine Spalte :
Hinweis: diese Seite kann nützlich sein, für wen wie mich, die erlebt haben, mit einigen Schwierigkeiten auf RPI-serial
InformationsquelleAutor RikiRiocma