完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好,
我正在尝试使用 SmartConfig 将 SSID 和密码共享给 NodeMCU。但是当我重置它或者它断电时,我必须重新配置它。我该怎么做才能防止这种情况发生,以便模块记住 SSID 密码,除非用户按下按钮启动重启? 代码:全选#include ; #include ; void setup() { Serial.begin(115200); delay(10); WiFi.mode(WIFI_STA); delay(500); IPAddress local_IP(192, 168, 1, 199); IPAddress gateway(192, 168, 1, 1); IPAddress subnet(255, 255, 0, 0); IPAddress primaryDNS(8, 8, 8, 8); // this is optional IPAddress secondaryDNS(8, 8, 4, 4); // this is optional // Print feedback if the settings are not configured if (!WiFi.config(local_IP, gateway, subnet, primaryDNS, secondaryDNS)) { Serial.println("STA Failed to configure"); } WiFi.beginSmartConfig(); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); Serial.println(WiFi.smartConfigDone()); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } int value = 0; void loop() { } |
|
相关推荐
1个回答
|
|
您可以在 NodeMCU 上使用 EEPROM 存储来保存 WiFi SSID 和密码。这将允许模块记住设置并在下次启动时自动连接到 WiFi 网络。 以下的示例代码可以实现此功能: 全选#include ;#include ;#include ;// 定义 EEPROM 地址const int ssidAddr = 0;const int passAddr = 32;// 定义 WiFi 连接参数char ssid[32] = "";char password[32] = "";// 函数:从 EEPROM 加载 SSID 和密码void loadCredentialsFromEEPROM() { EEPROM.begin(512); // 初始化 EEPROM for (int i = 0; i < 32; ++i) ssid[i] = EEPROM.read(ssidAddr + i); ssid[31] = ' |