美文网首页
蓝牙学习-整体概览

蓝牙学习-整体概览

作者: 集韵增广 | 来源:发表于2022-04-28 16:51 被阅读0次

参考:
https://bluekitchen-gmbh.com/btstack/#protocols/#sdp-service-discovery-protocol
https://www.bluetooth.com/specifications/specs/

蓝牙协议和配置

蓝牙概念

经典蓝牙(4.0之前):Bluetooth Basic Rate、Enhanced Date Rate(BR/EDR),提供可靠的设备间无线连接方式,提供数据的高速传输能力;

低功耗蓝牙(4.0之后):Low Energy (LE),提供更快的连接能力和同时连接多个设备的能力;

Profile和Protocol的区别

无论是经典蓝牙还是低功耗蓝牙都实现了一个或多个蓝牙Profile,蓝牙Profile具体规定了如何使用一个或多个蓝牙核心协议完成一个具体的功能。如上图所示,所有蓝牙设备都需要实现GAP(Generic Access Profile,定义了如何发现设备,建立连接和断开连接的功能),为达到GAP的目标,GAP主要调用HCI(Host Controller Interface Protocol,底层API接口实现了蓝牙芯片的具体命令)。GAP还有另外一个功能就是一个蓝牙外设设备可以通过SPP(Serial Port Profile,定义了一个包含RFCOMM通道号的服务发现(SDP,Service Discovery Protocol)数据,根据此通道号后续可实现具体的通信)。通用的,每个低功耗蓝牙设备都需要实现GATT(Gereric Attribute Profile,定义在ATT(Attribute Protocol)之上提供本蓝牙设备被远端设备通过GATT服务沟通的方式)

总结:Profile是争对具体蓝牙功能的组合实现,他利用Protocol的接口实现自己的功能,有时也依赖其他Profile组合,如GAP和SPP。

蓝牙应用现状

目前最广泛的方案就是蓝牙外设设备通过SPP进行连接(Android2.0及更高)和同过GATT进行连接(Android 4.3及更高和iOS 5及更高)

蓝牙Protocol

SMP:Security Manager Protocol,提供建立授权和加密LE连接的能力;
ATT:Attribute Protocol,提供客户端读写服务端属性值的能力和服务端通知客户端属性值变更的能力;
RFCOMM:Radio Frequency Communication,提供通过L2CAP协议的串口仿真和重新组装的能力,为SPP和其他远距离通信功能如HSP,HFP,OBEX提供底层支持;
SDP:Service Discovery Protocal,提供声明服务和发现服务的方法;
BNEP:Bluetooth Network Encapsulation,提供通过标准网络协议(如TCP)传输控制命令和数据包;
AVDTP:AUDIO/VIDEO Control Transport,提供音视频控制接口,是AVRCP底层支撑;
AVCTP:AUDIO/VIDEO Distribution Transport:提供音视频分布传输接口,是A2DP底层支撑;
L2CAP:Logical Link Control and Adaptation,提供逻辑链路控制与适配协议,将ACL数据分组交换为便于高层应用的数据分组格式,并提供协议复用和服务质量交换等功能;
HCI:Host Control Interface,提供蓝牙芯片的命令接口;

蓝牙Profile

GATT:General Attribute,提供LE设备定义自己能力,属性和操作方法的功能,LE设备间可以通过GATT互相读写对方的属性以及接收对应的属性变更通知;
SPP:Serial Port Profile,提供建立虚拟串口以及两个设备通过虚拟串口建立连接的功能,需要注意虚拟串口不提供分包能力即收到的数据是按照发送顺序连续的,但不保证多个包之间是分段传输的。
HSP:Headset Profile,提供蓝牙耳机所需的具体功能,包括音频网关和耳机端
HFP:Hands-Free Profile,提供如蓝牙耳机和蓝牙车载设备接听来电和短信通知
MFi iARP2:
PBAP:Phonebook Access Profile,提供电话本的访问能力,包括访问电话本客户端和服务端;
SDAP:
PAN:Personal Area Networking,提供蓝牙设备间的蓝牙网络功能,包括:PANU(PAN User,客户端),NAP(Network Access Point,接入点),GN(Group Ad-hoc Network,自组网络)
A2DP:Advanced Audio Distribution,提供音频流通过蓝牙连接传输的功能,包括音频流发送端(如手机,mp3)和音频流播放端(如音响,耳机)
AVRCP:Audio/Video Remote Control Profile,提供音视频控制功能,通常每个设备实现两个角色,控制角色发送控制命令,如play,stop;目标角色执行命令,如执行play,stop;
HID:Human-Interface Device,提供host连接多个HID外设的功能,人机交互设备指键盘,鼠标等输入设备和温湿度传感设备等;
GAP:Generic Access Profile(Classic/LE),提供广播,发现,连接,断开远端蓝牙设备的功能;
MESH:

相关文章

  • 蓝牙学习-整体概览

    参考:https://bluekitchen-gmbh.com/btstack/#protocols/#sdp-s...

  • Spring学习(一)整体概览

    导语: Spring是一个生态系统,在Spring 4.0中, Spring框架的发布版本包括了20个不同的模块,...

  • C++学习笔记(二)--整体概览

    1. C++程序整体概览 #include //预处理指令int main( ) //函数头,括号里是...

  • 蓝牙开发系列一:流程简介

    一、整体流程 蓝牙连接的整体流程如下: 二、扫描阶段 1、扫描设备 低功耗蓝牙设备通过广播...

  • 蓝牙低功耗概览

    常见用例---在临近设备间传输少量数据。 注意:当用户使用 BLE 与其他设备配对时,用户设备上的所有应用都可以访...

  • 蓝牙协议栈概览

    HW层:蓝牙芯片层 RF(RADIO):射频层,本地蓝牙数据通过射频信号发送给空中设备,并通过射频接收来自空中的蓝...

  • BLE 概览

    BLE 概览 第一章 什么是低功耗蓝牙(Bluetooth Low Energy) 低功耗蓝牙是一项新技术,它不但...

  • 3. Micro:bit 硬件

    0. 概览 概览 开始使用 micro:bit 硬件 硬件描述nRF51 程序处理器蓝牙无线通信低级无线电通信按钮...

  • 酷狗FM产品体验报告

    目录 一、体验概览 二、整体体验 三、全局体验 3.1启动 3.2内容布局 3.3功能建议 四、结论 一、体验概览...

  • Docker的整体架构概览

    如果您最近进入了容器世界,或者已经使用了一段时间,那么了解一下Docker的底层系统及元素其实是不错的主意。 了解...

网友评论

      本文标题:蓝牙学习-整体概览

      本文链接:https://www.haomeiwen.com/subject/alldyrtx.html