Si tengo varios Arduinos conectados por USB a una computadora Linux, y aparecen como
- / tty / ACM0
- / tty / ACM1
- / tty / ACM2
¿Cómo puedo identificar qué Arduino es cuál sin conectarme a ellos mediante una conexión en serie ? ¿Hay un número de serie o una identificación única en el Arduino?
Gracias por tu tiempo.
Situación: Uno R3, Mega, Leonardo con / ttyACM [1,2,3]
Salida lsusb con dispositivos en el orden mencionado anteriormente:
... Bus 001 Dispositivo 011: ID 2341: 0043 Bus 001 Dispositivo 013: ID 2341: 8036 ... Bus 001 Dispositivo 014: ID 2341: 0042
lsusb -d vendor: dispositivo -vvv muestra para cada uno
Uno
Bus 001 Dispositivo 014: ID 2341: 0042
Descriptor de dispositivo:
bLongitud 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x2341
idProduct 0x0042
bcdDevice 0.01
iManufacturer 1 Arduino (www.arduino.cc)
iProduct 2
iSerial 220 55330313735351910141
bNumConfigurations 1
Descriptor de configuración:
bLongitud 9
bDescriptorType 2
wTotalLength 62
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Autoalimentado
MaxPower 100mA
Descriptor de interfaz:
bLongitud 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (módem)
bInterfaceProtocol 1 Comandos AT (v.25ter)
iInterface 0
Encabezado de CDC:
bcdCDC 10.01
CDC ACM:
bmCapabilities 0x06
envía descanso
codificación de línea y estado serial
Unión de los CDC:
bMasterInterface 0
bSlaveInterface 1
Descriptor de punto final:
bLongitud 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Tipo de transferencia interrupción
Tipo de sincronización Ninguno
Datos de tipo de uso
wMaxPacketSize 0x0008 1x 8 bytes
bIntervalo 255
Descriptor de interfaz:
bLongitud 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 sin usar
bInterfaceProtocol 0
iInterface 0
Descriptor de punto final:
bLongitud 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Tipo de transferencia a granel
Tipo de sincronización Ninguno
Datos de tipo de uso
wMaxPacketSize 0x0040 1x 64 bytes
bIntervalo 1
Descriptor de punto final:
bLongitud 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Tipo de transferencia a granel
Tipo de sincronización Ninguno
Datos de tipo de uso
wMaxPacketSize 0x0040 1x 64 bytes
bIntervalo 1
Estado del dispositivo: 0x0000
(Bus alimentado)
Leonardo
Bus 001 Dispositivo 013: ID 2341: 8036
Descriptor de dispositivo:
bLongitud 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (definido en el nivel de interfaz)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x2341
idProduct 0x8036
bcdDevice 1.00
iManufacturer 1 Arduino LLC
iProduct 2 Arduino Leonardo
iSerial 0
bNumConfigurations 1
Descriptor de configuración:
bLongitud 9
bDescriptorType 2
wTotalLength 100
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus alimentado)
MaxPower 500mA
Asociación de interfaz:
bLongitud 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 2 Abstract (módem)
bFunctionProtocol 1 comandos AT (v.25ter)
iFunction 0
Descriptor de interfaz:
bLongitud 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (módem)
bInterfaceProtocol 0 Ninguno
iInterface 0
Encabezado de CDC:
bcdCDC 1.10
Gestión de llamadas de los CDC:
bmCapabilities 0x01
gestión de llamadas
bDataInterface 1
CDC ACM:
bmCapabilities 0x06
envía descanso
codificación de línea y estado serial
Unión de los CDC:
bMasterInterface 0
bSlaveInterface 1
Descriptor de punto final:
bLongitud 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Tipo de transferencia interrupción
Tipo de sincronización Ninguno
Datos de tipo de uso
wMaxPacketSize 0x0040 1x 64 bytes
bIntervalo 0
Descriptor de punto final:
bLongitud 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Tipo de transferencia a granel
Tipo de sincronización Ninguno
Datos de tipo de uso
wMaxPacketSize 0x0040 1x 64 bytes
bIntervalo 0
Descriptor de interfaz:
bLongitud 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 1
Dispositivo de interfaz humana bInterfaceClass 3
bInterfaceSubClass 0 Sin subclase
bInterfaceProtocol 0 Ninguno
iInterface 0
Descriptor de dispositivo HID:
bLongitud 9
bDescriptorType 33
bcdHID 1.01
bCountryCode 0 No compatible
bNumDescriptors 1
Informe bDescriptorType 34
wDescriptorLength 101
Descriptor de informe: (la longitud es 101)
Elemento (global): página de uso, datos = [0x01] 1
Controles de escritorio genéricos
Elemento (local): uso, datos = [0x02] 2
Ratón
Elemento (Principal): Colección, datos = [0x01] 1
Solicitud
Elemento (local): uso, datos = [0x01] 1
Puntero
Elemento (Principal): Colección, datos = [0x00] 0
Físico
Elemento (Global): ID de informe, datos = [0x01] 1
Elemento (global): página de uso, datos = [0x09] 9
Botones
Elemento (local): Uso mínimo, datos = [0x01] 1
Botón 1 (primario)
Elemento (local): uso máximo, datos = [0x03] 3
Botón 3 (terciario)
Elemento (Global): Mínimo lógico, datos = [0x00] 0
Elemento (Global): Máximo lógico, datos = [0x01] 1
Elemento (Global): Recuento de informes, datos = [0x03] 3
Elemento (Global): Tamaño del informe, datos = [0x01] 1
Elemento (Principal): Entrada, datos = [0x02] 2
Datos Variable Absoluta No_Wrap Lineal
Preferred_State No_Null_Position Non_Volatile Bitfield
Elemento (Global): Recuento de informes, datos = [0x01] 1
Elemento (Global): Tamaño del informe, datos = [0x05] 5
Elemento (Principal): Entrada, datos = [0x03] 3
Constante Variable Absoluta No_Wrap Lineal
Preferred_State No_Null_Position Non_Volatile Bitfield
Elemento (global): página de uso, datos = [0x01] 1
Controles de escritorio genéricos
Elemento (local): uso, datos = [0x30] 48
Dirección-X
Elemento (local): uso, datos = [0x31] 49
Dirección-Y
Elemento (local): uso, datos = [0x38] 56
Rueda
Elemento (Global): Mínimo lógico, datos = [0x81] 129
Elemento (Global): Máximo lógico, datos = [0x7f] 127
Elemento (Global): Tamaño del informe, datos = [0x08] 8
Elemento (Global): Recuento de informes, datos = [0x03] 3
Elemento (Principal): Entrada, datos = [0x06] 6
Datos Variable Relativo No_Envoltura Lineal
Preferred_State No_Null_Position Non_Volatile Bitfield
Elemento (Principal): Finalizar colección, datos = ninguno
Elemento (Principal): Finalizar colección, datos = ninguno
......
Descriptor de punto final:
bLongitud 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Tipo de transferencia interrupción
Tipo de sincronización Ninguno
Datos de tipo de uso
wMaxPacketSize 0x0040 1x 64 bytes
bIntervalo 1
Estado del dispositivo: 0x0000
(Bus alimentado)
Y Mega256:
Bus 001 Dispositivo 014: ID 2341: 0042
Descriptor de dispositivo:
bLongitud 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x2341
idProduct 0x0042
bcdDevice 0.01
iManufacturer 1 Arduino (www.arduino.cc)
iProduct 2
iSerial 220 55330313735351910141
bNumConfigurations 1
Descriptor de configuración:
bLongitud 9
bDescriptorType 2
wTotalLength 62
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Autoalimentado
MaxPower 100mA
Descriptor de interfaz:
bLongitud 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (módem)
bInterfaceProtocol 1 Comandos AT (v.25ter)
iInterface 0
Encabezado de CDC:
bcdCDC 10.01
CDC ACM:
bmCapabilities 0x06
envía descanso
codificación de línea y estado serial
Unión de los CDC:
bMasterInterface 0
bSlaveInterface 1
Descriptor de punto final:
bLongitud 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Tipo de transferencia interrupción
Tipo de sincronización Ninguno
Datos de tipo de uso
wMaxPacketSize 0x0008 1x 8 bytes
bIntervalo 255
Descriptor de interfaz:
bLongitud 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 sin usar
bInterfaceProtocol 0
iInterface 0
Descriptor de punto final:
bLongitud 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Tipo de transferencia a granel
Tipo de sincronización Ninguno
Datos de tipo de uso
wMaxPacketSize 0x0040 1x 64 bytes
bIntervalo 1
Descriptor de punto final:
bLongitud 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Tipo de transferencia a granel
Tipo de sincronización Ninguno
Datos de tipo de uso
wMaxPacketSize 0x0040 1x 64 bytes
bIntervalo 1
Estado del dispositivo: 0x0000
(Bus alimentado)

lsusb -vvv¿dice?