【Android系统蓝牙开发】蓝牙基础知识-蓝牙核心系统架构
什么是蓝牙?
在开启基于蓝牙Spec v5.2的学习前,我们先了解下什么是蓝牙?蓝牙在我们日常生活中又存在哪些实际应用呢?
蓝牙无线技术是一种短距离无线通信系统,其核心特性主要是以下三点:
- robustness - 鲁棒性,抗干扰能力强
- Low power consumption - 低功耗
- Low cost - 低成本
蓝牙无线通信有两种类型的系统: Basic Rate(BR) 和 Low Energy(LE).
两者都包含了: 设备发现(device discovery)、连接建立(connection establishment)、连接机制(connection mechanisms)。
对于Basic Rate系统还存在另外两种更好通信速率的选择,Enhanced Data Rate(EDR)和 Alternate Media Access Control (MAC) and Physical (PHY) layer extensions(这一项在我们的实际开发和产品中很少见到,在以后的文章就不会再讲述到AMP)。
现在我们经常会提到的传统蓝牙通常就是指的: BR/EDR
低功耗蓝牙通常就是指的:LE也就是BLE
在数据传输速率方面,Basic Rate系统理论传输速率可以达到721kb/s. 现在使用更多的Enhanced Data Rate理论上的传输速率可以达到2.1Mb/s. 而对于BLE,在协议设计和使用场景上更多是考虑低功耗,从而传输速率也会低于BR/EDR, 虽然物理层面上BLE也可以达到2Mb/s,但实际的应用和芯片设计为了更低的功耗,往往通信速率会比理论低得多,我之前用的一款叫做Ambiq Apollo 2的BLE芯片实际的传输速率也就6KB/s(48kb/s).
蓝牙的核心系统是由两部分构成: Host 和 Controllers.
Host是逻辑的实体概念,位于Host Controllers interface(HCI)之上。
Controller也是一个逻辑实体,位于Host Controllers interface 之下,
而Host Controllers interface主要是定义了Host 与 Controller之间的通信协议。
对于蓝牙核心系统的实现,Controllers部分有且只能有一个Primary Controller,可以有如下几种配置:
- 一个 BR/EDR Controller,包含Radio,Baseband,Link Manager 以及HCI(可选)
- 一个LE Controller,包含LE PHY,Link Layer以及HCI(可选)
- 将BR/EDR和LE 组合进一个Controller
如下图所示(由于很少用到AMP Controller,请忽略).
蓝牙在实际实际产品中又有哪些应用呢?
- 在智能手机中通过会基于蓝牙通信技术用于手机与TWS耳机建立连接用于用于音乐播放以及通过蓝牙协议在手机上获取耳机的信息并在手机上进行显示.
- 基于BLE Mesh,在智能家居领域的应用,如下图所示小米小爱音箱和米家LED灯泡都集成了BLE Mesh,实现了基于BLE Mesh的本地一对多控制. 相对WiFi的方式功耗更低.
未完待续!
【Android系统蓝牙开发】蓝牙基础知识-蓝牙核心系统架构相关推荐
- Android蓝牙开发(一)蓝牙模块及核心API
本文主要介绍Android蓝牙开发中基础知识:蓝牙模块及核心API. 关于蓝牙的连接及通讯功能实现,欢迎查阅下一篇文章:Android蓝牙开发(二)蓝牙消息传输实现. 蓝牙模块 从蓝牙4.0开始包含两 ...
- 【Android】蓝牙开发——BLE(低功耗蓝牙)(附完整Demo)
目录 目录 前言 一.相关概念介绍 二.实战开发 三.项目演示 四.Demo案例源码地址 五.更新记录 1.2020/12/29 :修改 setupService()中错误 2.2021/05/14 ...
- Android camera(4)---Android Camera开发之基础知识篇
Android Camera开发之基础知识篇 转自:https://blog.csdn.net/feiduclear_up/article/details/51968975#jump5 概述 Andr ...
- 【Bluetooth蓝牙开发】一、蓝牙开发入门
一.蓝牙开发入门 文章目录 一.蓝牙开发入门 1.蓝牙概念 2.蓝牙发展历程 3.蓝牙技术概述 3.1 Basic Rate(BR) 3.2 Low Energy(LE) 4.常见蓝牙架构 4.1 S ...
- 高通骁龙410C开发板基础知识
高通骁龙410C开发板基础知识 高通骁龙410C开发板是基于高通400系列处理器的第一块开发板,性能优异,方便调试.它包含先进的电源管理,WIFI 蓝牙,GPS等等,所有都集成在一张信用卡大小的PCB ...
- 移动web开发入门—基础知识、自适应布局、调试
之前没做过移动端web开发,最近接手的一个小项目是做微信公众号,需要考虑手机适配.UI给出的设计稿是一般是基于iphone手机做的(15年之后是基于ipone6),我们的UI是基于iphone6来做的 ...
- 嵌入式系统概念以及嵌入式基础知识
嵌入式系统概念以及嵌入式基础知识 \\\插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的(禾厶-亻言-手戈).最近比较闲,带做毕设,带学生参加省级以上比赛/ ...
- NT内核和驱动开发的基础知识-笔记
这是我在学习NT内核和驱动开发的基础知识时记录的一些笔记,不是连续的教程,欢迎指正错误的地方 ----------------------------------------------------- ...
- 前端开发之基础知识-HTML(一)
1.1 html概述和基本结构 html概述 HTML是 HyperText Mark-up Language 的首字母简写,意思是超文本标记语言,超文本指的是超链接,标记指的是标签,是一种用来制作网 ...
- linux的硬件系统管理,Linux 系统硬件管理的基础知识(四)
以下主要介绍我的***次安装Linux系统遭遇,以及怎么度过这个遭遇的,希望对大家有所帮助.不喜欢的可以略过.以下接<Linux 系统硬件管理的基础知识(三)>. 四.关于存储设备的不同的 ...
最新文章
- .NET平台开源项目速览(8)Expression Evaluator表达式计算组件使用
- 计算机能力操作系统试题,全国计算机一级考试操作系统论述题及答案
- fiddler和xampp安装成功后,网站打不开的原因
- linux版微信 能发表情包的,仿微信在对话框文字中插入Emoji表情包
- sqlserver 中通配符%和_的使用
- Q73:蒙特•卡罗积分(Monte Carlo Integration)
- 数据结构-算法和算法评价
- Error fetching https://gems.ruby-china.org/: 	bad response Not Found 404 (https://gems.ruby-china.or
- matlab能替代几何画板吗,比几何画板更强大的工具软件GeoGebra,数学老师值得拥有...
- phpstudy以及DVWA安装使用
- 聊聊测试工程师的核心能力模型
- 微信小游戏实战--cocos creator实现wordle游戏(七)
- JAVA-银行卡归属地查询
- javascript文字特效
- 【Android】MyTool工具界面:秒表
- SpringCloud Gateway gatewayRequestUrl is missing
- 信捷触摸屏UI模板XINJIE UI信捷触摸屏界面模板
- 赛迪顾问看好中国信息安全市场稳步发展
- python crash coures python编程从入门到实践 笔记1 python常见函数
- 计算机上的查找替换功能快速格式化,Excel 2016中使用查找替换功能应用技巧
热门文章
- 计算机配置xp系统,教你WinXP系统如何设置一台电脑两个显示器
- 计算机怎么学要记笔记,留法十全大补汤 | 学姐告诉你在法国上课如何记笔记,复习,考试!...
- Edge浏览器的书签(收藏夹)文件夹地址在哪?
- confusion_matrix
- SVD 与 LSI教程(5):LSI关键字研究与协同理论
- windows平板找回完整的电源模式,包括高性能模式
- 嘎嘎android模拟器,Ladygaga模拟器
- Quora如何在快速开发中保持高品质代码
- Rootkit技术基础(4)
- 机器学习中的小数学知识