weixin_57984746 2025-10-20 13:50 采纳率: 68.4%
浏览 4

蓝牙语音遥控器 蓝牙 HID

img


想请问一下上述的HID报告描述符需要发什么睡觉才能控制机顶盒,为什么我发00 00 00 81 00 00 00 00可以控制音量发01 00 00 81 00 00 00 00 就不可以控制了呢?还有发00 00 00 f1 00 00 00 00可以控制返回键,想要控制主页键需要发什么数据呢?为什么我发02 23 02 00 00 00 00 00控制不了呢?为什么加了reportid就用不了了?

img


这是同款产品他发的数据他就可以控制主页键。

  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2025-10-20 14:46
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    蓝牙 HID 报告描述符问题

    根据你的描述,似乎你遇到了蓝牙 HID 报告描述符的控制问题。HID 报告描述符是蓝牙设备用来描述其 HID 功能的数据结构。

    问题分析

    • 你可以控制音量,但不能控制其他功能(如 channel 切换等),这可能是因为你发送的 HID 报告描述符不正确。
    • 你发送的 00 00 00 81 00 00 00 00 可以控制音量,但发送的 01 00 00 81 00 00 00 00 就不能控制了,这可能是因为你发送的 HID 报告描述符的值不正确。

    解决方案

    1. 检查 HID 报告描述符的值:确保你发送的 HID 报告描述符的值正确。HID 报告描述符的值通常由设备厂商提供。
    2. 检查 HID 报告描述符的格式:确保你发送的 HID 报告描述符的格式正确。HID 报告描述符的格式通常由设备厂商提供。
    3. 检查蓝牙设备的 HID 功能:确保蓝牙设备支持 HID 功能,并且 HID 功能正确配置。

    核心代码

    // 发送 HID 报告描述符
    uint8_t hid_report_descriptor[] = {0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00};
    bt_send_hid_report_descriptor(hid_report_descriptor);
    

    注意

    • bt_send_hid_report_descriptor 是一个假设函数,实际上你需要使用蓝牙栈提供的 API 来发送 HID 报告描述符。
    • hid_report_descriptor 是一个假设数组,实际上你需要使用设备厂商提供的 HID 报告描述符值。
    评论

报告相同问题?

问题事件

  • 创建了问题 10月20日