`
charlotte
  • 浏览: 124370 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
目前市场上设备中运行的蓝牙协议有三个版本 —— 分别是版本 1.1、1.2 AFH 和 2.0+EDR。这没给开发人员带来任何问题,因为新版本的协议与以前的版本兼容。表 1 显示了目前可用的蓝牙版本的一些相似性与区别。

表 1. 蓝牙协议版本  版本 原始数据速率 通信范围(英尺) 说明
Bluetooth 1.1 1 Mbps 30-300 市场上部署得最广泛的蓝牙版本。
Bluetooth 1.2 AFH 1 Mbps 30-300 包含高级频率跳跃技术,可以与 WiFi 网络更好地并存。
Bluetooth 2.0+EDR 3 Mbps 30-300 包含增强数据速率技术,可以用更高的速度传输数据。

现在,让我们回顾一下控制蓝牙设备的固件/软件:栈。

蓝牙协议栈

蓝牙栈的目的是什么呢?栈是控制蓝牙设备的软件(和固件)。图 1 显示了协议栈的细节。


图 1. 蓝牙协议栈


栈的最底层是 HCI,即主机控制器接口(Host Controller Interface)。这一层顾名思义就是主机(计算机)和控制器(蓝牙设备)之间的接口。可以看到,其他所有的层都要经过 HCI。
HCI 上面的一层是 L2CAP,即逻辑链接控制器适配协议(Logical Link Controller Adaptation Protocol)。这一层充当其他所有层的数据多路复用器。
接下来一层是 BNEP,即蓝牙网络封装协议(Bluetooth Network Encapsulation Protocol)。使用 BNEP,可以在蓝牙上运行其他网络协议,例如 IP、TCP 和 UDP。
RFCOMM 称作虚拟串口协议(virtual serial port protocol),因为它允许蓝牙设备模拟串口的功能。
OBEX 协议层是在 RFCOMM 层上面实现的,如果想把数据以对象(例如文件)的形式传输,那么 OBEX 很有用。
SDP 是服务发现协议(Service Discovery Protocol)层,用于在远程蓝牙设备上寻找服务。
最后两层是 AVCTP 和 AVDTP,用于蓝牙上音频和视频的控制 和 发布。AVCTP 和 AVDTP 是蓝牙协议中增加的相对较新的层;如果想控制媒体播放器的功能或者想以立体声播放音频流,则要使用它们。
发送文件:RFCOMM 还是 OBEX?

我们先来看看栈中用来发送数据的两个简单协议 RFCOMM 和 OBEX,并比较使用它们传送文件的优势和不足。

可以采用 RFCOMM 或 OBEX 在蓝牙设备之间发送和接收文件。但是,如果想发送和接收流数据,则 RFCOMM 是更好的选择,就像使用传统的串口一样。在现实世界中,如果想使用传统的串口应用程序,并让它能使用蓝牙,就应当使用 RFCOMM。如果要在蓝牙设备之间发送简单的文本字符串(例如在聊天应用程序中),那么使用 OBEX 可能没有太大优势。在这种情况下,应当使用 RFCOMM 或 L2CAP。

另一方面,如果想发送对象数据(例如文件),则 OBEX 最合适。使用 OBEX 不仅可以发送数据,而且还能发送关于负载的上下文或元数据。例如,在使用 OBEX 发送文件时,还能够发送关于文件的其他有用信息,例如文件名称、文件类型、文件尺寸或者其他任何对文件进行描述的内容。

那么,既然已经决定了使用蓝牙时通过 OBEX 发送对象数据文件,那么我们来看看使用 Java 语言对蓝牙设备进行控制的官方库。




(转载USB数码  http://www.usbuse.com)
分享到:
评论

相关推荐

    蓝牙协议核心规范文档-中文版本

    2. 蓝牙协议栈:该部分涵盖了蓝牙协议栈的详细信息,包括蓝牙协议栈的架构、蓝牙协议栈的层次结构、蓝牙协议栈的协议等。 3. 蓝牙设备的_profile_和_service_:该部分涵盖了蓝牙设备的_profile_和_service_,包括...

    蓝牙协议栈详解

    蓝牙协议栈是实现蓝牙功能的核心组件,它包括了一系列层次化的协议,使得不同设备之间能够有效地进行通信。本文将深入探讨蓝牙协议栈的各个层面,以帮助硬件工程师和嵌入式软件工程师更好地理解和应用这项技术。 1....

    蓝牙协议详解(很适合初学者)

    蓝牙协议栈是实现这种无线通信的核心,对于初学者来说,理解其工作原理和组件至关重要。本篇文章将深入探讨蓝牙协议,帮助初学者建立起对蓝牙技术的全面认识。 蓝牙协议体系结构基于OSI模型的简化版本,主要包括...

    蓝牙协议蓝牙协议蓝牙协议(英文版)

    蓝牙协议是无线通信技术的一种,主要用于短距离、低功耗的设备之间进行数据传输。英文版的蓝牙协议文档通常包含了详细的规格定义和技术细节,对于理解蓝牙技术的工作原理和开发相关应用至关重要。虽然这里没有提供...

    Core_v5.1.zip_Core_v5_蓝牙_蓝牙 英文协议_蓝牙5.1_蓝牙协议

    《蓝牙协议5.1:开启智能连接新时代》 蓝牙技术,作为无线通信领域的重要组成部分,已经深入到我们日常生活的各个角落。随着科技的发展,蓝牙协议也在不断迭代升级,最新的Core_v5.1版本便是其中的佼佼者。本文将...

    蓝牙协议中文版 Blue Tooth Specification

    《蓝牙协议中文版 Blue Tooth Specification》是针对蓝牙开发者的重要参考资料,旨在帮助他们更深入地理解蓝牙协议的工作原理和开发规范。 蓝牙协议栈分为多个层次,包括物理层(PHY)、链路层(LL)、主机控制接口...

Global site tag (gtag.js) - Google Analytics