首页 > 解决方案 > 有没有办法使用 Xamarin 在蓝牙 LE 数据包中设置命令标志?

问题描述

我正在将 ACR 反应式 BluetoothLE 插件与 Xamarin.Forms 一起使用。我已经反转了发送到某个 BT LE 设备的工程命令。我能够成功连接设备并将数据写入设备,但在响应写入请求时收到错误消息,指出设备不允许写入。我正在使用插件的特性.write() 方法,它使用 0x12 属性协议的 OPCODE 发送写入。在我通过工作通信解码的数据包中,属性协议的 OPCODE 为 0x52,因为设置了命令标志。

-从 Android 设备 Xamarin.Forms 发送(来自设备的错误响应)-

在此处输入图像描述

-嗅探数据包的解码消息(工作通信)-

在此处输入图像描述

我无法找到有关在 Android 或 Xamarin 的属性协议中设置命令标志的任何信息。将数据写入我的 BT 设备时,是否可以设置此标志?

标签: xamarin.formsxamarin.androidbluetooth-lowenergyandroid-bluetoothbluetooth-gatt

解决方案


没有设置标志的原因是因为我发出了一个特性。写入命令。我需要调用的是characterisitc.WriteWithoutResponse() 命令。当您写入而没有响应时,它会在属性字段中设置命令标志。


推荐阅读