Якщо у мене є кілька підключених Arduinos через USB до комп'ютера Linux, вони відображаються як
- / tty / ACM0
- / tty / ACM1
- / tty / ACM2
Як я можу визначити, що таке Arduino, не підключаючись до них через послідовне з'єднання ? Чи є серійний номер або унікальний ідентифікатор на Arduino?
Спасибі за ваш час.
Ситуація: Uno R3, Мега, Леонардо з / ttyACM [1,2,3]
Виведення lsusb з пристроями у зазначеному вище порядку:
... Автобус 001 Пристрій 011: ID 2341: 0043 Автобус 001 Пристрій 013: ID 2341: 8036 ... Автобус 001 Пристрій 014: ID 2341: 0042
lsusb -d постачальник: device -vvv показує для кожного
Уно
Автобус 001 Пристрій 014: ID 2341: 0042 Дескриптор пристрою: bLength 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 Дескриптор конфігурації: bLength 9 bDescriptorType 2 wTotalLength 62 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bm Розподіляє 0xc0 Самозабезпечений MaxPower 100mA Дескриптор інтерфейсу: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Анотація (модем) bInterfaceProtocol 1 AT-команди (v.25ter) iInterface 0 Заголовок CDC: bcdCDC 10.01 CDC ACM: bmCapability 0x06 відправляє перерву лінійне кодування та серійний стан Союз CDC: bMasterInterface 0 bSlaveInterface 1 Дескриптор кінцевої точки: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmРазподіляє 3 Тип переривання Переривання Тип синхронізації немає Дані про тип використання wMaxPacketSize 0x0008 1x 8 байт bІнтервал 255 Дескриптор інтерфейсу: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 10 Дані CDC bInterfaceSubClass 0 Невикористаний bInterfaceProtocol 0 iInterface 0 Дескриптор кінцевої точки: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmРазподіляє 2 Тип передачі Навальний Тип синхронізації немає Дані про тип використання wMaxPacketSize 0x0040 1x 64 байт bІнтервал 1 Дескриптор кінцевої точки: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmРазподіляє 2 Тип передачі Навальний Тип синхронізації немає Дані про тип використання wMaxPacketSize 0x0040 1x 64 байт bІнтервал 1 Статус пристрою: 0x0000 (На автобусі)
Леонардо:
Автобус 001 Пристрій 013: ID 2341: 8036 Дескриптор пристрою: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (визначено на рівні інтерфейсу) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x2341 idProduct 0x8036 bcdDevice 1.00 iManufacturer 1 ТОВ «Ардуїно» iProduct 2 Arduino Leonardo iSerial 0 bNumConfigurations 1 Дескриптор конфігурації: bLength 9 bDescriptorType 2 wTotalLength 100 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 0 bm Розподіляє 0x80 (На автобусі) MaxPower 500mA Інтерфейсна асоціація: bLength 8 bDescriptorType 11 bFirstInterface 0 bInterfaceCount 2 bFunctionClass 2 Communications bFunctionSubClass 2 Анотація (модем) bFunctionProtocol 1 AT-команди (v.25ter) iFunction 0 Дескриптор інтерфейсу: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Анотація (модем) bInterfaceProtocol 0 Немає iInterface 0 Заголовок CDC: bcdCDC 1.10 Управління викликами CDC: bmCapability 0x01 управління викликами bDataInterface 1 CDC ACM: bmCapability 0x06 відправляє перерву лінійне кодування та серійний стан Союз CDC: bMasterInterface 0 bSlaveInterface 1 Дескриптор кінцевої точки: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmРазподіляє 3 Тип переривання Переривання Тип синхронізації немає Дані про тип використання wMaxPacketSize 0x0040 1x 64 байт bІнтервал 0 Дескриптор кінцевої точки: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmРазподіляє 2 Тип передачі Навальний Тип синхронізації немає Дані про тип використання wMaxPacketSize 0x0040 1x 64 байт bІнтервал 0 Дескриптор інтерфейсу: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Пристрій людського інтерфейсу bInterfaceSubClass 0 Без підкласу bInterfaceProtocol 0 Немає iInterface 0 Дескриптор пристрою HID: bLength 9 bDescriptorType 33 bcdHID 1,01 bCountryCode 0 Не підтримується bNumDescriptors 1 bDescriptorType 34 Звіт wDescriptorLength 101 Дескриптор звіту: (довжина 101) Елемент (глобальний): сторінка використання, дані = [0x01] 1 Загальне управління робочим столом Елемент (локальний): використання, дані = [0x02] 2 Миша Елемент (головний): Збір, дані = [0x01] 1 Застосування Елемент (локальний): використання, дані = [0x01] 1 Покажчик Елемент (головний): Збір, дані = [0x00] 0 Фізичні Елемент (глобальний): ідентифікатор звіту, дані = [0x01] 1 Елемент (глобальний): сторінка використання, дані = [0x09] 9 Кнопки Елемент (локальний): мінімум використання, дані = [0x01] 1 Кнопка 1 (первинна) Елемент (локальний): максимум використання, дані = [0x03] 3 Кнопка 3 (третя частина) Елемент (Глобальний): Логічний мінімум, дані = [0x00] 0 Елемент (Глобальний): Логічний максимум, дані = [0x01] 1 Елемент (глобальний): кількість звітів, дані = [0x03] 3 Елемент (глобальний): Розмір звіту, дані = [0x01] 1 Пункт (Основний): Введення, дані = [0x02] 2 Змінна інформація Абсолютна No_Wrap лінійна Переважна_Дія No_Null_Position Недоступна бітфілд Елемент (глобальний): кількість звітів, дані = [0x01] 1 Елемент (глобальний): Розмір звіту, дані = [0x05] 5 Пункт (Основний): Введення, дані = [0x03] 3 Постійний змінний абсолютний No_Wrap лінійний Переважна_Дія No_Null_Position Недоступна бітфілд Елемент (глобальний): сторінка використання, дані = [0x01] 1 Загальне управління робочим столом Елемент (локальний): використання, дані = [0x30] 48 Напрямок-X Елемент (локальний): використання, дані = [0x31] 49 Напрямок-Y Елемент (Місцевий): Використання, дані = [0x38] 56 Колесо Елемент (Глобальний): Логічний мінімум, дані = [0x81] 129 Елемент (глобальний): логічний максимум, дані = [0x7f] 127 Елемент (глобальний): Розмір звіту, дані = [0x08] 8 Елемент (глобальний): кількість звітів, дані = [0x03] 3 Пункт (Основний): Введення, дані = [0x06] 6 Відносні дані щодо змінної No_Wrap Переважна_Дія No_Null_Position Недоступна бітфілд Елемент (головний): Кінцевий збір, дані = немає Елемент (головний): Кінцевий збір, дані = немає ...... Дескриптор кінцевої точки: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmРазподіляє 3 Тип переривання Переривання Тип синхронізації немає Дані про тип використання wMaxPacketSize 0x0040 1x 64 байт bІнтервал 1 Статус пристрою: 0x0000 (На автобусі)
І Мега256:
Автобус 001 Пристрій 014: ID 2341: 0042 Дескриптор пристрою: bLength 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 Дескриптор конфігурації: bLength 9 bDescriptorType 2 wTotalLength 62 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bm Розподіляє 0xc0 Самозабезпечений MaxPower 100mA Дескриптор інтерфейсу: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Анотація (модем) bInterfaceProtocol 1 AT-команди (v.25ter) iInterface 0 Заголовок CDC: bcdCDC 10.01 CDC ACM: bmCapability 0x06 відправляє перерву лінійне кодування та серійний стан Союз CDC: bMasterInterface 0 bSlaveInterface 1 Дескриптор кінцевої точки: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmРазподіляє 3 Тип переривання Переривання Тип синхронізації немає Дані про тип використання wMaxPacketSize 0x0008 1x 8 байт bІнтервал 255 Дескриптор інтерфейсу: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 10 Дані CDC bInterfaceSubClass 0 Невикористаний bInterfaceProtocol 0 iInterface 0 Дескриптор кінцевої точки: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmРазподіляє 2 Тип передачі Навальний Тип синхронізації немає Дані про тип використання wMaxPacketSize 0x0040 1x 64 байт bІнтервал 1 Дескриптор кінцевої точки: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmРазподіляє 2 Тип передачі Навальний Тип синхронізації немає Дані про тип використання wMaxPacketSize 0x0040 1x 64 байт bІнтервал 1 Статус пристрою: 0x0000 (На автобусі)
lsusb -vvv
каже?