我目前有一个BLE外围设备,每100毫秒传输35个字节的数据(arduino sketch)。在我的iOS设备上,我已经使用Adafruit的iOS UART程序进行了测试,并确认iOS设备每100毫秒确实可以接收完整的35字节数据。他们使用MQTT库。
我正在使用CoreBluetooth库,在CBPeripheral的didUpdateValueForCharacteristic:方法中,characteristic.value总是20字节或更少。它通常是20个字节 - > 100毫秒 - >剩下15个字节 - > 100ms的重复...
我希望在一次传输中检索整个35个字节,但在接收端将其分解为20个字节的块,而使用MQTT的adafruit iOS库每次接收一次35个字节的整个传输100毫秒。
经过进一步研究,我注意到使用了CBPeripheralManager和didReceiveReadRequest:方法,但我相信只属于外围BLE设备,而不是我收到数据的主机iOS设备。< / p>
有没有人知道如何检索整个35字节的传输?