Se eu tiver vários Arduinos conectados via USB a um computador Linux, e eles aparecerem como
- / tty / ACM0
- / tty / ACM1
- / tty / ACM2
Como posso identificar qual é o Arduino sem conectar a eles via conexão serial ? Existe um número de série ou um ID exclusivo no Arduino?
Obrigado pelo seu tempo.
Situação: Uno R3, Mega, Leonardo com / ttyACM [1,2,3]
Saída lsusb com dispositivos na ordem mencionada acima:
... Barramento 001 Dispositivo 011: ID 2341: 0043 Dispositivo 0013 do barramento 001: ID 2341: 8036 ... Barramento 001 Dispositivo 014: ID 2341: 0042
lsusb -d vendor: dispositivo -vvv mostra para cada um
Uno
Barramento 001 Dispositivo 014: ID 2341: 0042
Descritor de dispositivo:
bComprimento 18
bDescriptorType 1
bcdUSB 1.10
Comunicações do bDeviceClass 2
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
Descritor de configuração:
bComprimento 9
bDescriptorType 2
wTotalLength 62
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Auto-alimentado
MaxPower 100mA
Descritor de Interface:
bComprimento 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
Comunicações bInterfaceClass 2
Resumo de bInterfaceSubClass 2 (modem)
bInterfaceProtocol 1 comandos AT (v.25ter)
iInterface 0
Cabeçalho do CDC:
bcdCDC 10.01
CDC ACM:
bmCapabilities 0x06
envia pausa
codificação de linha e estado serial
União CDC:
bMasterInterface 0
bSlaveInterface 1
Descritor de ponto final:
bComprimento 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Interrupção do tipo de transferência
Tipo de sincronização Nenhum
Dados do tipo de uso
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 255
Descritor de Interface:
bComprimento 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
Dados do CDC do bInterfaceClass 10
bInterfaceSubClass 0 Não utilizado
bInterfaceProtocol 0
iInterface 0
Descritor de ponto final:
bComprimento 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Tipo de transferência em massa
Tipo de sincronização Nenhum
Dados do tipo de uso
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Descritor de ponto final:
bComprimento 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Tipo de transferência em massa
Tipo de sincronização Nenhum
Dados do tipo de uso
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Status do dispositivo: 0x0000
(Alimentado por barramento)
Leonardo:
Dispositivo 0013 do barramento 001: ID 2341: 8036
Descritor de dispositivo:
bComprimento 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (definido no nível da interface)
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
Descritor de configuração:
bComprimento 9
bDescriptorType 2
wTotalLength 100
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Alimentado por barramento)
MaxPower 500mA
Associação de interface:
bComprimento 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
Comunicações bFunctionClass 2
Resumo de bFunctionSubClass 2 (modem)
bFunctionProtocol 1 comandos AT (v.25ter)
iFunction 0
Descritor de Interface:
bComprimento 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
Comunicações bInterfaceClass 2
Resumo de bInterfaceSubClass 2 (modem)
bInterfaceProtocol 0 Nenhum
iInterface 0
Cabeçalho do CDC:
bcdCDC 1.10
Gerenciamento de chamadas do CDC:
bmCapabilities 0x01
gerenciamento de chamadas
bDataInterface 1
CDC ACM:
bmCapabilities 0x06
envia pausa
codificação de linha e estado serial
União CDC:
bMasterInterface 0
bSlaveInterface 1
Descritor de ponto final:
bComprimento 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Interrupção do tipo de transferência
Tipo de sincronização Nenhum
Dados do tipo de uso
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Descritor de ponto final:
bComprimento 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Tipo de transferência em massa
Tipo de sincronização Nenhum
Dados do tipo de uso
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Descritor de Interface:
bComprimento 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 1
Dispositivo de interface humana bInterfaceClass 3
bInterfaceSubClass 0 Nenhuma subclasse
bInterfaceProtocol 0 Nenhum
iInterface 0
Descritor de dispositivo HID:
bComprimento 9
bDescriptorType 33
bcdHID 1.01
bCountryCode 0 Não suportado
bNumDescriptors 1
Relatório bDescriptorType 34
wDescriptorLength 101
Descritor do relatório: (length is 101)
Item (global): página de uso, dados = [0x01] 1
Controles genéricos de área de trabalho
Item (local): uso, dados = [0x02] 2
Rato
Item (Principal): Coleta, dados = [0x01] 1
Inscrição
Item (local): uso, dados = [0x01] 1
Ponteiro
Item (Principal): Coleta, dados = [0x00] 0
Fisica
Item (global): ID do relatório, dados = [0x01] 1
Item (Global): Página de Uso, dados = [0x09] 9
Botões
Item (local): uso mínimo, dados = [0x01] 1
Botão 1 (Primário)
Item (local): uso máximo, dados = [0x03] 3
Botão 3 (Terciário)
Item (Global): Mínimo Lógico, dados = [0x00] 0
Item (Global): Máximo Lógico, dados = [0x01] 1
Item (Global): Contagem de Relatórios, dados = [0x03] 3
Item (global): tamanho do relatório, dados = [0x01] 1
Item (Principal): Entrada, dados = [0x02] 2
Variável de dados Absoluto No_Wrap Linear
Campo de bits não-volátil de estado preferencial
Item (Global): contagem de relatórios, dados = [0x01] 1
Item (Global): Tamanho do Relatório, dados = [0x05] 5
Item (Principal): Entrada, dados = [0x03] 3
Variável constante Absoluto No_Wrap Linear
Campo de bits não-volátil de estado preferencial
Item (global): página de uso, dados = [0x01] 1
Controles genéricos de área de trabalho
Item (local): uso, dados = [0x30] 48
Direção-X
Item (local): uso, dados = [0x31] 49
Direção-Y
Item (local): uso, dados = [0x38] 56
Roda
Item (Global): Mínimo Lógico, dados = [0x81] 129
Item (Global): Máximo Lógico, dados = [0x7f] 127
Item (global): tamanho do relatório, dados = [0x08] 8
Item (Global): Contagem de Relatórios, dados = [0x03] 3
Item (Principal): Entrada, dados = [0x06] 6
Variável de dados relativa No_Wrap linear
Campo de bits não-volátil de estado preferencial
Item (Principal): Finalizar Coleta, dados = nenhum
Item (Principal): Finalizar Coleta, dados = nenhum
......
Descritor de ponto final:
bComprimento 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Interrupção do tipo de transferência
Tipo de sincronização Nenhum
Dados do tipo de uso
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Status do dispositivo: 0x0000
(Alimentado por barramento)
E Mega256:
Barramento 001 Dispositivo 014: ID 2341: 0042
Descritor de dispositivo:
bComprimento 18
bDescriptorType 1
bcdUSB 1.10
Comunicações do bDeviceClass 2
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
Descritor de configuração:
bComprimento 9
bDescriptorType 2
wTotalLength 62
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Auto-alimentado
MaxPower 100mA
Descritor de Interface:
bComprimento 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
Comunicações bInterfaceClass 2
Resumo de bInterfaceSubClass 2 (modem)
bInterfaceProtocol 1 comandos AT (v.25ter)
iInterface 0
Cabeçalho do CDC:
bcdCDC 10.01
CDC ACM:
bmCapabilities 0x06
envia pausa
codificação de linha e estado serial
União CDC:
bMasterInterface 0
bSlaveInterface 1
Descritor de ponto final:
bComprimento 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Interrupção do tipo de transferência
Tipo de sincronização Nenhum
Dados do tipo de uso
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 255
Descritor de Interface:
bComprimento 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
Dados do CDC do bInterfaceClass 10
bInterfaceSubClass 0 Não utilizado
bInterfaceProtocol 0
iInterface 0
Descritor de ponto final:
bComprimento 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Tipo de transferência em massa
Tipo de sincronização Nenhum
Dados do tipo de uso
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Descritor de ponto final:
bComprimento 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Tipo de transferência em massa
Tipo de sincronização Nenhum
Dados do tipo de uso
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Status do dispositivo: 0x0000
(Alimentado por barramento)

lsusb -vvvdiz?