一、ESP32 WiFi模式
首先我们需要了解ESP32的WIFI模式。
一)、基础模式定义
-
STA模式(Station)
- 设备作为客户端连接现有WiFi网络(如路由器),获取IP地址后可与互联网通信
- 适用场景:需要访问外网的物联网设备(如气象站上传数据到云端)
-
AP模式(Access Point)
- 设备自建WiFi热点供其他设备连接,形成本地网络
- 默认IP地址为
192.168.4.1,客户端分配192.168.4.x段地址 - 适用场景:无路由器的局域网控制(如智能家居设备本地配置)
-
STA+AP混合模式
- 同时运行STA和AP接口,实现内外网双通道通信
- 典型应用:物联网网关(本地控制+云端同步)
二)、模式特性对比
| 特性 | STA模式 | AP模式 |
|---|---|---|
| 网络角色 | 客户端 | 服务器 |
| IP获取方式 | DHCP动态分配 | 固定IP(手动设置) |
| 最大连接数 | 仅连接1个AP | 支持最多4个客户端 |
| 典型功耗 | 低(仅接收数据) | 较高(需广播热点) |
| 代码初始化 | network.WLAN(network.STA_IF) |
network.WLAN(network.AP_IF) |
三)、MicroPython实现代码
1、STA模式
import network
sta = network.WLAN(network.STA_IF)
sta.active(True) # 激活STA接口
sta.connect("HomeWiFi", "password123") # 连接目标网络
print("STA IP:", sta.ifconfig()[0]) # 输出动态分配的IP
2、AP模式
ap = network.WLAN(network.AP_IF)
ap.config(
essid="ESP32-AP",
password="ap_password",
authmode=network.AUTH_WPA2_PSK # 强制加密
)
ap.active(True) # 激活AP接口
ap.ifconfig(('192.168.4.1', '255.255.255.0', '192.168.4.1', '8.8.8.8')) # 固定IP
authmode可设置为:
network.AUTH_OPEN(无密码)network.AUTH_WEP(已过时)network.AUTH_WPA_PSK或AUTH_WPA2_PSK(推荐)
默认情况下,AP会自动分配IP(如192.168.4.x),也可通过ap.ifconfig()自定义。
3、混合模式
# 同时激活两个接口
sta.active(True)
ap.active(True)
# 分别配置参数(互不影响)
sta.connect("OfficeWiFi", "company123")
ap.config(essid="ESP32-Gateway", password="gateway888")
混合模式下需确保STA和AP使用不同信道(避免干扰) ,后面我们会详细讲解如何设置信道。
四)、模式选择指南
-
STA模式
- 需访问互联网资源
- 设备部署在已有WiFi覆盖环境
-
AP模式
- 无可用路由器时的设备直连场景
- 需要本地快速配置参数(如Web配网界面)
-
混合模式
- 需要同时支持本地控制与云端同步
- 实现网络数据中继(如ESP32作为IoT网关)
二、WIFI信道设置
1、STA模式指定信道连接
import network
sta = network.WLAN(network.STA_IF)
sta.active(True)
sta.connect("HomeWiFi", "password", bssid=b'\xaa\xbb\xcc\xdd\xee\xff', channel=6) # 指定MAC和信道
&nb
MicroPython开发ESP32之WIFI配网与灯珠控制

最低0.47元/天 解锁文章
3760

被折叠的 条评论
为什么被折叠?



