Delphi FMX BluetoothLE - 写入特性不成功

问题描述:

我正在写一个针对Android和iOS的应用程序,它通过BLE与Adafruit Bluefruit LE UART Friend进行通信,使用北欧UART服务和TxD/RxD特性。Delphi FMX BluetoothLE - 写入特性不成功

TxGattCharact: TBluetoothGattCharacteristic; 
SelectedDevice: TBluetoothLEDevice; 

TxGattCharact.SetValueAsString(myString, True); // UTF8 required 
if BluetoothLE1.WriteCharacteristic(SelectedDevice, TxGattCharact) then 
    ... // everything just fine 
else 
    Log('Writing Characteristic denied or unsuccessfull'); 

我不得不将我的字符串拆分成最多20个字符的块作为BLE规则。 这是工作90%的时间 但是,有时,WriteCharacteristic不成功

有没有办法理解的原因和可能的行动,以防止这种情况? 在发送另一个字符串之前,可以刷新BLE缓冲区以清除所有内容吗?

在此先感谢您的帮助

我发现这篇文章对我来说似乎很有趣。但我没有得到如何实现这种同步方法 Android BLE, read and write characteristics

任何人?? 我仍然有严重的问题与数据流通过BLE

有一件事要检查的是,UART在北欧模块上启用 - 我遇到类似的问题,因为有时UART已禁用不知何故。您可以使用北欧工具箱应用程序(iOS或Android)进行检查。 在尝试写入设备之前,您可能还需要检查设备是否仍处于连接状态(请检查TBluetoothLEDevice.IsConnected属性)。