Якщо у мене є кілька підключених 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каже?