3. WiFi配网原理:Station/AP模式、WPA2/WPA3安全协议、DHCP过程、DNS解析
这一章,我们来聊聊WiFi配网的核心原理。说白了,就是设备怎么找到网络、怎么连上去、怎么拿到地址、怎么上网。
我刚开始做物联网项目时,总觉得配网很简单——不就是输个密码吗?后来踩了不少坑才发现,这里面的门道真不少。尤其是做产品量产时,配网成功率直接决定了用户体验。
3.1 Station与AP模式:两种角色
WiFi设备有两种基本角色:AP和Station。理解这两个概念,是搞懂配网的前提。
| 角色 | 全称 | 通俗理解 | 典型设备 |
|---|---|---|---|
| AP | Access Point | WiFi热点,广播信号 | 路由器、手机热点 |
| Station | 工作站 | 连接热点的客户端 | 手机、电脑、智能插座 |
我习惯把AP比作「房东」,Station比作「租客」。房东广播「我这里有空房」,租客听到后申请入住。配网的过程,就是让一个原本没有网络的设备,先变成临时房东,再切换成租客。
配网核心流程:
- 设备上电,进入AP模式(自己开热点)
- 手机连上这个热点
- 手机把家里的WiFi SSID和密码发给设备
- 设备收到后,切换成Station模式
- 设备连接家里的路由器
嗯,这里要注意:设备在AP模式下,通常只开一个简单的HTTP服务器,用来接收配网信息。配网完成后,这个AP热点就会关闭。
3.2 WPA2与WPA3:安全协议怎么选?
WiFi安全协议,说白了就是加密方式。你输入的密码,不是直接发给路由器的,而是通过某种算法生成密钥。
目前主流的是WPA2和WPA3。我做过一个项目,客户要求必须支持WPA3,结果发现市面上很多IoT芯片的WiFi驱动还不支持……
| 特性 | WPA2 | WPA3 |
|---|---|---|
| 加密算法 | CCMP (AES) | GCMP (AES-256) |
| 握手方式 | 4次握手 | SAE (同时认证) |
| 抗暴力破解 | 弱 | 强(字典攻击无效) |
| 兼容性 | 几乎所有设备 | 较新设备 |
避坑指南:我曾经遇到过一个问题:设备连WPA2路由器没问题,但连WPA3路由器就失败。查了半天,发现是WiFi芯片的固件版本太老,不支持SAE握手。解决方案是升级固件,或者让用户把路由器降级到WPA2/WPA3混合模式。
你想想看,如果产品只支持WPA2,遇到家里用WPA3路由器的用户,配网就会失败。所以我现在做产品,都会要求WiFi模块同时支持WPA2和WPA3。
3.3 DHCP过程:设备怎么拿到IP地址?
设备连上WiFi后,第一件事就是获取IP地址。这个过程由DHCP完成。
DHCP的全称是Dynamic Host Configuration Protocol,动态主机配置协议。说白了,就是路由器给设备分配一个临时地址。
我习惯把DHCP过程分成四个步骤,也叫DORA:
- Discover(发现):设备广播「谁有IP地址给我一个?」
- Offer(提供):路由器回应「我这里有,192.168.1.100 行不行?」
- Request(请求):设备说「好的,我就要这个」
- Acknowledge(确认):路由器说「成交,这个地址归你了」
个人经验:我在调试配网时,经常用Wireshark抓包看DHCP过程。如果只看到Discover没有Offer,说明路由器没响应。常见原因:路由器DHCP池满了,或者设备MAC地址被拉黑了。
这里有个细节:DHCP获取的IP地址是有租期的。默认通常是24小时。设备重启后,会尝试续租之前的IP。如果租期过了还没续,路由器就会把IP回收。
3.4 DNS解析:域名怎么变成IP?
设备拿到IP地址后,就可以上网了。但上网通常需要访问域名,比如 api.example.com。DNS的作用就是把域名解析成IP地址。
DNS解析过程,我习惯这么理解:
- 设备问路由器:「api.example.com 的IP是多少?」
- 路由器如果缓存里有,直接返回
- 如果没有,路由器去问上级DNS服务器
- 最终拿到IP,返回给设备
配网中的DNS陷阱:
我曾经遇到一个案例:设备配网成功,也能拿到IP,但就是连不上服务器。排查发现,设备在AP模式下,DNS服务器地址被设成了自己的IP(192.168.4.1)。切换到Station模式后,DNS服务器地址没有更新,还是指向自己,导致域名解析失败。
解决方案:在切换模式时,强制重置DNS服务器地址,或者让设备重新发起DHCP请求。
3.5 整体流程:一张图看懂
下面这张图,把WiFi配网的完整流程串起来了。从设备上电到最终上网,每一步都离不开前面讲的知识点。
3.6 配网中的常见问题
做配网开发,总会遇到各种奇怪的问题。我整理了几个高频坑:
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 手机找不到设备热点 | 信道不匹配,或热点名称含特殊字符 | 固定信道,热点名称只用字母数字 |
| 配网成功但设备不上线 | DNS解析失败,或服务器地址写死 | 检查DNS配置,使用域名而非IP |
| 设备频繁掉线 | DHCP租期太短,或IP冲突 | 设置静态IP,或延长租期 |
| WPA3设备连不上 | 固件不支持SAE握手 | 升级WiFi驱动,或降级到WPA2 |
我的调试习惯:配网出问题时,先看日志。设备端打印出DHCP获取到的IP、网关、DNS,再ping一下路由器。如果ping不通,大概率是WiFi连接本身有问题。如果ping通但连不上服务器,那就是DNS或网络层的问题。
嗯,这一章的内容就到这里。配网看似简单,但每个环节都可能出问题。理解了Station/AP模式、WPA2/WPA3、DHCP和DNS,你就能快速定位问题,而不是盲目试错。