esp32产生的热点IP,每次都会变化吗
时间: 2024-04-16 14:29:39 浏览: 68
ESP32产生的热点IP地址在每次连接时可能会变化。当ESP32作为热点运行时,它会为连接到它的设备分配IP地址。这些IP地址通常是由ESP32的软件堆栈动态分配的。
在每次启动ESP32时,它都会重新分配IP地址。这意味着每次你重新启动ESP32并创建热点时,它生成的热点IP地址可能会发生变化。
如果你希望ESP32的热点IP地址保持不变,你可以考虑为ESP32设置一个静态IP地址。这样,无论你重新启动ESP32多少次,它都会使用相同的IP地址作为热点IP。
要为ESP32设置静态IP地址,你可以使用`WiFi.softAPConfig()`函数。下面是一个示例代码:
```cpp
#include <WiFi.h>
const char* ssid = "ESP32_Hotspot"; // 热点的名称
const char* password = "12345678"; // 热点的密码
IPAddress ip(192, 168, 1, 1); // 设置静态IP地址
IPAddress gateway(192, 168, 1, 1); // 设置网关
IPAddress subnet(255, 255, 255, 0); // 设置子网掩码
WiFiServer server(80); // 创建WiFi服务器对象,监听端口80
void setup() {
Serial.begin(115200); // 初始化串口波特率为115200
WiFi.softAPConfig(ip, gateway, subnet); // 设置ESP32的静态IP地址、网关和子网掩码
WiFi.softAP(ssid, password); // 设置ESP32为热点模式
IPAddress IP = WiFi.softAPIP(); // 获取ESP32的IP地址
Serial.print("Hotspot IP address: ");
Serial.println(IP);
server.begin(); // 启动WiFi服务器
Serial.println("Server started");
}
void loop() {
// 程序逻辑...
}
```
在上面的代码中,我们使用`WiFi.softAPConfig()`函数设置了一个静态IP地址、网关和子网掩码。通过将这些参数传递给`WiFi.softAPConfig()`函数,我们可以确保ESP32的热点IP地址在每次启动时都保持不变。
请注意,设置静态IP地址时,你需要确保所选的IP地址不与网络中的其他设备冲突。你还可以根据自己的网络配置调整网关和子网掩码的值。
希望对你有帮助!
阅读全文