我正在尝试在Android(API 19)上开发一个BLE应用程序,该应用程序将从Waspmote传感器读取数据。数据以广告形式发送。我的设备(带有Android 4.4的Nexus 5)检测传感器(地址和rssi),但scanRecord数组总是设置为零,我无法获取广告数据。此外,scanRecord.length始终返回62.
我正在使用this示例。
我正在使用的Waspmote是附加BLE board的1.2版本(和API 16)。我正在测试它没有任何传感器板,所以基本上它现在作为一个恒定的BLE广告商工作,没有其他功能。我已经检查过另一个Waspmote板能够获取广告数据并查看它。
Waspmote代码的部分原因在于:
uint8_t data[31];
//data assignment
aux = BLE.setAdvData(BLE_GAP_ADVERTISEMENT, data, 31);
aux = BLE.setDiscoverableMode(BLE_GAP_USER_DATA);
编辑: 我已经解决了这个问题。 Waspmote不按照标准格式化广告中的数据;它必须由程序员格式化。