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