1. STA 模式下的 DHCP(客戶端角色)
ESP32 當 Station(STA) 時,它的行為就跟你的手機/筆記本連 Wi-Fi 一樣:
DHCP 客戶端 → 去路由器(DHCP 服務器)要一個 IP。
特點
啟用 DHCP(
AT+CWDHCP=1,1
)ESP32 自動向路由器申請 IP、網關、DNS。
此時你不能用
AT+CIPSTA
設置靜態 IP,設置了也會被忽略。所以說 STA 下“DHCP 與靜態 IP 互斥”。
關閉 DHCP(
AT+CWDHCP=0,1
)ESP32 不再自動申請 IP。
你必須用
AT+CIPSTA="IP","網關","掩碼"
手動配置,否則 ESP32 沒有 IP。這種模式常見于對網絡有嚴格要求的應用,比如 IoT 網關、工業設備。
典型應用
家用 Wi-Fi:大部分情況用 DHCP 自動獲取。
工業/測試環境:可能要求固定 IP,就關 DHCP 用靜態。
2. AP 模式下的 DHCP(服務器角色)
ESP32 當 Access Point(AP) 時,它就像一臺小路由器,手機/電腦通過它上網。
DHCP 服務器 → 給連上來的客戶端分配 IP。
特點
啟用 DHCP(
AT+CWDHCP=1,2
)ESP32 給接入的手機/電腦分配 IP(比如 192.168.4.2、192.168.4.3…)。
地址池和租期可以用
AT+CWDHCPS
配置。ESP32 自己的 IP(
AT+CIPAP
,默認 192.168.4.1)不受影響。
關閉 DHCP(
AT+CWDHCP=0,2
)ESP32 不再分配 IP。
手機/電腦連上后不會自動獲得 IP,需要用戶手動設置靜態 IP。
這種模式少見,一般用于和上級路由器橋接或測試場景。
典型應用
開發調試:默認開 DHCP,讓手機連上就能直接通信。
特殊網絡:關 DHCP,讓上級網絡設備(比如真實路由器)來分配 IP。
3. 核心區別總結
模式 | DHCP 角色 | 控制對象 | 啟用 DHCP 的效果 | 關閉 DHCP 的效果 |
---|---|---|---|---|
STA | 客戶端 | ESP32 自己 | 自動從路由器獲取 IP、網關、DNS;靜態 IP 被禁用 | 必須手動用 AT+CIPSTA 設置 IP |
AP | 服務器 | 連接的終端 | 給接入的手機/電腦自動分配 IP;ESP32 自己的 IP 不變 | 手機/電腦需要手動配靜態 IP |
👉 所以:
STA 下 DHCP = ESP32 向別人要 IP(客戶端),和靜態 IP 互斥。
AP 下 DHCP = ESP32 給別人分配 IP(服務器),和 ESP32 自己的靜態 IP 沒關系。