关键词:蓝牙核心技术协议  irDA BNEP  AVDTP AVCTP

作者:xubin341719(欢迎转载,请注明作者,请尊重版权,谢谢!

)
欢迎指正错误,共同学习、共同进步!!

下载链接:Bluetooth PROFILE SPECIFICATIONS (基本涵盖全部蓝牙协议)、buletooth core 2.1-4.0 SPECIFICATION(三蓝牙版本号的核心协议v2.1\v3.0\v4.0)、蓝牙核心技术与应用 马建仓 版(蓝牙协议相关刚開始学习的人必读,开发人员參考)

蓝牙核心技术概述(一):蓝牙概述
蓝牙核心技术概述(二):蓝牙使用场景
蓝牙核心技术概述(三): 蓝牙协议规范(射频、基带链路控制、链路管理)
蓝牙核心技术概述(四):蓝牙协议规范(HCI、L2CAP、SDP、RFOCMM)
蓝牙核心技术概述(五):蓝牙协议规范(irOBEX、BNEP、AVDTP、AVCTP)

一、IrDA互操作协议
IrOBEX 红外对象交互协议,简称OBEX,使高层协议同一时候运作在蓝牙和红外的无线链路之上。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHViaW4zNDE3MTk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
主要操作指令有:连接操作、断开操作、Put操作、Get操作。

1、连接操作 ,操作码0x80

字节0

字节1、2

字节3

字节4

字节5、6

字节7~n

0x80

连接请求分组长度

OBEX版本号号

标志

client可接收最大的OBEX分组长度

可选头

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHViaW4zNDE3MTk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

字节0

字节1、2

字节3

字节4

字节5、6

字节7~n

0x80 Connect命令

7

0x10

标志

65534

可选头

连接响应

2、断开操作  操作码为0x81

3、Put操作   操作码为0x02

连接成功后。client通过Put请求向server“推送”对象,假设对象较大,Put请求能够用多个Put请求分组。

4、Get操作操作码为0x03

二、音频与电话控制协议

1、框架部分


蓝牙音频如上图协议栈所看到的:音频通过基带传输同步面向连接分组实现。没有以规范的形式给出,不是协议栈的一部分。

TCS_Binary是一种基于分组电话控制二进制编码指令集,位于L2CAP之上。实现蓝牙无绳电话、对讲机功能。
RFCOMM用于AT指令。拨号上网、蓝牙耳机、耳麦、传真通过AT发送指令控制。
2、音频部分
64kbps电信级语言质量音频流
CVSD  continuous variable slope delta 连续可变斜率增量。

PCM  pulse code modulation 。
PCM存在斜率效应。CVSD使用音节压缩算法。编码步长依据信号斜率变化自己主动调整,是如今比較好的编码方案。提高语言的抗干扰能力。
3、电话控制部分
TCS-Binary电话控制部分。

(1)、电话呼叫
呼叫控制、呼叫建立、呼叫拆除。
(2)、组管理
訪问权限请求、分布式配置、高速内部成员訪问。
三、网络封装协议  BNEP
BNEP BluetoothNetworkEncapsulation Protocol 网络封装协议。

为了使集成蓝牙技术的电脑、电话、PDA、家用电器等网络设备交换信息,须要在网络层统一数据分组。

网络封装协议将来自不同网络的数据分组又一次封装。通过L2CAP进行传输。这部分协议感觉在现实中用处不大,有很多其它简单便捷的方法去实现网络功能。

BNEP支持Ipv4、Ipv6、IPX


四、音视频分发协议AVDTP
AVDTPAudio/Video Distribution Transport Protocol音视频分发传输协议

有关A/V的协议 AVDTP音视频分发传输协议、AVCTP音视频控制传输协议、GAVDP通用音视频分发框架、A2DP高级音频分发框架、AVCRP音视频遥控框架
1、基本概念术语
流stream:流是音视频传输的数据形式,单向传输。在AVDTP中被分为媒介分组。流有句柄HS统一标识。

2、信令
AVDTP信令列表

命令

信令标识符

描写叙述

AVDTP_DISCOVER

0x01

发现设备中的流端点

AVDTP_GET_CAPABILITIES

0x02

获得流端点的信息能力

AVDTP_SET_CONFIGURATION

0x03

对SEP进行配置

AVDTP_GET_CONFIGURATION

0x04

获取SEP当前配置

AVDTP_RECONFIGURE

0x05

对SEP又一次配置

AVDTP_OPEN

0x06

成功的配置SEP后,打开流

AVDTP_START

0x07

流被打开:用于開始形成流;流暂停时:用于又一次形成流。

AVDTP_CLOSE

0x08

对SEP关闭

AVDTP_SUSPEND

0x09

请求SEP暂停

AVDTP_SECURITY_CONTROL

0x0A

设置设备内容保护、或者请求设备状况信息

AVDTP_ABORT

0x0B

中断正在建立或者传输的过程

AVDTP_GET_ALL_CAPABILITIES

AVDTP_DELAYREPORT

这部分信令。实现了蓝牙的A2DP 数据流的控制。
(1)、流的信令管理流程


(2)、get capabilities  获取支持特性

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHViaW4zNDE3MTk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

(3)、set configuration 配置音频參数

其它指令相似去上面两个的操作。
五、音视频控制传输协议AVCTP

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHViaW4zNDE3MTk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
AVCTP能够使音视频设备同一时候支持多个应用框架。每一个应用框架定义了各自对应的消息格式与应用规则。

这部分操作,在现实的应用中也有不足的地方。蓝牙传输的数据量有限,实现这些功能有一定的不足。随着科学技术的发展,蓝牙在无线通信方面的长处、缺点都凸显出来,找的合适的方向。合理的发展方向是硬道理。

蓝牙核心技术概述(五):蓝牙协议规范(irOBEX、BNEP、AVDTP、AVCTP)的更多相关文章

  1. 蓝牙核心技术概述(四):蓝牙协议规范(HCI、L2CAP、SDP、RFOCMM)(转载)

    一.主机控制接口协议  HCI 蓝牙主机-主机控模型 蓝牙软件协议栈堆的数据传输过程: 1.蓝牙控制器接口数据分组:指令分组.事件分组.数据分组(1).指令分组 如:Accpet Connection ...

  2. 蓝牙LMP概述

    LMP 全称是Link Manager Protocol,我们还是要一张图,说明LMP 在哪里? 他是在HCI 以下,baseband 以上,实现在蓝牙控制器中. 按照协议规范,我们分几个部分来分别介 ...

  3. ZT android -- 蓝牙 bluetooth (五)接电话与听音乐

    android -- 蓝牙 bluetooth (五)接电话与听音乐 分类: Android的原生应用分析 2013-07-13 20:53 2165人阅读 评论(9) 收藏 举报 蓝牙android ...

  4. 蓝牙(CoreBluetooth)-概述

    蓝牙(CoreBluetooth)-概述 通过此框架可以让你的Mac和iOS应用程序与外部蓝牙设备通信 外部设备: 就是需要通过iOS App控制器的其他设备: 例如:心率检测仪.数字温控器 蓝牙通讯 ...

  5. ios蓝牙开发(五)BabyBluetooth蓝牙库介绍

    BabyBluetooth 是一个最简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和mac osx. 特色: 基于原生CoreBluetooth框架封装的轻量级的开源库,可以帮你 ...

  6. Java核心技术第五章——1.类、超类、子类(2)

    继上一篇Java核心技术第五章——1.类.超类.子类(1) 6.重载解析 假如调用ClassName.Method(args) 1.编译器列出类ClassName所有名为Method的方法. 2.编译 ...

  7. 蓝牙baseband概述

    从蓝牙specispecification中看,基带协议主要分为8个部分来介绍的,分别是概述.物理信道.物理连接.逻辑传输.逻辑连接.封包.比特流的处理.组网行为.这里面会涉及到很多的概念,主要是在概 ...

  8. android -- 蓝牙 bluetooth (五)接电话与听音乐

    1.蓝牙耳机接听电话         这个就对应HFP(Hands-freeProfile),Free your Hand,蓝牙的初衷之一.先来看这个功能的场景,手机来电,手机与蓝牙耳机已连接,这时会 ...

  9. 蓝牙(3)如何通过蓝牙传输数据及UUID详介

    如何通过蓝牙传输数据 通过蓝牙传输数据与Socket类似.在网络中使用Socket和ServerSocket控制客户端和服务端的数据读写.而蓝牙通讯也由客户端和服务端Socket来完成.蓝牙客户端So ...

随机推荐

  1. 关于ThinkPHP中的时间自动填充

    <?php class NewsModel extends Model{ protected $_auto = array( array('time_at','mydate','1','call ...

  2. Java并发Fork-Join框架原理解析

    1.什么是Foirk/Join框架 Fork/Join框架是Java7提供用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架. 2.什么是并行流与顺 ...

  3. jquery多种方式实现输入框input输入时的onput,onpropertychange,onchange触发事件及区别

    有关inputs输入内容的事件监听,一般我们会想到下面几个关键词:onput,onpropertychange,onchange onput与onchange的一个区分 onput:该事件在 < ...

  4. 二:SQL映射文件

    二:SQL映射文件 1.SQL映射文件: (1)mapper:映射文件的根元素节点,只有一个属性namespace(命名空间) 作用:用于区分不同的mapper全局唯一 绑定dao接口即面向接口编程, ...

  5. jquery.tagsinput的使用例子,包括模糊查询后端代码

    <link rel="stylesheet" type="text/css" href="~/lib/jquery.tagsinput.jurg ...

  6. 最简单的optparse模块的用法

    optparse模块是python自带的模块,可用于处理命令行 #!/usr/bin/env python # -*- coding: utf-8 -*- """ __a ...

  7. Python argparse模块实现模拟 linux 的ls命令

    python 模拟linux的 ls 命令 sample: python custom_ls.py -alh c:/ 选项: -a ,--all 显示所有文件,包括'.'开头的隐藏文件 -l  列表显 ...

  8. Python [习题] 文件操作:目录间copy 文件

    [习题] 指定一个源文件,实现copy到目标目录.例如把/tmp/sample1.txt 拷贝到/tmp/sample2.txt原文件需要有读权限(默认rt权限),目标文件需要给写(w即可)权限. I ...

  9. LSA和pLSA的比较

    Comparison   LSA pLSA 1. Theoretical background Linear Algebra Probabilities and Statistics 2. Objec ...

  10. unity3d资源打包总结

    http://www.manew.com/blog-33734-12973.html unity 打包的时候会把下面几个文件资源打进apk或者ipa包里面 1. Asset下的所有脚本文件 2. As ...