ESP32Arduino学习(四).smartConfig自动WIFI配网

在ESP32上实现自动WIFI配网

#include "WiFi.h"


void setup() {
  Serial.begin(115200);
  //等待串口准备
  delay(100);
  //启动WIFI连接
  Serial.println("");
  Serial.print("Connection WIFI.");
  WiFi.begin();
  //检查连接状态
  int count = 0;
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(1000);
    Serial.print(".");
    count++;
    //连接超次数
    if (count > 10)
    {
      Serial.println("WIFI Wait for Smartconfig");
      //设置为Station模式
      WiFi.mode(WIFI_STA);
      //开始智能配网
      WiFi.beginSmartConfig();
      while (1)
      {
        //智能配网成功
        if (WiFi.smartConfigDone())
        {
          WiFi.setAutoConnect(true);  // 设置自动连接
          count = 0;
          //返回再次连接
          break;
        }
      }
    }
  }

  //连接成功,打印WIFI信息
  Serial.println("");
  Serial.println("WIFI SmartConfig Success");
  Serial.printf("SSID:%s", WiFi.SSID().c_str());
  Serial.printf(", PSW:%s\r\n", WiFi.psk().c_str());
  Serial.print("LocalIP:");
  Serial.print(WiFi.localIP());
  Serial.print(" ,GateIP:");
  Serial.println(WiFi.gatewayIP());
}
void loop() {}

上传代码后打开微信安信哥公众号,点击WIFI配置.
在这里插入图片描述

在这里插入图片描述
输入密码后连接.
在这里插入图片描述

WiFi 的配置默认是会存储在 NVS 的,什么NVS请查看*这里.*

清除信息

#include <esp_wifi.h>
esp_wifi_restore();

关于此函数的说明请查看esp_wifi.h.

/**
 * @brief  Restore WiFi stack persistent settings to default values
 * This function will reset settings made using the following APIs:
 * - esp_wifi_get_auto_connect,
 * - esp_wifi_set_protocol,
 * - esp_wifi_set_config related
 * - esp_wifi_set_mode
 *
 * @return
 *    - ESP_OK: succeed
 *    - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init

 */
esp_err_t esp_wifi_restore(void);
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值