【朝花夕拾】蓝牙&WiFi常识篇
一、蓝牙常识点
1、常见英文缩写
缩写 | 英文全称 | 释义 |
BLE | Bluetooth Low Energy |
低功耗蓝牙 |
BR | Basic Rate |
基本速率,一般说的经典蓝牙就是指BR/EDR |
EDR | Enhanced Data Rate |
增强速率,BR的增强版,一般说的经典蓝牙就是指BR/EDR |
Bluetooth SIG | Bluetooth Special Interest Group |
蓝牙技术联盟 |
HCI | Host Controller Interface |
主机控制器接口 |
GATT | Generic Attribute Profile |
通用属性配置文件 |
GAP | Generic Access Profile |
通用访问配置文件 |
HFP | Hands-free Profile |
蓝牙电话配置文件 |
A2DP | Advanced Audio Distribution Profile |
高级音频分发协议 |
PBAP | Phone Book Access Profile |
手机电话本访问协议 |
MAP | Message Access Profile |
短信访问协议 |
2、经典蓝牙
经典蓝牙包含了蓝牙的3个大的阶段:BR、EDR、BT3.0,当说到这3个名词的时候,实际上就是在说经典蓝牙。
BR:蓝牙BR是蓝牙技术的第一个开发版本,在2.4GHz ISM频段内进行数据传输。特点:低成本、低功耗,但数据传输速度相对较慢。
EDR:蓝牙EDR是蓝牙BR的增强版本。特点:数据传输速度比蓝牙BR快两到三倍。
3、BLE
BLE出现在蓝牙4.0。
(1)BLE协议栈
常见的协议栈有德州仪器 TI 的 ble-stack 和 Nordic 的 SoftDevice:
TI的CC26系列芯片协议栈结构图
Nordic的nRF52系列芯片的协议栈结构图
- 协议栈结构包含三个部分:Application、Host、Controller。
- HCI:Host Controller Interface,主机控制器接口,位于Host和Controller层中间,在分析蓝牙通信时经常需要分析HCI日志。
(2)信道
BLE一共有40个信道,频段范围从2402~2480MHZ,其中37、38、39是蓝牙广播信道,剩余的37个是数据信道,37(2402MHZ)、38(2426MHZ)、39(2480MHZ)并不是相邻的信道,这样做是为了避免广播扫描中相邻信道相互干扰。
信道及对应频率:
(3)GATT
Client:客户端可以发送请求给GATT服务端,客户端可以读(Read)/写(Write)服务端的属性(Attributes ),通过属性可以通信数据。
Server:服务端是用来存储属性(Attributes )的,每当客户端发送请求时,服务端会相应这些请求。
- 一个示例如下:手环采集了心跳信息,希望计算机读取该信息。手环充当服务端并提供信息。手机充当客户端,读取该信息。
- 在一般的主从机通信时,主机可以通过读写从机的属性,实现接收和发送数据给从机,从机可以通过发送通知的方式实现与主机的通信。因此,一般从机是作为GATT的服务端,主机作为GATT的客户端。
(4)BLE角色
- 主机(Master/Central):主机可以发起对从机的扫描连接。例如手机,通常作为BLE的主机设备从机 (Peripheral)。
- 从机(Peripheral):从机只能广播并等待主机的连接。例如智能手环,是作为BLE的从机设备。
蓝牙协议栈没有限制设备的角色范围,同一个BLE设备,可以作为主机,也可以作为从机,我们称之为主从一体,主从一体的好处是,每个BLE设备都是对等的,可以发起连接,也可以被别人连接,更加实用。
(5)BLE工作流程
- 1)广播:广播是指从机每经过一个时间间隔发送一次广播数据包,这个时间间隔称为广播间隔,这个广播动作叫做广播事件,只有当从机处于广播状态时,主机才能发现该从机。
2)扫描:扫描是主机监听从机广播数据包和发送扫描请求的过程,主机通过扫描,可以获取到从机的广播包以及扫描回应数据包,主机可以对已扫描到的从机设备发起连接请求,从而连接从机设备并通信。
3)连接
- 4)通信(Profile配置文件):
- 一般将从机具有的数据或者属性特征称之为Profile
- 从机中添加Profile配置文件(定义和存储Profile),作为GATT的Server端;主机作为GATT的Client端。
- Profile包含一个或者多个Service,每个Service又包含一个或者多个Characteristic(特征值)。主机可以发现和获取从机的Service和Characteristic,然后与之通信。Characteristic是主从通信的最小单元。每个Characteristic都有自己的 Property(属性),属性的取值有:可读 Read,可写 Write 以及Notify(通知)。通知表示从机可以主动向主机发送通知数据,这便是主从机之间两个典型的通信方式。
- 主机可主动向从机Write写入或Read读取数据,从机可主动向主机Notify通知数据
5)断开
4、蓝牙单模与双模
单模蓝牙:即只支持BLE的蓝牙设备
双模蓝牙:既支持BLE也兼容经典蓝牙的设备
(1)BLE
- 特点:低功耗,快连接,小数据,传速慢(最高为1 Mbps),通信范围短。
- 使用设备:遥控、钥匙、键盘、手环、心率计等小数据行业设备。
- 特点:大数据,高速率(最高可达2-3 Mbps),通信范围广(可达100米)。
- 使用设备:汽车、音响、耳机等需要传输音视频数据的设备。
(2)经典蓝牙
(3)经典蓝牙与BLE的对比:
5、常见的Profile
(1)PBAP:手机电话本访问协议,可以同步手机这些具有电话本功能设备上的通讯录和通话记录等信息。
4种信息来源:
- 手机中的通讯录
- 手机中的通话记录
- SIM卡中的通讯录
- SIM卡中的通话记录
2种角色:
- PSE:Phone Book Server Equipment,拥有电话本源数据的设备,作为服务端,如手机
- PCE:Phone Book Client Equipment,向PSE端请求电话本信息的设备,作为客户端,比如车载蓝牙
(2)A2DP:高级音频分配协议。传输于蓝牙ACL链路上的高质量音频,即为蓝牙音乐的媒体音频。平常使用的蓝牙耳机、蓝牙音响播放出来的音乐就是走的A2DP协议。
两种角色:
- SRC:Source,数字音频流的源,负责将源数据发送到SNK端。
- SNK:Sink,数字音频流的接收器,负责接收SRC发过来的源数据。
示例:蓝牙耳机连接手机蓝牙听音乐,那蓝牙耳机就是SNK,手机蓝牙就是SRC。
(3)HFP:蓝牙耳机连接手机蓝牙听音乐,那蓝牙耳机就是SNK,手机蓝牙就是SRC。
定义了两种角色:
- AG:Audio Gateway,音频网关。其作用是用于输入和输出,典型设备是手机。
- HF:Hands-Free unit,免提设备。作为音频网关的远程音频输入和输出机制的设备,同时还具有远程控制AG端的能力。
示例:蓝牙耳机/车载蓝牙连接手机进行通话,此时蓝牙耳机/车载蓝牙就是HF,手机端就是AG。
二、WiFi常识点
1、WiFi
Wireless Fidelity,意为无线保真,它与蓝牙技术类似,属于短距离的无线技术,使用的是2.4GHz附近的频段
2、AP/STA(热点)
(1)常见缩写及含义
缩写 | 英文全称 | 释义 |
AP |
Access Point |
无线接入点,即平时所说的热点 |
STA |
Station |
任何一个接入无线AP的设备都可以称为一个站点 |
SSID |
Service Set Identifier |
AP的服务集标识符,即我们常说的WiFi名称 |
RSSI |
Received Signal Strength Indication |
接收的站点的信号强度指示 |
BSSID |
Basic Service Set Identifier |
基本服务集标识符,即设备的MAC地址 |
ESSID |
Extended Service Set Identifier |
含义同SSID,就是AP/路由器名称。如果多个AP/路由器都叫同一个名字,就称为ESSID |
(2)角色
AP:无线接入点,是一个无线网络的创建者,是网络的中心节点,比如无线路由器就是一个AP。
STA:站点,每一个连接到无线网络中的终端都称为一个站点,比如连接到无线路由器的智能手机、电脑等。
在一个局域网中,有些设备只做AP,有些只做STA,有些既充当AP又充当STA
(3)双频
2.4G:2.4GHz频段的工作范围覆盖2.4-2.4835GHz,共划分了13个信道,每个信道频宽为20MHz。特点:频率低、波长长、穿透力强、传播距离远。由于其普及度高,应用广泛,2.4GHz频段在拥挤的无线环境中容易受到其他同频设备的干扰,如家用蓝牙设备、ZigBee协议的智能家居产品等,从而影响网络速度和稳定性。
5G:5GHz频段的工作范围覆盖5.170-5.850GHz,同样划分了13个信道,但其中部分信道(如38、46、151、159)频宽为40MHz,其余为20MHz。特点:相较于2.4GHz频段,5GHz频段频率更高、波长更短(约0.052m),在无线传输上具有显著优势。其频带宽,能够处理更大的数据量,数据传输速度快,信号稳定性强,不易受到外界干扰。然而,5GHz频段的穿透能力较弱,信号在穿越障碍物时衰减较大,覆盖范围相对较小。
根据公式v=hλ,v(电磁波传播速度)是定值,h(频率)越大,λ(波长)就越小。λ越大跨越障碍物的能力就越强,反之就越弱,所以在两者对比时,可以通过这个公式来做参考。
3、WLAN直连
(1)称呼:平时也称为WiFi直连、WiFi Direct、WiFi P2P(Peer-To-Peer)、WLAN Direct
(2)定义:WLAN 直连,最初称为Wi-Fi P2P(Peer-To-Peer),是Wi-Fi协议簇中的一个,使设备之间能够以点对点的方式轻松连接,而不再需要像点对端那样有一个中介性质的无线接入点(Access Point,如路由器等)。
(3)使用场景:其使用范围从网页浏览到文件传输,以及同时与多个设备进行通信,能够充分发挥Wi-Fi的速度优势。文件传输需要借助第三方软件来实现,如没有第三方软件会出现可以连接配对成功,但没有传输界面的情况。
(4)传输性能:在传输速度与传输距离方面比蓝牙有大幅度提升,最大传输距离可达 200 米,最大传输速度为250Mbps(近乎是蓝牙的100倍),使用2.4GHz与5GHz频段。它支持一对一,以及一对多模式。
(5)P2P架构(角色):
P2P Device:它是P2P架构中角色的实体,读者可把它当做一个Wi-Fi设备。在组建P2P Group(即P2P Network)之前,智能终端都是一个一个的P2P Device。
P2P Group Owner(GO):P2P网络建立时会产生一个Group,GO可以理解为服务端。一个Group中有且只有一个Device扮演GO角色,而其他Device来扮演GC的角色。一个GO可以支持1个或多个(即图中的1:n)GC连接。举例:建立连接传输文件的双方,发送方为GO,接收方为GC。
P2P Group Client(GC):GC可以理解为Group中的客户端。举例:建立连接传输文件的双方,发送方为GO,接收方为GC。
Legacy Client:由于GO的功能类似于AP,所以周围那些不支持P2P功能的WIFI STA也能发现并关联到GO。这些WIFI STA被称之为Legacy Clients。
P2P Group示意图:
(6)WLAN直连与热点共存问题
技术层面:从技术角度来看,WLAN直连和热点都使用Wi-Fi技术,但它们工作的模式和目的不同。因此,在理论上,它们可以在同一设备上共存。
设备实现:然而,是否能在同一设备上同时启用Wi-Fi Direct和热点,还取决于设备的硬件(比如芯片)和软件实现。一些设备可能支持这种共存,而另一些则可能不支持。
操作系统版本:Android操作系统的不同版本可能对这两种功能的支持有所不同。因此,设备的操作系统版本也可能影响Wi-Fi Direct和热点的共存能力。
【朝花夕拾】蓝牙&WiFi常识篇的更多相关文章
- 【朝花夕拾】Android性能篇之(六)Android进程管理机制
前言 Android系统与其他操作系统有个很不一样的地方,就是其他操作系统尽可能移除不再活动的进程,从而尽可能保证多的内存空间,而Android系统却是反其道而行之,尽可能保留进程.An ...
- 安卓布局修改基础常识篇之TextView属性
[天使]安卓布局修改基础常识篇之TextView属性 在修改布局xml文件时需要熟练掌握一些属性,以下是TextView也就是文本的属性:android:autoLink 是否自动链接网址或邮箱地址: ...
- 【朝花夕拾】Android性能篇之(五)Android虚拟机
前言 Android虚拟机的使用,使得android应用和Linux内核分离,这样做使得android系统更稳定可靠,比如程序中即使包含恶意代码,也不会直接影响系统文件:也提高了跨平台兼容性.在And ...
- 【朝花夕拾】Android性能篇之(一)序言及JVM
序言 笔者从事Anroid开发有些年头了,深知掌握Anroid性能优化方面的知识的必要性,这是一个程序员必须修炼的内功.在面试中,它是面试官的挚爱,在工作中,它是代码质量的拦路虎,其重要 ...
- 【朝花夕拾】Android性能篇之(三)Java内存回收
在上一篇日志([朝花夕拾]Android性能篇之(二)Java内存分配)中有讲到,JVM内存由程序计数器.虚拟机栈.本地方法栈.GC堆,方法区五个部分组成.其中GC堆是一块多线程的共享区域,它存在的作 ...
- 【朝花夕拾】Android性能篇之(七)Android跨进程通信篇
前言 只要是面试高级工程师岗位,Android跨进程通信就是最受面试官青睐的知识点之一.Android系统的运行由大量相互独立的进程相互协助来完成的,所以Android进程间通信问题,是做好Andro ...
- [iOS笔试600题]二、常识篇(共有72题)
[B]1.NSObject是一个根类,几乎所有的类都是从它派生而来.但是根类并不拥有真它类都有的alloc和init方法?[判断题] A. 正确 B. 错误 [A]2. UIResponder可以让继 ...
- 1-STM32物联网开发WIFI+GPRS(Wi-Fi入门篇)_简介
这期的教程为公开教程将用这块开发板学习WIFI(SDK) 实现哪些功能呢!无非就是那写网络功能...但是涉及的挺多 最近一直在忙方案篇的内容,所以公开版的例程耽误了,现在开始补上 我准备改变一下提供资 ...
- ESP32-DOWDQ6蓝牙&Wifi 两个可单独控制的 CPU 内核
乐鑫(Espressif Systems)研发设计IoT业内集成度最高.性能最稳定.功耗最低的无线系统级芯片. ESP32-D0WDQ6集成无线2.4 GHz Wi-Fi和蓝牙双模的单芯片方案,具有两 ...
- NB-IoT/LoRa/eMTC和蓝牙/WiFi的关系是互补还是替代?
近年来,相继出现了许多物联网技术.WiFi.蓝牙.NB-IoT.LoRa.eMTC和其他技术为IoT实践提供了一流的技术支持通讯端口.拥有这么多技术,能够互相替代吗?还是能起到互补的作用?为低功耗广域 ...
随机推荐
- MyBatisPlus——DQL编程控制——条件查询
DQL编程控制 条件查询--设置查询条件 格式一:常规格式 //方式一:按条件查询 QueryWrapper qw = new QueryWrapper(); // 10岁到30岁之间的用户 qw.g ...
- Java发展到现在,哪些技术可以放弃了?
各位好啊,我是会编程的蜗牛,作为java开发者,对于各类java开发技术.开发框架肯定是多少都要了解和知道的. 但是作为已经发展了几十年的java开发生态,各类技术层出不穷,有的新技术新框架已经对旧技 ...
- NIO实现聊天室之:一切都要从网络编程的基础开始聊起!
一.写在开头 大家好,Build哥回来啦!停更了大概2个月之久,之前有段时间去写小说去了,后来又因为公司活太多,牛马干的太投入,就拉下了博客的更新,国庆节期间,难得的闲下来,准备回归老本行啦. 大致的 ...
- 高通Perflock
高通的Perflock是Qualcomm公司开发的一项技术,用于优化设备性能和功耗管理.Perflock是一种锁定机制,允许操作系统或应用程序在需要时对处理器的性能状态进行控制,从而确保在关键任务或高 ...
- /proc/zoneinfo
root@pita2_mr813_tina35:/# cat /proc/zoneinfo Node 0, zone DMA per-node stats nr_inactive_anon 4749 ...
- document.write 和 innerHTML 的区别
a document.write 是整个页面的内容,会重写页面b innerHTML 是某个元素的内容,只有给body的innerHTML设置内容才会重写页面
- KubeSphere 社区双周报|2024.02.01-02.29
KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...
- 某制造企业基于 KubeSphere 的云原生实践
背景介绍 随着业务升级改造与软件产品专案的增多,常规的物理机和虚拟机方式逐渐暴露出一些问题: 大量服务部署在虚拟机上,资源预估和硬件浪费较大: 大量服务部署在虚拟机上,部署时间和难度较大,自动化程度较 ...
- 这些HTTP协议状态码你知道吗?
使用ASP.NET/PHP/JSP 或者javascript都会用到http的不同状态,一些常见的状态码为: 200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 1x ...
- Oracle 数据泵 定时全库备份&&删除备份文件【注意点】
一.概述 在给客户部署的数据泵备份&&删除过期备份脚本时,脚本删除部分未生效,导致存储空间占用非常大. 手动执行该删除命令时,执行成功: 最后发现需要增加 find.rm 等命令的PA ...