gpt4 book ai didi

ios - 使用 corebluetooth 将大型二进制字符串从 ios 应用程序传输到 BLE 设备

转载 作者:行者123 更新时间:2023-11-30 13:21:51 24 4
gpt4 key购买 nike

我想从我的 ios 应用程序(中央设备)发送大型二进制字符串到 BLE 设备(外设)。它对于小字符串工作正常,但是当我尝试发送大字符串时,它没有接收并且连接自动断开。我读到我们需要将大数据分成多个 block 来发送。但我没有找到任何相关的工作示例。

请看发送字符串的代码

let stringToSend = "0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000,0001010101010101111111111111000000@"

.

let data : NSData = stringToSend.dataUsingEncoding(NSUTF8StringEncoding)!

if positionCharacteristic != nil {

self.polarH7HRMPeripheral.writeValue(data, forCharacteristic: positionCharacteristic, type: .WithoutResponse)

self.polarH7HRMPeripheral.setNotifyValue(true, forCharacteristic: positionCharacteristic)


}

提前致谢

最佳答案

某些设备寄存器的大小受到限制。它们不能包含超过 X 个字节用于处理。假设所述 BLE 设备需要采用几个短命令格式的长命令。我们还假设所述设备也能够接收短命令。设备如何知道短命令和部分长命令之间的区别?使用指明命令类型的命令格式。例如:一条命令将包含 1 个头字节、6 个内容字节、1 个命令类型字节。部分长命令的命令类型为 11111111,最后部分为 11111110。短命令将使用 00000000 作为其命令类型。

这就是我为设备的差异命令“定义”简单协议(protocol)的方式。

我建议您在该设备的开发人员手册中查找该协议(protocol)

关于ios - 使用 corebluetooth 将大型二进制字符串从 ios 应用程序传输到 BLE 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37702623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com