抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

之前nodeMCU一直都要用代码进行连接WiFi的操作,但这样很不方便,如何使用电脑或手机等设备来实时扫描周围WiFi进行配网?

这里主要用到 WiFiManager库,可以去太极创客下载并加载到ArduinoIDE中。

1、清除WiFi信息

使用前要先清除掉此前连接过的WiFi信息,不然一上电nodeMCU就直接连接上之前的WiFi了

只需2个步骤:

  1. 创建WiFiManager对象

  2. 清除WiFi信息

    1
    2
    WiFiManager wifiManager;		//创建对象
    wifiManager.resetSettings(); //清除WiFi信息

完整code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <ESP8266WiFi.h>          
#include <DNSServer.h>
#include <ESP8266WebServer.h>
#include <WiFiManager.h>

void setup() {
Serial.begin(9600);
// 建立WiFiManager对象
WiFiManager wifiManager;

// 清除ESP8266所存储的WiFi连接信息以便测试WiFiManager工作效果
wifiManager.resetSettings();
Serial.println("ESP8266 WiFi Settings Cleared");
}

void loop() {}

2、WiFi配网

  1. 创建WiFiManager对象

  2. 开启接入点模式(就是在开发板上开个热点,让周围设备连接)

    1
    wifiManager.autoConnect("热点名称"[, "密码"]);
  3. 接下来就可以用手机、电脑配网

    (1)用手机(或电脑)连接开发板的热点

    (2)连接后会自动跳转到一个网页(网页地址就是开发板ip),然后手动选择让开发板连接周围WiFi

    (3)开发板连接上周围的WiFi后会自动关闭热点,连接不上就会再开启热点,重新配网

    (4)【注意1】:连接后不能主动更换为其他WiFi,除非该WiFi断开了,开发板才会再次打开热点,否则如要更换WiFi需要擦除已连接的WiFi信息

    (5)【注意2】:如果连接了校园网WiFi,但需要登录才能用,此时也不能主动断开WiFi去选择其他能用的WiFi,也需要擦除已连接的WiFi信息。

  4. 判断是否配网成功

    可以在串口监视屏打印连接上的WiFi名称

完整code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <ESP8266WiFi.h>          
#include <DNSServer.h>
#include <ESP8266WebServer.h>
#include <WiFiManager.h>

void setup() {
Serial.begin(9600);
// 建立WiFiManager对象
WiFiManager wifiManager;

// 自动连接WiFi。以下语句的参数是连接ESP8266时的WiFi名称
wifiManager.autoConnect("ESP8266-wifi");

// 如果您希望该WiFi添加密码,可以使用以下语句:
// wifiManager.autoConnect("ESP8266-wifi", "12345678");


// WiFi连接成功后将通过串口监视器输出连接成功信息
Serial.println("");
Serial.print("ESP8266 Connected to ");
Serial.println(WiFi.SSID()); // 连接上的WiFi名称
Serial.print("IP address:\t");
Serial.println(WiFi.localIP()); // IP
}

void loop() {}

image-20210811095227391

评论