Se ho più Arduinos collegati tramite USB a un computer Linux e vengono visualizzati come
- / Tty / ACM0
- / Tty / ACM1
- / Tty / ACM2
Come posso identificare quale Arduino è quale senza connettersi ad essi tramite connessione seriale ? Esiste un numero seriale o un ID univoco su Arduino?
Grazie per il tuo tempo.
Situazione: Uno R3, Mega, Leonardo con / ttyACM [1,2,3]
Uscita USB con dispositivi nell'ordine sopra menzionato:
... Bus 001 Dispositivo 011: ID 2341: 0043 Bus 001 Dispositivo 013: ID 2341: 8036 ... Bus 001 Dispositivo 014: ID 2341: 0042
lsusb -d vendor: device -vvv mostra per ognuno
Uno
Bus 001 Dispositivo 014: ID 2341: 0042 Descrittore dispositivo: bLunghezza 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 Descrittore di configurazione: bLunghezza 9 bDescriptorType 2 wTotalLength 62 bNumInterfaces 2 bConfigurationValue 1 iConfigurazione 0 bmAttributes 0xc0 Autoalimentato MaxPower 100mA Descrittore di interfaccia: bLunghezza 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Abstract (modem) bInterfaceProtocol 1 AT-comandi (v.25ter) Interfaccia 0 Intestazione CDC: bcdCDC 10.01 CDC ACM: bmCapabilities 0x06 invia una pausa codifica di linea e stato seriale Unione CDC: bMasterInterface 0 bInterfaccia slave 1 Descrittore endpoint: bLunghezza 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Tipo di trasferimento interrotto Tipo di sincronizzazione Nessuno Dati sul tipo di utilizzo wMaxPacketSize 0x0008 1x 8 byte bIntervallo 255 Descrittore di interfaccia: bLunghezza 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 10 Dati CDC bInterfaceSubClass 0 Non utilizzato bInterfaceProtocol 0 Interfaccia 0 Descrittore endpoint: bLunghezza 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 2 Tipo di trasferimento alla rinfusa Tipo di sincronizzazione Nessuno Dati sul tipo di utilizzo wMaxPacketSize 0x0040 1x 64 byte bIntervallo 1 Descrittore endpoint: bLunghezza 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 2 Tipo di trasferimento alla rinfusa Tipo di sincronizzazione Nessuno Dati sul tipo di utilizzo wMaxPacketSize 0x0040 1x 64 byte bIntervallo 1 Stato del dispositivo: 0x0000 (Bus alimentato)
Leonardo:
Bus 001 Dispositivo 013: ID 2341: 8036 Descrittore dispositivo: bLunghezza 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (definito a livello di interfaccia) 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 Descrittore di configurazione: bLunghezza 9 bDescriptorType 2 wTotalLength 100 bNumInterfaces 3 bConfigurationValue 1 iConfigurazione 0 bmAttributes 0x80 (Bus alimentato) MaxPower 500mA Associazione interfaccia: bLunghezza 8 bDescriptorType 11 bFirstInterface 0 bInterfaceCount 2 bFunctionClass 2 Communications bFunctionSubClass 2 Abstract (modem) bFunctionProtocol 1 AT-comandi (v.25ter) iFunction 0 Descrittore di interfaccia: bLunghezza 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Abstract (modem) bInterfaceProtocol 0 Nessuno Interfaccia 0 Intestazione CDC: bcdCDC 1.10 Gestione delle chiamate CDC: bmCapabilities 0x01 gestione delle chiamate bDataInterface 1 CDC ACM: bmCapabilities 0x06 invia una pausa codifica di linea e stato seriale Unione CDC: bMasterInterface 0 bInterfaccia slave 1 Descrittore endpoint: bLunghezza 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Tipo di trasferimento interrotto Tipo di sincronizzazione Nessuno Dati sul tipo di utilizzo wMaxPacketSize 0x0040 1x 64 byte bInterval 0 Descrittore endpoint: bLunghezza 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 2 Tipo di trasferimento alla rinfusa Tipo di sincronizzazione Nessuno Dati sul tipo di utilizzo wMaxPacketSize 0x0040 1x 64 byte bInterval 0 Descrittore di interfaccia: bLunghezza 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 Nessuna sottoclasse bInterfaceProtocol 0 Nessuno Interfaccia 0 Descrittore dispositivo HID: bLunghezza 9 bDescriptorType 33 bcdHID 1.01 bCountryCode 0 Non supportato bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 101 Descrittore rapporto: (la lunghezza è 101) Articolo (globale): pagina di utilizzo, dati = [0x01] 1 Controlli desktop generici Articolo (locale): Utilizzo, dati = [0x02] 2 Topo Item (Main): Collection, data = [0x01] 1 Applicazione Elemento (locale): Utilizzo, dati = [0x01] 1 pointer Item (Main): Collection, data = [0x00] 0 Fisico Elemento (globale): ID rapporto, dati = [0x01] 1 Articolo (globale): pagina di utilizzo, dati = [0x09] 9 pulsanti Articolo (locale): minimo di utilizzo, dati = [0x01] 1 Pulsante 1 (primario) Articolo (locale): massimo utilizzo, dati = [0x03] 3 Pulsante 3 (terziario) Elemento (globale): minimo logico, dati = [0x00] 0 Elemento (globale): massimo logico, dati = [0x01] 1 Elemento (globale): conteggio rapporti, dati = [0x03] 3 Elemento (globale): dimensioni report, dati = [0x01] 1 Voce (principale): input, data = [0x02] 2 Variabile di dati assoluto No_Wrap lineare Preferred_State No_Null_Position Bit bit non volatile Elemento (globale): conteggio rapporti, dati = [0x01] 1 Elemento (globale): dimensioni report, dati = [0x05] 5 Voce (principale): input, data = [0x03] 3 Assoluto variabile costante No_Wrap lineare Preferred_State No_Null_Position Bit bit non volatile Articolo (globale): pagina di utilizzo, dati = [0x01] 1 Controlli desktop generici Articolo (locale): Utilizzo, dati = [0x30] 48 Direzione-X Articolo (locale): Utilizzo, dati = [0x31] 49 Direzione-Y Articolo (locale): Utilizzo, dati = [0x38] 56 Ruota Elemento (globale): minimo logico, dati = [0x81] 129 Elemento (globale): massimo logico, dati = [0x7f] 127 Elemento (globale): dimensioni report, dati = [0x08] 8 Elemento (globale): conteggio rapporti, dati = [0x03] 3 Voce (principale): input, data = [0x06] 6 Variabile dati relativa No_Wrap lineare Preferred_State No_Null_Position Bit bit non volatile Item (Main): End Collection, data = none Item (Main): End Collection, data = none ...... Descrittore endpoint: bLunghezza 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 3 Tipo di trasferimento interrotto Tipo di sincronizzazione Nessuno Dati sul tipo di utilizzo wMaxPacketSize 0x0040 1x 64 byte bIntervallo 1 Stato del dispositivo: 0x0000 (Bus alimentato)
E Mega256:
Bus 001 Dispositivo 014: ID 2341: 0042 Descrittore dispositivo: bLunghezza 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 Descrittore di configurazione: bLunghezza 9 bDescriptorType 2 wTotalLength 62 bNumInterfaces 2 bConfigurationValue 1 iConfigurazione 0 bmAttributes 0xc0 Autoalimentato MaxPower 100mA Descrittore di interfaccia: bLunghezza 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Abstract (modem) bInterfaceProtocol 1 AT-comandi (v.25ter) Interfaccia 0 Intestazione CDC: bcdCDC 10.01 CDC ACM: bmCapabilities 0x06 invia una pausa codifica di linea e stato seriale Unione CDC: bMasterInterface 0 bInterfaccia slave 1 Descrittore endpoint: bLunghezza 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Tipo di trasferimento interrotto Tipo di sincronizzazione Nessuno Dati sul tipo di utilizzo wMaxPacketSize 0x0008 1x 8 byte bIntervallo 255 Descrittore di interfaccia: bLunghezza 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 10 Dati CDC bInterfaceSubClass 0 Non utilizzato bInterfaceProtocol 0 Interfaccia 0 Descrittore endpoint: bLunghezza 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 2 Tipo di trasferimento alla rinfusa Tipo di sincronizzazione Nessuno Dati sul tipo di utilizzo wMaxPacketSize 0x0040 1x 64 byte bIntervallo 1 Descrittore endpoint: bLunghezza 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 2 Tipo di trasferimento alla rinfusa Tipo di sincronizzazione Nessuno Dati sul tipo di utilizzo wMaxPacketSize 0x0040 1x 64 byte bIntervallo 1 Stato del dispositivo: 0x0000 (Bus alimentato)
lsusb -vvv
dice?