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 -vvv
diz?