3、WiFi配网技术:WiFi Aware、WiFi RTT、传统WiFi扫描与连接机制
做UWB定位,第一步不是测距,而是把设备连上网。你想想看,UWB标签和基站之间要交换数据,没有WiFi或者蓝牙做桥梁,根本玩不转。这一章,我就带你看看WiFi配网的几种主流方式。
我个人习惯把WiFi配网分成三代:传统扫描连接、WiFi Aware(感知技术)、WiFi RTT(往返时间测距)。它们各有各的脾气,也各有各的坑。
3.1 传统WiFi扫描与连接机制
这是最基础的方式。设备开机,扫描周围AP,选一个信号最强的连上去。流程很简单:
- 主动扫描: 设备发Probe Request,AP回Probe Response。
- 被动扫描: 设备监听AP定期发的Beacon帧。
- 认证与关联: 交换密钥,建立连接。
我在项目中遇到过一个问题:在密集AP环境下,Probe Request满天飞,信道利用率飙升。你想想看,一个商场里几百个手机同时扫描,WiFi网络基本就瘫了。嗯,这里要注意,传统扫描的延迟通常在1-3秒,对于需要快速配网的UWB场景来说,太慢了。
| 参数 | 传统WiFi扫描 | WiFi Aware | WiFi RTT |
|---|---|---|---|
| 连接建立时间 | 1-3秒 | <1秒 | 无需连接 |
| 功耗 | 高(持续扫描) | 低(按需唤醒) | 中(单次测距) |
| 测距能力 | 无(仅RSSI) | 无 | 有(1-2米精度) |
| 适用场景 | 家庭/办公室 | 社交/发现 | 室内定位 |
3.2 WiFi Aware:低功耗设备发现
WiFi Aware,说白了就是设备之间“互相认识”但不一定“连上”。它工作在2.4/5GHz频段,通过周期性的同步帧(Sync Beacon)来发现邻居。
它的核心机制是集群(Cluster)。设备加入一个集群,然后按时间槽(Time Slot)交换数据。我建议你把它理解成一个“WiFi对讲机”——大家约好时间,轮流说话,不说话的时候就睡觉。
- 发现阶段: 设备监听Sync Beacon,获取集群信息。
- 服务发布: 设备广播自己能提供的服务(比如“我是UWB基站”)。
- 数据交换: 在约定的时间槽里交换小数据包。
为什么说它适合UWB配网?因为它不需要建立完整的TCP/IP连接。UWB标签只需要告诉基站“我在这里,给我发测距指令”,然后就可以切到UWB模式了。整个过程功耗极低,延迟在毫秒级。
3.3 WiFi RTT:精准测距的WiFi方案
WiFi RTT(IEEE 802.11mc)是WiFi联盟推出的精准测距技术。它通过测量信号往返时间(RTT)来计算距离,精度可以达到1-2米。你想想看,这比RSSI靠谱多了。
它的工作原理很简单:
- 设备发一个Fine Timing Measurement(FTM)请求。
- AP回复FTM响应,并记录时间戳。
- 设备计算往返时间,乘以光速,除以2,得到距离。
嗯,这里要注意,WiFi RTT需要AP支持802.11mc。目前大部分高端路由器(如Google Nest WiFi、TP-Link AX系列)都支持,但老旧设备不行。我在项目中踩过这个坑——客户说“我的AP支持WiFi 6,肯定支持RTT”,结果一测,根本不支持。
// WiFi RTT测距伪代码示例
// 假设设备已经连接到支持RTT的AP
// 1. 发起FTM会话
wifi_rtt_initiate_session(ap_mac);
// 2. 发送FTM请求
wifi_rtt_send_ftm_request(ap_mac, burst_size=10);
// 3. 接收FTM响应,提取时间戳
for (i = 0; i < burst_size; i++) {
t1 = get_timestamp_tx(ftm_request[i]);
t2 = get_timestamp_rx(ftm_response[i]);
t3 = get_timestamp_tx(ftm_response[i]);
t4 = get_timestamp_rx(ftm_request[i]);
// 计算RTT
rtt = (t4 - t1) - (t3 - t2);
distance = (rtt * speed_of_light) / 2;
// 滤波
if (distance > 0 && distance < 100) {
distances[i] = distance;
}
}
// 4. 取中位数作为最终距离
final_distance = median(distances);
3.4 三种技术的对比与选择
说了这么多,到底该选哪个?我个人习惯这样判断:
- 传统WiFi扫描: 适合静态设备,比如智能灯泡、插座。配网一次,用一辈子。
- WiFi Aware: 适合移动设备,比如机器人、无人机。需要快速发现和低功耗。
- WiFi RTT: 适合需要粗定位的场景,比如楼层判断、区域识别。
在UWB配网中,我建议的流程是:先用WiFi Aware发现设备,然后用WiFi RTT做粗定位,最后用UWB做精定位。这样既保证了速度,又保证了精度。
3.5 本章知识体系
下面这张图总结了三种WiFi配网技术的核心逻辑和关系。你可以把它当作一个快速参考。
这张图把三种技术的核心特性、适用场景和与UWB的关系都串起来了。你可以看到,WiFi Aware负责“找到”,WiFi RTT负责“大概在哪”,UWB负责“精确在哪”。三者配合,才能实现真正的厘米级定位。