PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ft201x - 8,40 €



laotinger
02.05.2013, 13:12
Hallo ihr Lieben

Ich hab mir einen UMFT201XB gekauft:
http://at.rs-online.com/web/c/?searchTerm=ftdi+breakout&sra=oss&r=t

Das Ding hat 4 GPIOs (CB0 - CB3) und einen I²C Bus.
Über den I²C Bus möchte ich den MCP23017-E/SP 16-Bit I/O Expander ansprechen.

Mein Vorhaben ist es per nodejs LEDs, Servos,... anzusteuern.

Frage:
Hat jemand einen FT201x unter Linux ansteuern können?
Welcher Weg hat zu einem Resultat geführt?


Status:
Wenn ich meinen UMFT201XB anstecke, dann wird er erkannt.
Jetzt möchte ich mit dem ft201 kommunizieren, hab aber keine Ahnung wie das geht.

Ein kleines nodejs programm hab ich geschrieben und das verbindet sich zum ft201 aber weiter komme ich nicht.

----------------ftdi.js---------------------
var ftdi = require('ftdi');

ftdi.find(function(err, devices) {
var device = new ftdi.FtdiDevice(devices[0]);
console.log(device);
device.open({ },
function(err) {
console.log("error",err);
}
);
device.on('data', function(data) {
console.log("data",data); //da kommt nichts
});
device.write([0x00, 0x01,0x02,0x03], function(err) { }); //keine Ahnung was ich schreiben soll.
});



# sudo node ftdi.js
{ domain: null,
_events: {},
_maxListeners: 10,
deviceSettings:
{ description: 'UMFT201XB',
serialNumber: 'FTWAML1E',
locationId: 528,
index: 0,
vendorId: 1027,
productId: 24597 },
FTDIDevice: {} }

---------------------------------------




# lsusb
Bus 002 Device 013: ID 0403:6015 Future Technology Devices International, Ltd



# udevadm info -a -p $(udevadm info -q path -n ttyUSB0)
looking at device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/ttyUSB0/tty/ttyUSB0':
KERNEL=="ttyUSB0"
SUBSYSTEM=="tty"
DRIVER==""

looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/ttyUSB0':
KERNELS=="ttyUSB0"
SUBSYSTEMS=="usb-serial"
DRIVERS=="ftdi_sio"
ATTRS{latency_timer}=="1"
ATTRS{port_number}=="0"

looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0':
KERNELS=="2-1.2:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="ftdi_sio"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bNumEndpoints}=="02"
ATTRS{bInterfaceClass}=="ff"
ATTRS{bInterfaceSubClass}=="ff"
ATTRS{bInterfaceProtocol}=="ff"
ATTRS{supports_autosuspend}=="1"
ATTRS{interface}=="UMFT201XB"

looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2':
KERNELS=="2-1.2"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="80"
ATTRS{bMaxPower}==" 90mA"
ATTRS{urbnum}=="16"
ATTRS{idVendor}=="0403"
ATTRS{idProduct}=="6015"
ATTRS{bcdDevice}=="1000"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{speed}=="12"
ATTRS{busnum}=="2"
ATTRS{devnum}=="13"
ATTRS{devpath}=="1.2"
ATTRS{version}==" 2.00"
ATTRS{maxchild}=="0"
ATTRS{quirks}=="0x0"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="FTDI"
ATTRS{product}=="UMFT201XB"
ATTRS{serial}=="FTWAML1E"

sysrun
02.05.2013, 13:58
Auf was für einer Hardware läuft denn Nodejs?

Habe bei mir NodeJS auf nem Raspberry Pi laufen und nutze dort direkt die i2c pins.

laotinger
02.05.2013, 15:02
In dem Fall läuft nodejs auf einem Ubuntu Linux (kein Pi).

sysrun
02.05.2013, 16:12
Würde sagen da helfen nur die Datenblätter.

laotinger
02.05.2013, 22:14
Im Moment hab ich keine Ahnung wo ich da ansetzen soll.
Das gebe ich auf. Falls das jemand probieren will, dem schick ich gern das FT201XB breakout board.