Delphi FMX BluetoothLE - 写入特征不成功

时间:2017-09-26 13:11:41

标签: delphi bluetooth-lowenergy firemonkey android-bluetooth ios-bluetooth

我正在编写一个针对Android和iOS的应用程序,通过BLE与使用Nordic UART服务和TxD / RxD特性的Adafruit Bluefruit LE UART Friend进行通信。

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缓冲区以清除所有内容吗?

提前感谢您的帮助

1 个答案:

答案 0 :(得分:0)

要检查的一件事是在北欧模块上启用了UART - 我遇到了与此类似的问题,因为有时UART会以某种方式被禁用。您可以使用Nordic Toolbox应用程序(适用于iOS或Android)进行检查。 在尝试写入设备之前,您可能还需要检查设备是否仍处于连接状态(请检查TBluetoothLEDevice.IsConnected属性)。