Bluetooth 除GATT以外的蓝牙低能量(BLE)协议

Bluetooth 除GATT以外的蓝牙低能量(BLE)协议,bluetooth,bluetooth-lowenergy,Bluetooth,Bluetooth Lowenergy,在BLE(单模芯片)下,除了GATT之外,还有其他更适合于高吞吐量任务的方法或协议吗? 据我所知,我的问题的答案是否定的,但我希望得到一些验证和澄清 我想实现的服务不仅仅是通过BLE操纵(短)特性。这些服务可能包括文件传输、音频流,基本上还包括以前版本的蓝牙标准服务 一个方便的解决方案是使用文件传输配置文件(通过GOEP)或类似文件传输。对于音频,A2DP似乎是合适的。然而,这些似乎不可能使用BLE 在阅读了bluetooth.org(特别是第3卷)的核心规范v4之后,我似乎可以(通过配置文件

在BLE(单模芯片)下,除了GATT之外,还有其他更适合于高吞吐量任务的方法或协议吗?

据我所知,我的问题的答案是否定的,但我希望得到一些验证和澄清


我想实现的服务不仅仅是通过BLE操纵(短)特性。这些服务可能包括文件传输、音频流,基本上还包括以前版本的蓝牙标准服务

一个方便的解决方案是使用文件传输配置文件(通过GOEP)或类似文件传输。对于音频,A2DP似乎是合适的。然而,这些似乎不可能使用BLE

在阅读了bluetooth.org(特别是第3卷)的核心规范v4之后,我似乎可以(通过配置文件)使用和调整用于此类目的的唯一适用协议是GATT,它似乎非常难以使用

此外,根据数据,有效吞吐量似乎较低:

物理层数据速率为1 Mbps,而最大应用层吞吐量为 等于236.7 kbps

但是(当通过GATT使用TI CC254x测量实际性能时):

。。。在上述条件下,我们测量到的最大应用层吞吐量为58.48 kbps。这 低结果可以用以下两个事实来解释:(i)然而,在理论上,多达11个这样的事实 通知可以在7.5毫秒的连接事件内传输,但仅发送四个通知 如上所述,每个连接事件允许;(ii)我们观察到不到四个 在实验过程中,大多数连接事件实际上都会发送通知(但是 对于大于7.5 ms的连接间隔,出现相同现象的频率较低)。这些 观察表明,高吞吐量并不是BLE设计的主要目标 评价中使用的实施


我知道上面的文字是针对TI芯片上的实现的,但这些限制也可能适用于GATT以外的其他实现。

如果你是SIG成员,请查阅bluetooth.org的技术规格部分,如果你正在编写自己的配置文件,然后,您可以通过打开L2CAP通道并以任何格式发送数据来做任何您想做的事情,而无需执行GATT。L2CAP将使您获得最大吞吐量,并适合于流式数据而不是读取特性

请看我们已经做了很长时间的工作:IPv6 over BTLE,它仍然是6LoWPAN工作组中的一个IETF草案,该提案已经在Bleutoth SIG中获得批准。以下是蓝牙技术更新的新闻:2013年2月19日

IPv6超低能新工作方案获批准

蓝牙SIG提交的IPv6 Over LE新工作提案(NWP) 成员获得批准。本NWP建议允许IPv6通过 低能耗运输将实现新的使用案例(在家庭和工业中 自动化和智能计量)不包括在GATT文件中。 建议的工作符合互联网规定的要求 工程任务组(IETF)以及在 智能对象IP(IPSO)联盟。互联网工作组 将根据 批准的数值预报。如果您是应用程序成员并希望参与 关于FRD的开发过程,请联系互联网工作组 主席


我查看了增强功能(),没有发现任何与此情况相关的LE建议。你能说得更具体一点吗?L2CAP面向连接的通道在最新的BT4.1规范中,类似于经典蓝牙的L2CAP_PSM,“LE_PSM”被添加以处理不同通道上的可变高层协议,这对于在LE上实现L2CAP CoC(也称为面向连接的通道)功能非常有帮助,除了今天的大多数API不允许您访问L2CAP,因为官方认可的唯一通道是SMP和ATTTrue,但这是可能的。在BlueZ/Linux上,您可以向BT设备发送任意HCI命令,因此您可以完全控制。然而,对于大多数应用程序来说,所涉及的工作量并不实用。当然,在BlueZ或其他平台上,您可以访问HCI级别和L2CAP级别的访问,但这些都是少数。大多数API都提供GAP/GATT级别的访问,这就是您所能做的。Nordic Semiconductor的nRF51系列确实为您提供了L2CAP级别的API,因此这应该是可能的。L2CAP通道似乎确实可以提供所需的数据传输类型,同时避免了GATT的实施问题,如我在问题中所述。我正在使用的TI CC254x平台似乎有可能进行一些黑客攻击,因为一旦您购买了许可证,他们会为整个BLE堆栈提供完整的源代码。@scooz为了获得堆栈的源代码,我应该购买哪个许可证。我以为这是专有的。所描述的实施例包括用于在电子设备之间通信的系统。在操作期间,接收电子设备在蓝牙低能量(BTLE)协议栈的链路层中接收数据信道协议数据单元(PDU)。