位置导航: ESP8266库 / ESP8266WiFiMulti库 / 本页
说明
当我们使用addAP函数为ESP8266开发板存储多个WiFi网络连接信息以后,可以使用run函数尝试联网。在联网过程中,ESP8266开发板会检查当前WiFi网络环境中有无addAp函数所添加的网络信息。如果找到一个或多个已经添加的网络,则自动连接信号最强的WiFi网络。
语法
wiFiMulti.run()
参数
无
返回值
返回值为整数型,以下是返回值说明。
0 : WL_IDLE_STATUS
– 当WiFi正在状态之间切换时
1 : WL_NO_SSID_AVAIL
– 无法访问配置的SSID
3 : WL_CONNECTED
– 成功建立连接
4 : WL_CONNECT_FAILED
– 密码不正确
6 : WL_DISCONNECTED
– 模块未配置为无线终端模式
示例程序
关于本函数的具体使用方法,请参考以下代码,尤其是代码中高亮的语句部分。
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
/********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : ESP8266WiFiMulti_demo_2 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : xiaokai 日期/Date(YYYYMMDD) : 20200319 程序目的/Purpose : 用于演示ESP8266WiFiMulti库中run函数 ----------------------------------------------------------------------- 本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。 该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页: http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/esp8266-nodemcu-web-client/http-request/ ***********************************************************************/ #include "ESP8266WiFiMulti.h" ESP8266WiFiMulti WiFiMulti;//实例化ESP8266WiFiMulti对象 void setup() { Serial.begin(115200); delay(100); //通过addAp函数存储 WiFi名称 WiFi密码 WiFiMulti.addAP("taichi-maker", "12345678"); WiFiMulti.addAP("taichi-maker2", "87654321"); WiFiMulti.addAP("taichi-maker3", "13572468"); // 这三条语句通过调用函数addAP来记录3个不同的WiFi网络信息。 // 这3个WiFi网络名称分别是taichi-maker, taichi-maker2, taichi-maker3。 // 这3个网络的密码分别是123456789,87654321,13572468。 // 此处WiFi信息只是示例,请在使用时将需要连接的WiFi信息填入相应位置。 // 另外这里只存储了3个WiFi信息,您可以存储更多的WiFi信息在此处。 Serial.println(); Serial.print("Wait for WiFi... "); // 此处的wifiMulti.run()是重点。通过wifiMulti.run(),NodeMCU将会在当前 // 环境中搜索addAP函数所存储的WiFi。如果搜到多个存储的WiFi那么NodeMCU // 将会连接信号最强的那一个WiFi信号。 // 一旦连接WiFI成功,wifiMulti.run()将会返回“WL_CONNECTED”。这也是 // 此处while循环判断是否跳出循环的条件。 while(WiFiMulti.run() != WL_CONNECTED) { Serial.print("."); delay(500); } Serial.println('\n'); // WiFi连接成功后 Serial.print("Connected to "); // NodeMCU将通过串口监视器输出。 Serial.println(WiFi.SSID()); // 连接的WiFI名称 Serial.print("IP address:\t"); // 以及 Serial.println(WiFi.localIP()); // NodeMCU的IP地址 } void loop() {} |
相关内容
– addAp
位置导航: ESP8266库 / ESP8266WiFiMulti库 / 本页