蓝牙学习笔记(一)——蓝牙相关概念和术语整理(小白版)
前言:作为一个新手小白在学习蓝牙的过程中,经常会遇到各种专业术语。得益于强大的搜索引擎,在网上不断搜集资料(搬运工┭┮﹏┭┮)整理以下内容。
单模蓝牙/双模蓝牙
我们常说的单模蓝牙是指只有一种蓝牙版本,运行一种蓝牙协议栈的模块,通常运用于BLE,简称单模。双模蓝牙是指内置两个蓝牙版本,运行两套协议栈的蓝牙模块。
蓝牙单模芯片可以和其他单模芯片或者双模芯片通信,此时双模芯片需要使用自身架构中的低功耗技术部分进行数据收发。双模蓝牙芯片也能与标准蓝牙技术芯片以及使用传统蓝牙技术的其他双模蓝牙芯片通信。
蓝牙BR/EDR | 蓝牙4.0双模 | BLE单模 |
---|---|---|
Bluetooth | Bluetooth Smart Ready | Bluetooth Smart |
SPP | SPP/Attribute Profile | Attribute Profile |
RFCOM | RFCOM/Attribute Protocol | Attribute Protocol |
L2CAP | L2CAP | L2CAP |
Link Manager | Link Manager/Link Layer | Link Layer |
BR/EDR PHY | BR/EDR PHY + LE PHY | LE PHY |
蓝牙透传
蓝牙透传是蓝牙低功耗模式中最常见的通讯方式,透传也叫串口透传,数据透明传输的问题,是一种工作方式,只对MCU的数据进行转发而不进行任何处理。
BLE中央设备和外围设备
低功耗蓝牙的应用可以分为两类:一类为中央设备而设计,用于找到外围设备并与其进行交互;另一类为外围设备进行设计,用于向中央设备上运行的应用提供相应的信息。
外围设备是低功耗蓝牙生态系统的命脉。中央设备通常会是电话、电视或者电脑,而外围设备为超低功耗实现了高度优化的定制产品,大多围绕了它们的电池、传感器、输入和输出装置来设计。
一拖二
一拖二的意思就是一个蓝牙设备可以同时和两个设备连接进行通信。比如一个蓝牙耳机如果有一拖二功能,就可以同时和两部手机进行连接(手机A和手机B)。此时既可以接A手机电话也可以接B手机电话。
对于开发蓝牙方案来说,一拖二不是同时并行通信,采用分时通信的方式。开启一拖二不是简单的将蓝牙连接个数从1改为2,本质上是分时通信冲突的解决,有很多难点需要注意:
- 状态机的复杂性
蓝牙采用状态机的模型处理连接和数据收发。一旦开启一拖二,连接个数从1变为2,状态机处理各种状态的切换复杂程度也大大增加。 - 兼容性问题
由于蓝牙协议栈框架设计,之前更多厂家设计的都是采用一拖一模式,现在到了一拖二模式,需要考虑到各种兼容性问题。 - 资源问题
开启一拖二加上更多的音频算法会需要更多的RAM,FLASH,使得本来就紧张的单片机资源更加需要精打细算。
主机模式和从机模式
BLE中进行数据通信的双方是主机和从机。
- 主设备模式
工作在主设备模式时,可以对周围设备进行搜索并选择需要连接的从设备。理论上,一个蓝牙主设备最多可以和需要的7个从设备同时进行连接通信。一个具备蓝牙通讯功能的设备可以在两个角色间切换,平时工作在从模式,等待其他主设备连接;需要时,转换为主设备模式,向其他设备发起呼叫。 - 从设备模式
工作在从机模式下的蓝牙模块只能被主机搜索,不能主动搜索。从设备和主机连接以后,也可以和主机设备进行收发数据的通信。
如果您觉得有帮助,请给我一个赞。
您的鼓励是我前进的动力(๑‾ ꇴ ‾๑)。
蓝牙学习笔记(一)——蓝牙相关概念和术语整理(小白版)相关推荐
- Timo学习笔记 :Python基础教程(第三版)第四章 当索引行不通时
第四章 当索引行不通时 Timo学习笔记 :Python基础教程(第三版)第三章 使用字符串 这是word编辑的最后一章笔记,第五章开始将直接用这个模板记录. 本章笔记很少,也很简单.很多方法可以到要 ...
- nrf51822蓝牙学习笔记三
目录 协议栈初始化 回调派发函数 蓝牙事件派发 系统事件派发 协议栈GAP入门 GAP初始化 GAP介绍 GAP软件设计分析 GAP安全模式配置 GAP连接要求 设备名称修改 连接参数的设置 连接间隔 ...
- 蓝牙学习笔记(二)——低功耗蓝牙(BLE)的体系结构
前言 :最近开始学习蓝牙相关技术,做了一些笔记整理.本次阅读参考书籍是<低功耗蓝牙开发权威指南> 低功耗蓝牙的体系结构 低功耗蓝牙体系结构主要分为三个部分:控制器.主机和应用程序.在控 ...
- nrf52832学习笔记(1)蓝牙心电例程分析
对于我这种之前完全不懂蓝牙,接触学习nordic的蓝牙感觉学起来有困难,他那api讲解文档竟然网页版的,而且链接一层又一层,网速又慢,协议栈版本又多= .= 但还是要学啊,就拿着他的例字代码看吧... ...
- CCC3.0学习笔记_蓝牙OOB配对
系列文章目录 第四章 CCC3.0数字车钥匙学习入门之蓝牙OOB配对 文章目录 系列文章目录 前言 一.蓝牙的几种配对方式 1. Numeric Comparision 2. Just Works 3 ...
- ESP32学习笔记之蓝牙HID
The Human Interface Device(HID)定义了蓝牙在人机接口设备中的协议.特征和使用规程. 典型的应用包括:蓝牙鼠标.蓝牙键盘.蓝牙游戏手柄等:该协议改编自USB HID Pro ...
- 蓝牙学习笔记之建立蓝牙连接的过程
发送广播数据包的叫广播发起者(advertisers),在广播通道接收广播数据包但没意向连接广播发起设备的叫扫描者( scanners), 需要连接到另一个设备的设备叫做 initiators,它监听 ...
- nrf51822蓝牙学习笔记一
目录 开发环境搭建 安装MDK 安装nrfSDK 安装nrfgo 建立项目 ROM,RAM设置 下载注意 硬件开发工具 SWD和JTAG 外设GPIO的使用 按键的使用.中断 RTC的使用.比较中断 ...
- nrf51822蓝牙学习笔记四
目录 UUID UUID的原理 蓝牙技术联盟UUID 供应商特定UUID UUID的设置 串口透传 初始化串口 服务的建立 双向数据传输 蓝牙遥控器的设计 nrf51822内部flash操作 flas ...
最新文章
- zabbix简单入门
- IO模式和IO多路复用
- mysql workbench ssh_通过MySQL Workbench进行SSH隧道
- 膨胀和腐蚀之外的其他形态学变换
- DOS下导入导出MySQL备份
- android 开启wifi失败,[求助]获取基站/wifi信息为空或失败
- Linux namespace之:network namespace
- 【2016年第5期】面向大规模图数据的并行图布局算法
- DataGridView,Dataset,DataTable,DataRow等使用心得
- TCP之Nagle算法延迟ACK
- 阿里java规范_阿里Java规范
- kindle自定义屏保之自定义字帖
- java可以微信qq同时登陆_多种方法同时登录QQ(pc/微信/web qq/超级qq)
- [项目管理]四象限时间管理法
- 【老九学堂】【初识C语言】C语言基本数据类型
- (3种解决思路)OSError: [Errno 22] Invalid argument:解决python爬虫中报错
- 计算机加减乘除的公式,Word表格函数公式,轻松搞定加减乘除
- php杂谈【基础篇】之_7.PHP涉及的所有英文单词
- ActiveX控件的MFC设计之旅-第12步 .
- WebLogic 10.3.1 下载地址
热门文章
- Android4.2 Input子系统
- https和http有什么区别
- msc51单片机计数器c语言,mcs51单片机计数器工作方式1 计数初值计算与定时编程举例...
- win10软件拒绝访问删不掉_谷歌工程师正在解决Windows 10防病毒软件导致谷歌浏览器不稳定问题...
- 七日掌握设计配色基础pdf_【资源分享】[七日掌握设计配色基础].日本视觉设计研究所.编.插图版...
- 我的世界之 paper和spigot 的区别 Java服务端开服
- Java的Socket编程C/S小例子
- pe怎么删除linux文件夹,PE环境下,面对无法删除的文件夹怎么办?
- 计算机应用技术 应聘职位,计算机应用技术求职简历范文
- bootstrap日期控件 只显示 年月