合肥专业做淘宝网站推广,宁波网络营销推广咨询报价,网站建设系统改版,自己用iis怎么建设网站1、简介 蓝牙技术是一种无线通信的方式#xff0c;利用特定频率的波段#xff08;2.4GHz-2.485GHz左右#xff09;#xff0c;进行电磁波传输#xff0c;总共有83.5MHz的带宽资源。
1.1、背景 蓝牙#xff08;Bluetooth#xff09;一词取自于十世纪丹麦国王哈拉尔Haral…1、简介 蓝牙技术是一种无线通信的方式利用特定频率的波段2.4GHz-2.485GHz左右进行电磁波传输总共有83.5MHz的带宽资源。
1.1、背景 蓝牙Bluetooth一词取自于十世纪丹麦国王哈拉尔HaralBluetooth。一位来自英特尔的工程师 Jim Kardach将“蓝牙”与后来的无线通讯技术标准关联在一起的。他在一次无线通讯行业会议上提议将“Bluetooth”作为无线通讯技术标准的名称。蓝牙的 LOGO 则是来自后弗萨克文的符文组合将哈拉尔国王名字的首字母 H 和 B 拼在一起成为了今天大家熟知的蓝色徽标。 蓝牙技术开始于爱立信联合在 1994 年创制的方案该方案旨在研究移动电话和其他配件间进行低功耗、低成本无线通信连接的方法。发明者希望为设备间的无线通讯创造一组统一规则标准化协议以解决用户间互不兼容的移动电子设备的通信问题1999年在爱立信联合IBM、英特尔、诺基亚及东芝公司等公司在1999 年 7 月 26 日正式公布 1.0A 版确定使用 2.4GHz 频段。从此之后蓝牙就开始了迅速发展的历程。
1.2、发展历程
版本时间PHY极限速率主要技术更新1.0A/1.0B19990.7Mbit/s最早期的蓝牙 1.0 A 和 1.0B 版存在多个问题有多家厂商指出他们的产品互不兼容。.2.0EDR20041Mbps(3Mbps with EDR) 新增的 EDREnhanced Data Rate技术通过提高多任务处理和多种蓝牙设备同时运行的能力使得蓝牙设备的传输率可达 3Mbps。蓝牙 2.0 支持双工模式可以一边进行语音通讯一边传输文档/高质素图片。同时EDR 技术通过减少工作负债循环来降低功耗由于带宽的增加蓝牙 2.0 增加了连接设备的数量。 3.0HS20091Mbps(3Mbps with EDR24Mbps over 802.11 WIFI)High Speed 可以使蓝牙调用 802.11 WiFi 用于实现高速数据传输传输率高达 24Mbps是蓝牙 2.0 的 8 倍轻松实现录像机至高清电视、PC 至 PMP、UMPC 至打印机之间的资料传输。4.0BLE20133Mbps with EDR 1Mbps LE蓝牙 4.0 是迄今为止第一个蓝牙综合协议规范将三种规格集成在一起。其中最重要的变化就是 BLEBluetooth Low Energy低功耗功能提出了低功耗蓝牙、传统蓝牙和高速蓝牙三种模式。5.020172Mbit/s LE 有效传输距离是蓝牙 4.2 的四倍 理论上可达 300 米更低的功耗低速率下保持几个uA增加了信标、MASH组网、扩展广播、 室内定位等等新的技术。 当前的蓝牙技术主要分为BR/EDRBasic Rate /Enhanced Data Rate和低耗能LE两种技术类型。其中BR/EDR型是以点对点网络拓扑结构创建一对一设备通信LE型则使用点对点一对一、广播一对多和网格多对多等多种网络拓扑结构。 低功耗蓝牙不能向后兼容原有的蓝牙协议经典蓝牙协议,所以它们之间是不能互通的。蓝牙4.0规范允许设备同时支持经典与低功耗蓝牙协议。
2、工作方式
广播模式、主从模式、主从一体模式、扫描模式、透传模式、AT指令模式
3、分类蓝牙规范
在介绍蓝牙协议之前我们可以先复习一下TCP/IP5层网络模型和它所对应的网络协议集 可能不同应用的只需要关注在不同层次上的网络协议就可以满足日常工作使用了像应用开发的程序猿一般只关注应用层的协议httphttps等等网络的程序猿可能只需要关注TCP协议、IP协议以及ARP协议等WiFi的程序猿主要focus在802.11协议上。但蓝牙技术不同它并不处于TCP/IP5层模型中的任何一层而是覆盖了整个5层TCP/IP模型。有了这个概念之后让我们来看看下图 在图中我们可以看到蓝牙的架构分为Host和Controller两个模块。在开发过程中我们一般把蓝牙的架构分为这两个模块 Host主要是各种业务场景需求的实现 Controller部分主要负责的是蓝牙报文的收发以及蓝牙物理连接的管理这些基本功能 通常绝大部分的开发工作都是在Host端进行Controller部分的工作大都是由专门的蓝牙芯片厂商来负责Host和Controller分模块的最初设计理念是想让这两个模块单独运行在两颗不同的芯片甚至系统上之间通过硬件通信端口(串口USB)使用HCI协议进行连接和通信这样可以方便替换和升级例如对于不带蓝牙功能的电脑我们可以买一个USB蓝牙接收器插到电脑上就可以支持了蓝牙功能这个场景下HOST模块就是运行在电脑系统上Controller模块就是运行在USB蓝牙接收器上。现在虽然有不少芯片把Host和Controller模块都放在了一颗芯片上但是基本还是遵循这样的层次结构只是将HCI协议从硬件通信端口换成了软件端口。 从应用场景来说蓝牙规范针对了我们日常生活中会碰到的非常多的场景分别定义了不同的场景规范(Profile)来支持这些场景下的需求
在图中我们可以看见 HFP(Hands Free Profile)来支持蓝牙耳机通话场景 SPP(Serial Port Profile)用于串口传输 OPP(Object Push Profile)用于设备之间的文件传输场景 A2DP(Advanced Audio Distribution Profile)用于蓝牙耳机收听音乐场景 AVRCP(A/V Remote Control Profile)用于蓝牙耳机音乐播放控制场景 PAN(Personal Area Networking Profile)可以让手机作为蓝牙热点提供上网服务 HOGP(HID Over GATT Profile)低功耗蓝牙鼠标键盘充一次电可以用三个月到半年。 蓝牙其实还有其他的像打印(Basic Printing Profile)心率(Heart Rate Profile)寻物(Find Me Profile)等等一系列场景规范(Profile)来支持不同的应用场景 传统蓝牙和低功耗蓝牙虽然都是蓝牙技术但两种之间有非常大的差别一个简单的区分就是看版本版本低于4.0的都是经典蓝牙高于4.0的才能支持低功耗蓝牙。在这里我们简单介绍一下两种蓝牙技术的概念
3.1传统蓝牙 泛指支持蓝牙协议在4.0以下的模块一般用于数据量比较大的传输如语音、音乐等较高数据量传输。 经典蓝牙模块可再细分为传统蓝牙模块和高速蓝牙模块。传统蓝牙模块在2004年推出主要代表是支持蓝牙2.1协议的模块在智能手机爆发的时期得到广泛支持。高速蓝牙模块在2009年推出速率提高到约24Mbps是传统蓝牙模块的八倍可以轻松用于录像机至高清电视、PC至PMP、UMPC至打印机之间的资料传输。
3.1.1、协议架构
蓝牙协议规定了两个层次的协议分别为蓝牙核心协议Bluetooth Core和蓝牙应用层协议Bluetooth Application
蓝牙核心协议 Bluetooth Core由两部分组成Host和Controller。这两部分在不同的蓝牙技术中承担角色略有不同但大致的功能是相同的。Controller负责定义RF、Baseband等偏硬件的规范并在这之上抽象出用于通信的逻辑链路Logical LinkHost负责在逻辑链路的基础上进行更为友好的封装这样就可以屏蔽掉蓝牙技术的细节让Bluetooth Application更为方便的使用。 在一个系统中Host只有一个但Controller可以一个也可以有多个。一个常见的例子是蓝牙耳机与手机之间的通信。在这种情况下手机充当蓝牙主设备Host负责管理整个蓝牙连接。手机内部可能搭载了一个或多个蓝牙控制器Controller用来处理和管理蓝牙信号的发送和接收。当用户使用蓝牙耳机时手机会与蓝牙耳机进行配对并建立连接。手机作为主设备发送音频数据到蓝牙耳机而蓝牙耳机的控制器接收并处理这些数据然后将音频播放出来。在这个例子中手机是唯一的主设备Host但可能搭载一个或多个蓝牙控制器Controller以实现音频数据的传输和处理。 蓝牙应用层协议 定义了蓝牙设备之间进行数据传输和通信所需的协议和规范。 蓝牙应用层协议包括多个子协议其中最常用的是串口配置协议SPP、对象交换协议OPP、电话簿访问协议PBAP、音频/视频远程控制协议AVRCP等。 SPP协议用于在蓝牙设备之间建立虚拟串口通信可以实现数据的双向传输。 OPP协议用于在蓝牙设备之间进行对象如照片、音乐等的传输和共享。 PBAP协议用于在蓝牙设备之间共享电话簿数据方便用户在蓝牙设备上查看和管理联系人信息。 AVRCP协议用于在蓝牙设备之间进行音频/视频播放控制例如播放、暂停、下一曲等操作。 除了上述常用的应用层协议外蓝牙还支持一些其他的应用层协议如蓝牙打印协议BPP、蓝牙键盘协议HID等这些协议都为不同类型的蓝牙设备之间的通信和数据传输提供了标准化的解决方案。通过应用层协议蓝牙设备可以实现各种不同类型的功能和应用为用户提供更加便利和丰富的蓝牙体验。 SPEC中蓝牙协议分为四个层次物理层Physical Layer、逻辑层Logical Layer、L2CAP Layer和应用层APP Layer 3.1.1.1、物理层 物理层负责提供数据传输的物理信道蓝牙的物理层分为Physical Channel和Physical Links两个子层。一个通信系统中通常存在多种类型的物理信道BR/EDR、LE和 AMP 在物理层的实现就较大的差异。
相同点 BR/EDR、LE和AMP的RF都使用2.4GHz频段频率范围是2.400-2.4835 GHz。 不同点
分类频率信道备注BR/EDR经典蓝牙分成79个channel每一个channel占用1M的带宽5种物理信道跳频信道LE低功耗蓝牙分成40个channel每一个channel占用2M的带宽2种物理信道AMP高速数据传输直接采用802.11WIFI的PHY规范一个AMP Physical Channel 3.1.1.2、逻辑层 主要功能是在已连接的蓝牙设备之间基于物理链路建立逻辑信道。所谓的逻辑信道和城市道路上的车道类似一条城市单行道路可以看做一个物理链路该物理链路根据行车用途可以划分为多个逻辑信道如直行车道、右转车道、左转车道、快速车道、慢速车道等等。如图 AMP ACL基于AMP技术的、面前连接的、异步传输链路为AMP-U提供服务BR/EDR ACL基于BR/EDR技术的ACL链路为ACL-C、ACL-U提供服务SCO/eSCO基于BR/EDR技术的、面向连接的、同步传输链路为stream类型的Logical Link提供服务ASB、PSB基于BR/EDR技术的、面向连接的广播传输链路为ACL-U、PSB-U、PSB-C提供服务CSB基于BR/EDR技术的、无连接的广播链路为PBD提供服务。LE ACL基于LE技术的、面前连接的、异步传输链路为LE-U、LE-C提供服务ADVB基于LE技术的、广告/广播链路为ADVB-U、ADVB-C提供服务
3.1.1.3、L2CAP
L2CAP是逻辑链路控制和适配协议Logical Link Control and Adaptation Protocol的缩写负责管理逻辑层提供的逻辑链路。基于该协议不同Application可共享同一个逻辑链路类似TCP/IP中端口port的概念。通过L2CAP层可以将ACL数据分组交换为便于高层应用的数据分组格式并提供协议复用和服务质量交换等功能。L2CAP提供多路复用角色允许许多不同的应用程序共享ACL-UASB-ULE-U或AMP-U逻辑链接。通过协议多路复用、分段重组操作和组概念,向高层提供面向连接的和无连接的数据服务,L2CAP还屏蔽了低层传输协议中的很多特性使得高层协议应用开发人员可以不必了解基层协议而进行开发。 3.1.1.4、应用层
基于L2CAP提供的channel实现各种各样的应用功能。。Profile是蓝牙协议的特有概念为了实现不同平台下的不同设备的互联互通蓝牙协议不止规定了核心规范称作Bluetooth core也为各种不同的应用场景定义了各种Application规范这些应用层规范称作蓝牙profile。更新一下图 核心规范 Core Specifications定义了蓝牙技术最核心的内容。覆盖了从物理层一直到传输层的内容。Protocol规范 Protocol Specfications在核心规范之上针对某一大类场景(例如音视频传输线缆通信传输网络通信传输)的数据通信需求来定义的传输协议属于应用层协议只在经典蓝牙中存在。Profile规范 包含经典蓝牙的Traditional Profile Specifications和低功耗蓝牙的GATT Specifications。这类规范是针对某一个特定场景需求(例如听音乐打电话)来对核心规范和protocol做出更细化的定义和对这些协议无法满足的一些细化需求做了补充协议。蓝牙mesh规范 Mesh Networking Specifications这是蓝牙最新的mesh规范。只使用了低功耗蓝牙的 3.1.2、代码待更新 待更新 3.2低功耗蓝牙 指支持蓝牙协议4.0或更高的模块也称为BLE模块最大的特点是成本和功耗的降低应用于实时性要求比较高的产品中比如智能家居类蓝牙锁、蓝牙灯、传感设备的数据发送血压计、温度传感器、消费类电子电子烟、遥控玩具等。
3.2.1、协议架构
BLE的协议可分为Bluetooth Application和Bluetooth Core两大部分Bluetooth Core又包含BLE Controller和BLE Host两部分在传统蓝牙的协议架构的时候讲过。Bluetooth Application主要调用API实现上层功能本质上来说不属于协议层重点了解GAP、ATT、Link Layer其它有个简单认识即可 PS:传统蓝牙和低功耗蓝牙区别
PS.1、Controler端 在经典蓝牙的定义里将这83.5MHz总共分为80个频道每个频道是1MHz带宽蓝牙连接管理是用连接管理协议(Link Manager Protocol LMP)。低功耗蓝牙里空中只有40个频道每个频道是2MHz带宽连接管理使用的是连接层(Link Layer)空中数据包的结构也完全不同。我们可以看到Controler部分的功能完全是两个独立的路径也就是说经典蓝牙和低功耗蓝牙的controller可以独立存在互相不依赖所以目前市面上有只支持经典蓝牙的芯片也有只支持低功耗蓝牙芯片当然也有两种蓝牙模式共存的芯片。 PS.2、Host端 在经典蓝牙协议里在逻辑链路控制与适配协议层(Logical Link Control and Adaptation Protocol L2CAP)之上还根据不同的应用场景定义了不同的传输协议例如RFCOM AVDTPAVCTP在不同的传输协议之上才定义了不同的Profile层次结构比较复杂开发人员学习成本高。 低功耗蓝牙就比较简单只定义了一个属性协议(Attribute Protocol ATT)基于属性协议定义了一个通用属性场景规范(Generic Attribute Profile GATT)和其他的针对特定业务的场景规范(Profile)开发起来比较简单整体框架也比较容易实现私有场景的开发。 PS.3、应用和功耗 应用区别 BLE低功耗蓝牙一般多用在蓝牙数据模块拥有极低的运行和待机功耗使用一粒纽扣电池可连续工作数年之久 BT经典蓝牙模块多用在蓝牙音频模块音频需要大码流的数据传输更适合使用。 在功耗上 传统蓝牙有3个级别的功耗class1、class2、class3分别支持100m、10m、1m的传输距离 低功耗蓝牙没有功耗级别一般发送功率在7dbm。低功耗BLE5.0模块可支持蓝牙Mesh技术。 3.3蓝牙Mesh待更新 待更新 参考资料
三张图带你入门蓝牙规范
Bluetooth 蓝牙介绍(一) 基础知识 蓝牙
深入浅出讲解低功耗蓝牙(BLE)协议栈