14

我想将数据从 iPhone 发送到被发现并连接的蓝牙设备。我指的是教程进行连接。

我无法将数据发送到与外部附件框架连接的外部蓝牙设备。

我正在使用 iPhone5,因为它有蓝牙 4.0

4

3 回答 3

22

在 Core Bluetooth 中,您需要使用特性进行通信。在外部附件框架中没有基于标准流的 API,而且我不知道有任何开源库实现了类似的东西。

基本操作

外围 -> 中央:

  1. Central 订阅特征(带有通知或指示)
  2. 外设接收订阅的回调,因此知道中央正在监听
  3. 外设更新特性
  4. Central 收到特征更新通知

中央 -> 外围:

  1. 中央写特性
  2. 外设接收写请求更新

您可以达到的实际速度取决于各种因素。有迹象表明数据永远不会丢失(如 TCP),但通知没有这样的保证(如 UDP)。

更多信息

我建议您查看官方的核心蓝牙编程指南并专注于

部分。但最好是按原样学习整个指南。对于一个工作示例,也可以查看 Apple 的BTLE Transfer示例。

于 2013-09-26T08:06:00.977 回答
5

如果我理解正确,您希望中​​央将数据发送到您的外围设备。

为此,您使用此方法:

[peripheral writeValue:dataPacket forCharacteristic:writeChar type:CBCharacteristicWithResponse]
于 2015-10-26T10:39:35.230 回答
1

这是一个非常引人入胜的视频,可以观看并了解 iOS 蓝牙框架中到底发生了什么。它清楚地解释了中央和外围系统可以执行哪些操作。

https://developer.apple.com/videos/play/wwdc2012-705/

于 2015-10-29T12:14:08.383 回答