Если у меня есть несколько Arduinos, подключенных через USB к компьютеру Linux, и они отображаются как
- / TTY / ACM0
- / TTY / ACM1
- / TTY / ACM2
Как я могу определить, какой Arduino какой, не подключаясь к ним через последовательное соединение ? Есть ли на Arduino серийный номер или уникальный идентификатор?
Спасибо за уделенное время.
Ситуация: Uno R3, Mega, Leonardo с / ttyACM [1,2,3]
Вывод lsusb с устройствами в указанном выше порядке:
... Автобус 001 Устройство 011: ID 2341: 0043 Автобус 001 Устройство 013: ID 2341: 8036 ... Автобус 001 Устройство 014: ID 2341: 0042
lsusb -d vendor: устройство показывает -vvv для каждого
Организация Объединенных Наций
Автобус 001 Устройство 014: ID 2341: 0042
Дескриптор устройства:
Длина 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
Дескриптор конфигурации:
Длина 9
bDescriptorType 2
wTotalLength 62
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Самостоятельное питание
MaxPower 100 мА
Дескриптор интерфейса:
Длина 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (модем)
AT-команды bInterfaceProtocol 1 (v.25ter)
iInterface 0
Заголовок CDC:
bcdCDC 10.01
CDC ACM:
bmCapabilities 0x06
посылает перерыв
линейное кодирование и серийный статус
CDC Union:
bMasterInterface 0
bSlaveInterface 1
Описатель конечной точки:
Длина 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Тип передачи Прерывание
Тип синхронизации Нет
Данные типа использования
wMaxPacketSize 0x0008 1x 8 байтов
bInterval 255
Дескриптор интерфейса:
Длина 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
Данные CDC bInterfaceClass 10
bInterfaceSubClass 0 Не используется
bInterfaceProtocol 0
iInterface 0
Описатель конечной точки:
Длина 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Тип передачи Массовая
Тип синхронизации Нет
Данные типа использования
wMaxPacketSize 0x0040 1x 64 байта
bInterval 1
Описатель конечной точки:
Длина 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Тип передачи Массовая
Тип синхронизации Нет
Данные типа использования
wMaxPacketSize 0x0040 1x 64 байта
bInterval 1
Состояние устройства: 0x0000
(Питание от шины)
Леонардо:
Автобус 001 Устройство 013: ID 2341: 8036
Дескриптор устройства:
Длина 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
Дескриптор конфигурации:
Длина 9
bDescriptorType 2
wTotalLength 100
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Питание от шины)
MaxPower 500 мА
Ассоциация интерфейсов:
Длина 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
Связь bFunctionClass 2
bFunctionSubClass 2 Abstract (модем)
AT-команды bFunctionProtocol 1 (v.25ter)
iFunction 0
Дескриптор интерфейса:
Длина 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (модем)
bInterfaceProtocol 0 Нет
iInterface 0
Заголовок CDC:
bcdCDC 1.10
Управление вызовами CDC:
bmCapabilities 0x01
управление звонками
bDataInterface 1
CDC ACM:
bmCapabilities 0x06
посылает перерыв
линейное кодирование и серийный статус
CDC Union:
bMasterInterface 0
bSlaveInterface 1
Описатель конечной точки:
Длина 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Тип передачи Прерывание
Тип синхронизации Нет
Данные типа использования
wMaxPacketSize 0x0040 1x 64 байта
bInterval 0
Описатель конечной точки:
Длина 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Тип передачи Массовая
Тип синхронизации Нет
Данные типа использования
wMaxPacketSize 0x0040 1x 64 байта
bInterval 0
Дескриптор интерфейса:
Длина 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 устройство интерфейса пользователя
bInterfaceSubClass 0 Нет подкласса
bInterfaceProtocol 0 Нет
iInterface 0
HID Device Descriptor:
Длина 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 Linear
Preferred_State No_Null_Position Non_Volatile Битовое поле
Элемент (глобальный): количество отчетов, данные = [0x01] 1
Элемент (глобальный): размер отчета, данные = [0x05] 5
Элемент (основной): вход, данные = [0x03] 3
Постоянная переменная Абсолютная No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Битовое поле
Элемент (глобальный): страница использования, данные = [0x01] 1
Общие элементы управления рабочим столом
Элемент (локальный): использование, данные = [0x30] 48
Направление-X
Элемент (локальный): использование, данные = [0x31] 49
Направление-Y
Элемент (локальный): использование, данные = [0x38] 56
Рулевое колесо
Элемент (глобальный): логический минимум, данные = [0x81] 129
Элемент (глобальный): логический максимум, данные = [0x7f] 127
Элемент (глобальный): размер отчета, данные = [0x08] 8
Элемент (глобальный): количество отчетов, данные = [0x03] 3
Элемент (основной): вход, данные = [0x06] 6
Относительная переменная данных No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Битовое поле
Элемент (основной): окончание сбора, данные = нет
Элемент (основной): окончание сбора, данные = нет
......
Описатель конечной точки:
Длина 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Тип передачи Прерывание
Тип синхронизации Нет
Данные типа использования
wMaxPacketSize 0x0040 1x 64 байта
bInterval 1
Состояние устройства: 0x0000
(Питание от шины)
И мега256:
Автобус 001 Устройство 014: ID 2341: 0042
Дескриптор устройства:
Длина 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
Дескриптор конфигурации:
Длина 9
bDescriptorType 2
wTotalLength 62
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Самостоятельное питание
MaxPower 100 мА
Дескриптор интерфейса:
Длина 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (модем)
AT-команды bInterfaceProtocol 1 (v.25ter)
iInterface 0
Заголовок CDC:
bcdCDC 10.01
CDC ACM:
bmCapabilities 0x06
посылает перерыв
линейное кодирование и серийный статус
CDC Union:
bMasterInterface 0
bSlaveInterface 1
Описатель конечной точки:
Длина 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Тип передачи Прерывание
Тип синхронизации Нет
Данные типа использования
wMaxPacketSize 0x0008 1x 8 байтов
bInterval 255
Дескриптор интерфейса:
Длина 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
Данные CDC bInterfaceClass 10
bInterfaceSubClass 0 Не используется
bInterfaceProtocol 0
iInterface 0
Описатель конечной точки:
Длина 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Тип передачи Массовая
Тип синхронизации Нет
Данные типа использования
wMaxPacketSize 0x0040 1x 64 байта
bInterval 1
Описатель конечной точки:
Длина 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Тип передачи Массовая
Тип синхронизации Нет
Данные типа использования
wMaxPacketSize 0x0040 1x 64 байта
bInterval 1
Состояние устройства: 0x0000
(Питание от шины)

lsusb -vvvговорит?