BLE特征值读写API设计有缺陷
特征值读写API是通过设备地址,服务,特征值UUID三个参数共同确定的。但是根据蓝牙协议,在BLE设备内,会出现同一个服务下,有一个以上同一UUID的特征值,现有的API就无法区分到底是哪一个特征值。更合理的做法是直接利用特征值handle来区分。
如上图所示,这是Silicon Labs Thunderboard开发板官方例程中的一个服务,具有两个相同UUID的特征值。用目前的API都只能操作第一个特征值,无法操作第二个特征值。