Я хочу использовать HID over GATT на моем ESP32 для управления пультом дистанционного управления: воспроизведение / пауза, сканирование следующего, сканирование предыдущего, отключение звука ... но это не интерпретируется таким же образом в зависимости от используемого телефона.
Карта отчета, которую я использую, очень хорошо работает с:
Планшет Huawei
Xiaomi Redmi note 5
Старый телефон Archos
Он неверно интерпретируется как:
Не работаетвообще с:
- Windows labtop: HID замечен с ошибкой
Я не тестировал на Iphone
Вот карта отчета, которую я 'm используя:
0x05, 0x0C, // Usage Pg (Consumer Devices)
0x09, 0x01, // Usage (Consumer Control)
0xA1, 0x01, // Collection (Application)
0x85, 0x01, // Report Id (1)
0x09, 0x02, // Usage (Numeric Key Pad)
0xA1, 0x02, // Collection (Logical)
0x05, 0x09, // Usage Pg (Button)
0x19, 0x01, // Usage Min (Button 1)
0x29, 0x0A, // Usage Max (Button 10)
0x15, 0x01, // Logical Min (1)
0x25, 0x0A, // Logical Max (10)
0x75, 0x04, // Report Size (4)
0x95, 0x01, // Report Count (1)
0x81, 0x00, // Input (Data, Ary, Abs)
0xC0, // End Collection
0x05, 0x0C, // Usage Pg (Consumer Devices)
0x09, 0x86, // Usage (Channel)
0x09, 0xE0, // Usage (Volume)
0x15, 0xFF, // Logical Min (-1)
0x25, 0x01, // Logical Max (1)
0x75, 0x02, // Report Size (2)
0x95, 0x02, // Report Count (2)
0x81, 0x46, // Input (Data, Var, Rel, Null)
0x09, 0xE2, // Usage (Mute)
0x09, 0x30, // Usage (Power)
0x09, 0x83, // Usage (Recall Last)
0x09, 0x81, // Usage (Assign Selection)
0x09, 0xB0, // Usage (Play)
0x09, 0xB1, // Usage (Pause)
0x09, 0xB2, // Usage (Record)
0x09, 0xB3, // Usage (Fast Forward)
0x09, 0xB4, // Usage (Rewind)
0x09, 0xB5, // Usage (Scan Next)
0x09, 0xB6, // Usage (Scan Prev)
0x09, 0xB7, // Usage (Stop)
0x15, 0x01, // Logical Min (1)
0x25, 0x0C, // Logical Max (12)
0x75, 0x04, // Report Size (4)
0x95, 0x01, // Report Count (1)
0x81, 0x00, // Input (Data, Ary, Abs)
0x09, 0x80, // Usage (Selection)
0xA1, 0x02, // Collection (Logical)
0x05, 0x09, // Usage Pg (Button)
0x19, 0x01, // Usage Min (Button 1)
0x29, 0x03, // Usage Max (Button 3)
0x15, 0x01, // Logical Min (1)
0x25, 0x03, // Logical Max (3)
0x75, 0x02, // Report Size (2)
0x95, 0x01, // Report Count (1)
0x81, 0x00, // Input (Data, Ary, Abs)
0xC0, // End Collection
0x75, 0x02, // Report Size (2)
0x95, 0x01, // Report Count (1)
0x81, 0x03, // Input (Const, Var, Abs)
0xC0, // End Collection
Вы видите какую-либо ошибку в этой карте отчетов, она основана на примере проекта HID в esp-idf.Я взглянул на таблицу использования HID: https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf и сравнил с примером, который они приводят в конце, но я не увидел ничего плохого.
Я бы хотел, чтобы мой ESP32 мог работать скак можно больше телефонов, и было бы замечательно, если бы я мог заставить его работать с моим Ubuntu и / или Windows!
Если у вас есть какие-либо идеи по поводу моей проблемы или если вы знаете, как я могу отладить ее, не делайтене стесняйтесь делиться.
С наилучшими пожеланиями,
Аурелиен