laotinger
02.05.2013, 14: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"
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"