Si j'ai plusieurs Arduinos connectés via USB à un ordinateur Linux, et ils apparaissent comme
- / tty / ACM0
- / tty / ACM1
- / tty / ACM2
Comment puis-je identifier quel Arduino est lequel sans me connecter via une connexion série ? Y a-t-il un numéro de série ou un identifiant unique sur l'Arduino?
Merci pour votre temps.
Situation: Uno R3, Mega, Leonardo avec / ttyACM [1,2,3]
Sortie lsusb avec des périphériques dans l'ordre mentionné ci-dessus:
... Bus 001 Périphérique 011: ID 2341: 0043 Bus 001 Périphérique 013: ID 2341: 8036 ... Bus 001 Périphérique 014: ID 2341: 0042
lsusb -d vendor: périphérique -vvv s'affiche pour chacun
Uno
Bus 001 Périphérique 014: ID 2341: 0042
Descripteur de périphérique:
bLongueur 18
bDescriptorType 1
bcdUSB 1.10
Communications avec 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
Descripteur de configuration:
bLongueur 9
bDescriptorType 2
wTotalLength 62
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Auto-alimenté
MaxPower 100mA
Descripteur d'interface:
bLongueur 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
Résumé bInterfaceSubClass 2 (modem)
Commandes AT bInterfaceProtocol 1 (v.25ter)
iInterface 0
En-tête CDC:
bcdCDC 10.01
CDC ACM:
bmCapabilities 0x06
envoie une pause
codage de ligne et état série
Union CDC:
bMasterInterface 0
bSlaveInterface 1
Descripteur de point final:
bLongueur 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Type de transfert interrompu
Type de synchronisation Aucun
Données de type d'utilisation
wMaxPacketSize 0x0008 1x 8 octets
bInterval 255
Descripteur d'interface:
bLongueur 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Inutilisé
bInterfaceProtocol 0
iInterface 0
Descripteur de point final:
bLongueur 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Type de transfert en vrac
Type de synchronisation Aucun
Données de type d'utilisation
wMaxPacketSize 0x0040 1x 64 octets
bIntervalle 1
Descripteur de point final:
bLongueur 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Type de transfert en vrac
Type de synchronisation Aucun
Données de type d'utilisation
wMaxPacketSize 0x0040 1x 64 octets
bIntervalle 1
État du périphérique: 0x0000
(Alimenté par bus)
Leonardo:
Bus 001 Périphérique 013: ID 2341: 8036
Descripteur de périphérique:
bLongueur 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (défini au niveau de l'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
Descripteur de configuration:
bLongueur 9
bDescriptorType 2
wTotalLength 100
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Alimenté par bus)
MaxPower 500mA
Association d'interface:
bLongueur 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
Communications bFunctionClass 2
Résumé de bFunctionSubClass 2 (modem)
Commandes bFunctionProtocol 1 AT (v.25ter)
iFunction 0
Descripteur d'interface:
bLongueur 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
Résumé bInterfaceSubClass 2 (modem)
bInterfaceProtocol 0 Aucun
iInterface 0
En-tête CDC:
bcdCDC 1.10
Gestion des appels CDC:
bmCapabilities 0x01
gestion des appels
bDataInterface 1
CDC ACM:
bmCapabilities 0x06
envoie une pause
codage de ligne et état série
Union CDC:
bMasterInterface 0
bSlaveInterface 1
Descripteur de point final:
bLongueur 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Type de transfert interrompu
Type de synchronisation Aucun
Données de type d'utilisation
wMaxPacketSize 0x0040 1x 64 octets
bInterval 0
Descripteur de point final:
bLongueur 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Type de transfert en vrac
Type de synchronisation Aucun
Données de type d'utilisation
wMaxPacketSize 0x0040 1x 64 octets
bInterval 0
Descripteur d'interface:
bLongueur 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 1
Périphérique d'interface humaine bInterfaceClass 3
bInterfaceSubClass 0 Aucune sous-classe
bInterfaceProtocol 0 Aucun
iInterface 0
Descripteur de périphérique HID:
bLongueur 9
bDescriptorType 33
bcdHID 1.01
bCountryCode 0 Non pris en charge
bNumDescriptors 1
Rapport bDescriptorType 34
wDescriptorLength 101
Descripteur de rapport: (la longueur est de 101)
Élément (global): page d'utilisation, données = [0x01] 1
Commandes de bureau génériques
Élément (local): utilisation, données = [0x02] 2
Souris
Élément (principal): collection, données = [0x01] 1
Application
Élément (local): utilisation, données = [0x01] 1
Aiguille
Élément (principal): collection, données = [0x00] 0
Physique
Élément (global): ID de rapport, données = [0x01] 1
Élément (global): page d'utilisation, données = [0x09] 9
Boutons
Élément (local): utilisation minimale, données = [0x01] 1
Bouton 1 (principal)
Élément (local): utilisation maximale, données = [0x03] 3
Bouton 3 (tertiaire)
Élément (global): minimum logique, données = [0x00] 0
Élément (global): maximum logique, données = [0x01] 1
Élément (global): nombre de rapports, données = [0x03] 3
Élément (global): taille du rapport, données = [0x01] 1
Élément (principal): entrée, données = [0x02] 2
Variable de données absolue No_Wrap linéaire
Preferred_State No_Null_Position Champ de bits non volatil
Élément (global): nombre de rapports, données = [0x01] 1
Élément (global): taille du rapport, données = [0x05] 5
Élément (principal): entrée, données = [0x03] 3
Variable constante absolue No_Wrap linéaire
Preferred_State No_Null_Position Champ de bits non volatil
Élément (global): page d'utilisation, données = [0x01] 1
Commandes de bureau génériques
Élément (local): utilisation, données = [0x30] 48
Direction-X
Élément (local): utilisation, données = [0x31] 49
Direction-Y
Élément (local): utilisation, données = [0x38] 56
Roue
Élément (global): minimum logique, données = [0x81] 129
Élément (global): maximum logique, données = [0x7f] 127
Élément (global): taille du rapport, données = [0x08] 8
Élément (global): nombre de rapports, données = [0x03] 3
Élément (principal): entrée, données = [0x06] 6
Variable de données relative No_Wrap linéaire
Preferred_State No_Null_Position Champ de bits non volatil
Article (principal): Fin de la collecte, données = aucune
Article (principal): Fin de la collecte, données = aucune
......
Descripteur de point final:
bLongueur 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Type de transfert interrompu
Type de synchronisation Aucun
Données de type d'utilisation
wMaxPacketSize 0x0040 1x 64 octets
bIntervalle 1
État du périphérique: 0x0000
(Alimenté par bus)
Et Mega256:
Bus 001 Périphérique 014: ID 2341: 0042
Descripteur de périphérique:
bLongueur 18
bDescriptorType 1
bcdUSB 1.10
Communications avec 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
Descripteur de configuration:
bLongueur 9
bDescriptorType 2
wTotalLength 62
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Auto-alimenté
MaxPower 100mA
Descripteur d'interface:
bLongueur 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
Résumé bInterfaceSubClass 2 (modem)
Commandes AT bInterfaceProtocol 1 (v.25ter)
iInterface 0
En-tête CDC:
bcdCDC 10.01
CDC ACM:
bmCapabilities 0x06
envoie une pause
codage de ligne et état série
Union CDC:
bMasterInterface 0
bSlaveInterface 1
Descripteur de point final:
bLongueur 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Type de transfert interrompu
Type de synchronisation Aucun
Données de type d'utilisation
wMaxPacketSize 0x0008 1x 8 octets
bInterval 255
Descripteur d'interface:
bLongueur 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Inutilisé
bInterfaceProtocol 0
iInterface 0
Descripteur de point final:
bLongueur 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Type de transfert en vrac
Type de synchronisation Aucun
Données de type d'utilisation
wMaxPacketSize 0x0040 1x 64 octets
bIntervalle 1
Descripteur de point final:
bLongueur 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Type de transfert en vrac
Type de synchronisation Aucun
Données de type d'utilisation
wMaxPacketSize 0x0040 1x 64 octets
bIntervalle 1
État du périphérique: 0x0000
(Alimenté par bus)

lsusb -vvvdit?