WiFi 基础协议:802.11 协议族与核心概念
说实话,很多做物联网的同学一开始就被 WiFi 协议吓住了。总觉得这东西太底层,跟应用层开发没关系。但我做了这么多年嵌入式,可以负责任地告诉你——配网出问题,十有八九是没搞懂基础协议。
这一章,我们就来啃啃 WiFi 的硬骨头。别怕,我会用最接地气的方式讲清楚。
802.11 协议族:WiFi 的“家谱”
WiFi 的标准其实叫 IEEE 802.11。你手机上的 WiFi 图标,背后就是这一整套协议在支撑。
802.11 协议族经历了多次迭代,我整理了一张表,方便你对照:
| 标准 | 频段 | 最大速率 | 发布年份 |
|---|---|---|---|
| 802.11b | 2.4 GHz | 11 Mbps | 1999 |
| 802.11g | 2.4 GHz | 54 Mbps | 2003 |
| 802.11n | 2.4 / 5 GHz | 600 Mbps | 2009 |
| 802.11ac | 5 GHz | 6.9 Gbps | 2013 |
| 802.11ax (WiFi 6) | 2.4 / 5 / 6 GHz | 9.6 Gbps | 2019 |
我个人习惯把 802.11n 看作一个分水岭。它之前是“能用”,它之后是“好用”。为什么?因为 MIMO(多天线技术)就是从 n 开始普及的。
核心要点:配网时,设备通常只支持 2.4 GHz 的 802.11b/g/n。如果你强行连 5 GHz 的 ac/ax 热点,大概率会失败。这是新手最容易踩的坑。
2.4G 与 5G 频段:选哪个?
很多同学问我:“老师,2.4G 和 5G 到底有什么区别?”
说白了,就是覆盖范围和速度的取舍。
- 2.4 GHz:穿墙能力强,覆盖远。但干扰也大——微波炉、蓝牙、甚至无线鼠标都在这个频段上挤。
- 5 GHz:速度快,干扰少。但穿墙能力弱,隔一堵墙信号可能就掉一半。
我在项目中遇到过一件事:有个智能插座,配网总是超时。查了半天,发现用户手机连的是 5G WiFi,但插座只支持 2.4G。手机扫描到的 SSID 是同一个名字,但频段不对,死活连不上。
避坑指南:做 IoT 设备配网时,建议强制扫描 2.4 GHz 频段。或者像 ESP32 那样,支持混合模式,自动匹配频段。
SSID 与 BSSID:WiFi 的“名字”和“身份证”
SSID 就是你家 WiFi 的名字,比如“TP-LINK_1234”。这个大家都很熟。
但 BSSID 是什么?它是每个 AP(接入点)的 MAC 地址。你可以理解为 WiFi 的“身份证号”。
为什么要区分这两个?我举个例子:
你公司可能有 10 个 AP,都叫“Company_WiFi”。手机连的时候,SSID 一样,但 BSSID 不同。每个 AP 的 BSSID 是唯一的。配网时,设备需要知道具体连哪个 AP,光靠 SSID 是不够的。
注意:有些路由器开启了“SSID 隐藏”,这时候设备扫描不到 SSID,但 BSSID 仍然存在。配网时如果只靠 SSID 匹配,就会失败。我曾经被这个问题折腾了一整天。
信道与频宽:高速公路的车道
信道,就是 WiFi 工作的“车道”。2.4 GHz 频段被划分为 13 个信道(国内是 1-13),每个信道宽 20 MHz。
但问题来了:相邻信道是重叠的。比如信道 1、6、11 互不干扰,但信道 1 和 2 就会打架。
频宽呢?就是车道能并排跑几辆车。20 MHz 是单车道,40 MHz 是双车道,80/160 MHz 就是四车道、八车道。
| 频宽 | 2.4 GHz 可用性 | 5 GHz 可用性 | 说明 |
|---|---|---|---|
| 20 MHz | ✅ 全部信道 | ✅ 全部信道 | 最稳定,兼容性最好 |
| 40 MHz | ⚠️ 仅信道 1-7 可用 | ✅ 大部分信道 | 2.4G 下干扰大,不推荐 |
| 80 MHz | ❌ 不支持 | ✅ 部分信道 | 5G 专属,速度快 |
| 160 MHz | ❌ 不支持 | ⚠️ 信道少 | 需要 DFS 信道支持 |
嗯,这里要注意:配网时,设备通常只扫描 20 MHz 的信道。如果你把路由器强制设为 40 MHz,有些老设备可能扫不到。
Beacon 帧与 Probe 帧:WiFi 的“广播”和“问路”
这两个帧是配网的核心。我画了一张图,帮你理解它们的关系:
Beacon 帧:AP 每隔 100ms 左右广播一次,告诉周围的设备“我在这里,我叫 XX,我用什么加密”。设备被动监听就能发现 AP。
Probe 帧:设备主动发出去的“问路”请求。比如设备说“有没有叫 Home_WiFi 的 AP?”,AP 收到后回复 Probe Response。
配网时,设备通常两种方式都用。先被动听 Beacon,如果没找到目标 SSID,就主动发 Probe Request。
实战经验:我做过一个项目,设备在商场里配网特别慢。后来发现是 Beacon 帧太多(几十个 AP 同时广播),设备处理不过来。解决方案是缩短 Probe 扫描间隔,从 200ms 降到 50ms,配网时间从 30 秒缩短到 8 秒。
本章小结
这一章的内容,说白了就是 WiFi 配网的“底层语言”。你理解了 802.11 协议族、频段区别、SSID/BSSID、信道频宽、Beacon/Probe 帧,后面讲配网流程时就会轻松很多。
我个人建议:做配网开发前,先拿一个抓包工具(比如 Wireshark)看看真实的 Beacon 帧长什么样。亲眼看到,比背一百遍理论都管用。