【朝花夕拾】蓝牙&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)经典蓝牙
    • 特点:大数据,高速率(最高可达2-3 Mbps),通信范围广(可达100米)。
  • 使用设备:汽车、音响、耳机等需要传输音视频数据的设备。
    (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和热点的共存能力。

相关推荐
WPG大大通3 天前
窥探QCC518x/308x系列与手机之间的蓝牙HCI记录与分析 - 手机篇
经验分享·智能手机·教程·蓝牙·大大通
byte轻骑兵6 天前
【0x003A】HCI_Write_Current_IAC_LAP命令详解
c语言·蓝牙·通信协议·hci
Jack153027682796 天前
高性能、低成本立体声音频模数转换器—— GC1808,支持掉电和时钟检测低功耗模式
单片机·嵌入式硬件·fpga开发·制造·蓝牙·家庭影院·麦克风阵列处理器
纵横驰骋的小野马6 天前
桌面应用(wails)实现对等节点通信
服务器·wails·tcp·p2p·对等节点
月光技术杂谈8 天前
Wi-Fi Direct (P2P)原理及功能介绍
wifi·p2p·wi-fi direct·p2p-go·直联
tsumikistep9 天前
【蓝牙】win11 笔记本电脑连接 hc-06
电脑·蓝牙
冻风17 天前
使用免费内网穿透(p2p)网络环境搭建小型文件管理服务器(简单操作)
服务器·网络·p2p
byte轻骑兵17 天前
【0x0014】HCI_Read_Local_Name命令详解
c语言·蓝牙·通信协议·hci
byte轻骑兵21 天前
【0x001A】HCI_Remote_Name_Request_Cancel命令详解
c语言·网络·蓝牙·通信协议·hci
睿里睿气23 天前
远场P2P穿越
网络协议·asp.net·p2p