CoreBluetooth 与非 iOS 设备的连接

Posted

技术标签:

【中文标题】CoreBluetooth 与非 iOS 设备的连接【英文标题】:CoreBluetooth connection with non iOS device 【发布时间】:2013-05-30 10:47:36 【问题描述】:

浏览文档和大多数 BTLE 和 CB *** 问题后,我已经达到了一个限制。

我正在做一个应该与 BT 4.0 设备通信的 ios 应用程序。请求数据,并接收特定数据。 该设备的文档说,例如: 要求: 数据 开始 1 "d" 读取日志命令代码 逗号 1 "," 逗号 第 1 面“l”或“r” 逗号 1 "," 逗号 图 1“0”、“1”或“2” 逗号 1 "," 逗号 结束 1 ;命令字符结束

回应: Start 1 "d" Read Log Data 命令-代码 逗号 1 "," 逗号 第 1 面“l”或“r” 逗号 1 "," 逗号 图 1“0”、“1”或“2” 逗号 1 "," 逗号 结束 1 ;命令字符结束

已经开发过相同应用程序的 android 开发人员说:“我正在使用 ASCII 将字符串转换为大字节,并将其发送到 BT 适配器”。 嗯,听起来不错。但是当我们必须使用 CoreBluetooth 时它是如何工作的呢?

至于现在我在 iPad 和 iPhone 两台设备之间建立了连接,我基本上了解它是如何工作的,但仍然不知道如何以及在哪里发送这些字节字符串。

任何提示,想法,有人经历过这样的事情吗?

【问题讨论】:

【参考方案1】:

试试这个:

[yourConnectedPeripheral writeValue:[yourString dataUsingEncoding:NSUTF8StringEncoding] forCharacteristic:theCharacteristicToWrite type:CBCharacteristicWriteWithResponse];

要编写,您必须使用 NSData,这就是为什么有 dataUsingEncoding(请注意,如果它与 Android 应用程序不同,您可以更改编码),而使用 CBCharacteristicWithResponse,您将知道它在委托方法peripheral:didWriteValueForCharacteristic:error:中正确写入了

【讨论】:

感谢您的建议,我一定会尝试的。如果可行,我接受你的回答:)

以上是关于CoreBluetooth 与非 iOS 设备的连接的主要内容,如果未能解决你的问题,请参考以下文章

使用 CoreBluetooth 通过 iOS 设备连接到 Windows 10

iOS之CoreBluetooth

在后台使用 iBeacon 或 CoreBluetooth 识别 iOS 设备

iOS 和 CoreBluetooth 需要低能耗吗?

iOS CoreBluetooth 获取唯一的外设 ID

CoreBluetooth:检测设备超出范围/连接超时