完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
要在NVS(Non-Volatile Storage)中存取多组WiFi的SSID和密码,你可以按照以下步骤进行:
1. 定义一个结构体来存储WiFi信息,包括SSID和密码。例如: ```c typedef struct { char ssid[32]; char password[64]; } WiFiConfig; ``` 2. 为每组WiFi配置定义一个唯一的键。例如,你可以使用"WiFi1"、"WiFi2"等作为键名。 3. 使用`esp_err_t nvs_set_str(nvs_handle_t handle, const char* key, const char* str)`函数来存储SSID和密码。例如: ```c WiFiConfig wifiConfig1 = {"SSID1", "PASSWORD1"}; WiFiConfig wifiConfig2 = {"SSID2", "PASSWORD2"}; nvs_handle_t handle; esp_err_t ret = nvs_open("wifi_config", NVS_READWRITE, &handle); if (ret == ESP_OK) { ret = nvs_set_str(handle, "WiFi1", wifiConfig1.ssid); if (ret == ESP_OK) { ret = nvs_set_str(handle, "WiFi2", wifiConfig1.password); } // 存储第二组WiFi配置 ret = nvs_set_str(handle, "WiFi3", wifiConfig2.ssid); if (ret == ESP_OK) { ret = nvs_set_str(handle, "WiFi4", wifiConfig2.password); } } ``` 4. 使用`esp_err_t nvs_get_str(nvs_handle_t handle, const char* key, char* out_str, size_t* length)`函数来读取SSID和密码。例如: ```c char ssid[32], password[64]; nvs_get_str(handle, "WiFi1", ssid, NULL); nvs_get_str(handle, "WiFi2", password, NULL); // 读取第二组WiFi配置 nvs_get_str(handle, "WiFi3", ssid, NULL); nvs_get_str(handle, "WiFi4", password, NULL); ``` 5. 在需要的时候,使用这些存储的SSID和密码连接到相应的WiFi网络。 通过这种方式,你可以在NVS中存储多组WiFi的SSID和密码,并在需要时进行读取和使用。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
448 浏览 0 评论
971 浏览 0 评论
1695 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1349 浏览 1 评论
1246 浏览 1 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1270浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
936浏览 3评论
2368浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2555浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1063浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-8 10:36 , Processed in 0.713361 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
735
