Jeśli mam wiele Arduino podłączonych przez USB do komputera z systemem Linux, a pojawią się one jako
- / tty / ACM0
- / tty / ACM1
- / tty / ACM2
Jak mogę zidentyfikować, które Arduino jest, bez łączenia się z nimi przez połączenie szeregowe ? Czy na Arduino jest numer seryjny lub unikatowy identyfikator?
Dziękuję za Twój czas.
Sytuacja: Uno R3, Mega, Leonardo with / ttyACM [1,2,3]
Wyjście lsusb z urządzeniami w wyżej wymienionej kolejności:
... Magistrala 001 Urządzenie 011: ID 2341: 0043 Magistrala 001 Urządzenie 013: ID 2341: 8036 ... Magistrala 001 Urządzenie 014: ID 2341: 0042
lsusb -d vendor: urządzenie -vvv pokazuje dla każdego
ONZ
Magistrala 001 Urządzenie 014: ID 2341: 0042 Deskryptor urządzenia: bDługość 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 2 Communications bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x2341 idProduct 0x0042 bcdDevice 0.01 iManufacture 1 Arduino (www.arduino.cc) iProdukt 2 iSerial 220 55330313735351910141 bNumConfiguracje 1 Deskryptor konfiguracji: b Długość 9 bDescriptorType 2 wTotalLength 62 bNumInterfaces 2 bConfigurationValue 1 iConfiguracja 0 bmAttributes 0xc0 Własne zasilanie MaxPower 100mA Deskryptor interfejsu: b Długość 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Streszczenie (modem) bInterfaceProtocol 1 Polecenia AT (v.25ter) Interfejs 0 Nagłówek CDC: bcdCDC 10.01 CDC ACM: bmCapabilities 0x06 wysyła przerwę kodowanie linii i stan szeregowy CDC Union: bMasterInterface 0 bSlaveInterface 1 Deskryptor punktu końcowego: b Długość 7 bDescriptorType 5 b Punkt końcowy 0x82 EP 2 IN bmAttributes 3 Przenieś typ transferu Typ synchronizacji Brak Dane typu użycia wMaxPacketSize 0x0008 1x 8 bajtów b Interwał 255 Deskryptor interfejsu: b Długość 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 10 CDC Data bInterfaceSubClass 0 Nieużywany bInterfaceProtocol 0 Interfejs 0 Deskryptor punktu końcowego: b Długość 7 bDescriptorType 5 b Adres końcowy 0x04 EP 4 OUT bmAttributes 2 Rodzaj transferu luzem Typ synchronizacji Brak Dane typu użycia wMaxPacketSize 0x0040 1x 64 bajty b Interwał 1 Deskryptor punktu końcowego: b Długość 7 bDescriptorType 5 b Adres końcowy 0x83 EP 3 IN bmAttributes 2 Rodzaj transferu luzem Typ synchronizacji Brak Dane typu użycia wMaxPacketSize 0x0040 1x 64 bajty b Interwał 1 Stan urządzenia: 0x0000 (Zasilany z magistrali)
Leonardo:
Magistrala 001 Urządzenie 013: ID 2341: 8036 Deskryptor urządzenia: bDługość 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Zdefiniowane na poziomie interfejsu) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x2341 idProduct 0x8036 bcdDevice 1.00 iMan Producent 1 Arduino LLC iProduct 2 Arduino Leonardo iSerial 0 bNumConfiguracje 1 Deskryptor konfiguracji: b Długość 9 bDescriptorType 2 wTotalLength 100 bNumInterfaces 3 bConfigurationValue 1 iConfiguracja 0 bmAttributes 0x80 (Zasilany z magistrali) MaxPower 500mA Powiązanie interfejsu: b Długość 8 bDescriptorType 11 bFirstInterface 0 bInterfaceCount 2 bFunkcja Klasa 2 Komunikacja bFunctionSubClass 2 Abstract (modem) bFunctionProtocol 1 Polecenia AT (v.25ter) iFunkcja 0 Deskryptor interfejsu: b Długość 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Streszczenie (modem) bInterfaceProtocol 0 Brak Interfejs 0 Nagłówek CDC: bcdCDC 1.10 Zarządzanie połączeniami CDC: bmCapabilities 0x01 zarządzanie połączeniami bDataInterface 1 CDC ACM: bmCapabilities 0x06 wysyła przerwę kodowanie linii i stan szeregowy CDC Union: bMasterInterface 0 bSlaveInterface 1 Deskryptor punktu końcowego: b Długość 7 bDescriptorType 5 b Adres końcowy 0x81 EP 1 IN bmAttributes 3 Przenieś typ transferu Typ synchronizacji Brak Dane typu użycia wMaxPacketSize 0x0040 1x 64 bajty b Interwał 0 Deskryptor punktu końcowego: b Długość 7 bDescriptorType 5 b Adres końcowy 0x83 EP 3 IN bmAttributes 2 Rodzaj transferu luzem Typ synchronizacji Brak Dane typu użycia wMaxPacketSize 0x0040 1x 64 bajty b Interwał 0 Deskryptor interfejsu: b Długość 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 Brak podklasy bInterfaceProtocol 0 Brak Interfejs 0 Deskryptor urządzenia HID: b Długość 9 bDescriptorType 33 bcdHID 1.01 bCountryCode 0 Nieobsługiwany bNumDescriptors 1 bDescriptorType 34 Raport wDescriptorLength 101 Deskryptor raportu: (długość wynosi 101) Pozycja (globalna): Strona użytkowania, dane = [0x01] 1 Ogólne elementy sterujące pulpitu Pozycja (lokalna): użycie, dane = [0x02] 2 Mysz Pozycja (główna): kolekcja, dane = [0x01] 1 Podanie Pozycja (lokalna): użycie, dane = [0x01] 1 Wskaźnik Pozycja (główna): kolekcja, dane = [0x00] 0 Fizyczny Pozycja (globalna): identyfikator raportu, dane = [0x01] 1 Pozycja (globalna): Strona użytkowania, dane = [0x09] 9 guziki Pozycja (lokalna): minimum użycia, dane = [0x01] 1 Przycisk 1 (podstawowy) Pozycja (lokalna): Maksymalne użycie, dane = [0x03] 3 Przycisk 3 (trzeciorzędowy) Pozycja (globalna): minimum logiczne, dane = [0x00] 0 Pozycja (globalna): logiczne maksimum, dane = [0x01] 1 Pozycja (globalna): liczba raportów, dane = [0x03] 3 Pozycja (globalna): rozmiar raportu, dane = [0x01] 1 Pozycja (główna): Dane wejściowe, dane = [0x02] 2 Zmienna danych Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Pozycja (globalna): liczba raportów, dane = [0x01] 1 Pozycja (globalna): rozmiar raportu, dane = [0x05] 5 Pozycja (główna): Dane wejściowe, dane = [0x03] 3 Stała Zmienna Absolutna No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Pozycja (globalna): Strona użytkowania, dane = [0x01] 1 Ogólne elementy sterujące pulpitu Pozycja (lokalna): użycie, dane = [0x30] 48 Kierunek-X Pozycja (lokalna): użycie, dane = [0x31] 49 Kierunek-Y Pozycja (lokalna): użycie, dane = [0x38] 56 Koło Pozycja (globalna): minimum logiczne, dane = [0x81] 129 Pozycja (globalna): maksimum logiczne, dane = [0x7f] 127 Pozycja (globalna): rozmiar raportu, dane = [0x08] 8 Pozycja (globalna): liczba raportów, dane = [0x03] 3 Pozycja (główna): Dane wejściowe, dane = [0x06] 6 Zmienna danych Relative No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Pozycja (główna): End Collection, data = none Pozycja (główna): End Collection, data = none ...... Deskryptor punktu końcowego: b Długość 7 bDescriptorType 5 b Punkt końcowy 0x84 EP 4 IN bmAttributes 3 Przenieś typ transferu Typ synchronizacji Brak Dane typu użycia wMaxPacketSize 0x0040 1x 64 bajty b Interwał 1 Stan urządzenia: 0x0000 (Zasilany z magistrali)
I Mega256:
Magistrala 001 Urządzenie 014: ID 2341: 0042 Deskryptor urządzenia: bDługość 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 2 Communications bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x2341 idProduct 0x0042 bcdDevice 0.01 iManufacture 1 Arduino (www.arduino.cc) iProdukt 2 iSerial 220 55330313735351910141 bNumConfiguracje 1 Deskryptor konfiguracji: b Długość 9 bDescriptorType 2 wTotalLength 62 bNumInterfaces 2 bConfigurationValue 1 iConfiguracja 0 bmAttributes 0xc0 Własne zasilanie MaxPower 100mA Deskryptor interfejsu: b Długość 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Streszczenie (modem) bInterfaceProtocol 1 Polecenia AT (v.25ter) Interfejs 0 Nagłówek CDC: bcdCDC 10.01 CDC ACM: bmCapabilities 0x06 wysyła przerwę kodowanie linii i stan szeregowy CDC Union: bMasterInterface 0 bSlaveInterface 1 Deskryptor punktu końcowego: b Długość 7 bDescriptorType 5 b Punkt końcowy 0x82 EP 2 IN bmAttributes 3 Przenieś typ transferu Typ synchronizacji Brak Dane typu użycia wMaxPacketSize 0x0008 1x 8 bajtów b Interwał 255 Deskryptor interfejsu: b Długość 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 10 CDC Data bInterfaceSubClass 0 Nieużywany bInterfaceProtocol 0 Interfejs 0 Deskryptor punktu końcowego: b Długość 7 bDescriptorType 5 b Adres końcowy 0x04 EP 4 OUT bmAttributes 2 Rodzaj transferu luzem Typ synchronizacji Brak Dane typu użycia wMaxPacketSize 0x0040 1x 64 bajty b Interwał 1 Deskryptor punktu końcowego: b Długość 7 bDescriptorType 5 b Adres końcowy 0x83 EP 3 IN bmAttributes 2 Rodzaj transferu luzem Typ synchronizacji Brak Dane typu użycia wMaxPacketSize 0x0040 1x 64 bajty b Interwał 1 Stan urządzenia: 0x0000 (Zasilany z magistrali)
lsusb -vvv
mówi?