Если у меня есть несколько 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
говорит?