BLE-HID 调试文档
BLE-HID控制抖音调试文档
本文档收录了一些ble-hid移植中的常见问题以及解决方法。
首先需要注意的是:
安卓手机跟苹果手机的hid描述符是不一样的,
安卓没有兼容性问题,但是苹果手机随着IOS系统的不同,会产生兼容性问题。
苹果手机使用该功能需要在手机中做如下设置:





常见问题:
1.调用keypage_app_key_deal_test函数发送对应的值后无法控制
这个需要结合打印分析,主要有一下几种情况:
1.1出现下图对应位置的打印

图1.1.1
图1.1.2
图1.1.3
解决方法:出现如图1.1.1中的打印说明con_handle的值为0,con_handle为ble的连接句柄。此时要检查ble是否连上,安卓的检查参考图1.1.2,可通过图标区分。IOS的检查参考图1.1.3。
默认程序的ble的连接方式,安卓可以在手机蓝牙设置界面直接连,IOS则是通过app连接。安卓在程序中默认是走SPP,所以安卓绑定app后只连上经典蓝牙,如需修改,可参考FAQ中的的修改方式。
1.2出现 “app_end_fail:XX”打印

图1.2.1
图1.2.2
解决方法:常见的错误是-93,即没使能通知导致。首先先检查打印中是否有图1.2.2中的对应打印,如果没有读hid服务,此时要先参考问题1.1排除ble未连上的可能。然后用nrf连接ble查看是否有1812服务,如果没有,此时需要重新生成一些profile。
如果有相关打印,调用resume_all_ccc_enable函数即可使能。
2. 连上hid后,苹果和部分安卓手机会出现原点,发送对应值,原点有操作,但无法实现响应的操作 此时首先检查原点的位置,如果原点覆盖在一些图标上面,则可能导致误触的情况,因为操作的实现是用原点模拟手指先按下然后再拖动的操作,要是覆盖在图标上面就可能导致点进其他页面。
图2.1.1
图2.1.2
解决方法:制作好ui后在相应的页面onchange函数中,发送相应复位原点的数组即可。图2.1.1为安卓手机的复位原点的数据,大部分手机无需复位,小部分会和苹果手机一样连上有个鼠标出来。图2.1.2为苹果手机的复位原点的数据。
每次发完操作,原点会偏移 解决方法:出现这个情况,先参考问题2中的解决方法,控制前复位一下,如果不行请联系杰理何工。
鸿蒙手机无法连接ble 存在部分鸿蒙手机无法连上ble

图4.1.1
解决方法:如图4.1.1所示,修改le_smartbox_adv.c下广播包和应答包,
HYPERLINK "https://kdocs.cn/l/cjguh68rooMI" 【金山文档】 le_smartbox_adv