一、硬件层:看得见的物理载体
1. 射频模块(Radio Frequency Module)
专业描述:工作在2.4GHz ISM频段,支持GFSK/π/4 DQPSK/8DPSK调制方式
功能类比:相当于人的"嘴巴"和"耳朵"
发射端:把数字信号转为无线电波(说话)
接收端:将电波还原为数字信号(听声)
2. 基带控制器(Baseband Controller)
关键技术:
时分双工(TDD):交替发送/接收数据
自适应跳频:79个信道中随机切换
生活示例:像交通警察指挥车辆交替通行,同时动态调整车道避免拥堵
3. 天线系统
设计要点:
PCB板载天线(智能手表常用)
陶瓷天线(TWS耳机主流方案)
性能影响:
天线效率>50%可实现10米传输
手机金属边框可能导致信号盲区
二、协议栈:看不见的通信规则
1. 控制器子系统(Controller Stack)
协议层 | 功能实现 | 类比说明 |
---|---|---|
物理层(PHY) | 电磁波信号生成与解析 | 摩尔斯电码发报机 |
链路层(LL) | 设备发现/连接管理/数据包封装 | 快递包裹分拣中心 |
主机控制接口(HCI) | 硬件与软件的通信桥梁 | 计算机的USB接口 |
2. 主机子系统(Host Stack)
L2CAP层
数据分片重组(最大支持65535字节)
协议复用(同时支持多个服务通道)
生活场景:把大件家具拆成零件运输,到目的地再组装
ATT/GATT
属性协议定义数据存储结构(如心率值=0x2A37)
智能手表示例:
python
复制
# 伪代码示例 if 读取UUID 0x2A37: 返回当前心率值 if 写入UUID 0x2A19: 调整报警阈值
三、核心系统架构
1. 双模架构(BR/EDR + BLE)
经典模式(BR/EDR):
持续连接(如音响系统)
功耗:约1mA(相当于LED指示灯)
低功耗模式(BLE):
事件驱动连接(如门锁)
功耗:0.01mA(相当于电子表)
2. 网络拓扑
星型网络(Piconet):
主设备:手机/电脑
从设备:耳机/鼠标/键盘
网状网络(Mesh):
mermaid
复制
graph TD A[手机] --> B[客厅灯] B --> C[卧室灯] C --> D[厨房灯] D --> A
四、软件生态:让硬件活起来
1. 配置文件(Profile)
通用配置:
GAP(Generic Access Profile):设备可见性控制
SDAP(Service Discovery Application Profile):服务发现
应用专用:
Profile名称 功能 典型设备 A2DP 高质量音频传输 蓝牙音箱 HID 人机交互设备 游戏手柄 HOGP 低功耗人机设备 智能手表表冠
2. 开发框架
嵌入式开发:
c
复制
// BLE广播示例代码 void ble_advertise() { set_advertising_data("Device: SmartLock"); set_scan_response("UUID: 0xFDAB"); start_advertising(); }
移动端开发:
Android使用BluetoothGatt类,iOS使用CoreBluetooth框架
五、安全与能耗管理
1. 安全防护体系
配对流程:
临时密钥生成(类似一次性密码本)
双向认证(设备互相确认身份)
长期密钥存储(建立信任关系)
攻击防御:
防中间人攻击:使用NFC辅助配对
防重放攻击:每个数据包包含随机数
2. 功耗优化技术
连接参数协商:
参数 音频设备 健康监测设备 连接间隔 15ms 1s 监控超时 2s 6s 电源状态:
Active模式:全功能运行(耗电大户)
Sniff模式:间歇性监听(类似打盹)
Hold模式:暂停连接(深度睡眠)
六、现实世界的系统协同
以智能家居场景为例:
门锁(BLE Peripheral):
持续广播UUID_0x1810(门锁服务)
收到手机指令后通过GPIO控制电机
手机(Central):
扫描到门锁信号强度RSSI>-70dBm
通过ATT协议写入开锁指令
中继设备(Mesh Relay):
自动转发数据包扩大覆盖范围
采用泛洪传输确保可靠性