ESP32 在arduino中保存WIFI的ssid 密码 网关 ip TCP服务器端口到结构体中并存入FLASH,开机后自动读取参数并连接至TCP服务器中
时间: 2024-03-17 10:40:41 浏览: 166
好的,我会根据你的问题来回答。首先,你可以定义一个结构体来存储WIFI的SSID、密码、网关、IP和TCP服务器端口。然后,你可以使用EEPROM库将结构体写入FLASH中。以下是一个示例代码:
```c
#include <EEPROM.h>
struct WiFiConfig {
char ssid[32];
char password[64];
IPAddress gateway;
IPAddress ip;
uint16_t port;
};
void saveWiFiConfig(WiFiConfig config) {
EEPROM.put(0, config);
EEPROM.commit();
}
WiFiConfig loadWiFiConfig() {
WiFiConfig config;
EEPROM.get(0, config);
return config;
}
```
在上面的代码中,`saveWiFiConfig`函数将结构体参数写入EEPROM中,`loadWiFiConfig`函数从EEPROM中读取结构体。你可以在`setup()`函数中调用`loadWiFiConfig`函数来加载存储的参数。
```c
void setup() {
WiFiConfig config = loadWiFiConfig();
WiFi.begin(config.ssid, config.password);
WiFi.config(config.ip, config.gateway);
// connect to TCP server using config.port
// ...
}
```
当ESP32开机后,它会自动加载保存在EEPROM中的WIFI参数并连接至TCP服务器。
阅读全文