微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法使用 Xamarin 在蓝牙 LE 数据包中设置命令标志?

如何解决有没有办法使用 Xamarin 在蓝牙 LE 数据包中设置命令标志?

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

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

enter image description here

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

enter image description here

我没有找到任何关于在 Android 或 Xamarin 中的属性协议中设置命令标志的信息。有没有办法在向我的 BT 设备写入数据时设置此标志?

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。