位置导航: ESP8266库 / ESP8266WiFiSTA库 / 本页
说明
此函数用于启动ESP8266开发板的无线终端工作模式。
在无线终端工作模式下,ESP8266可以通过局域网或者互联网收取物联网信息或者向其它物联网设备发送控制信号。
注:如果ESP8266模块之前被设置为接入点模式(AP),我们在直接切换为无线终端模式的时候,使用ESP8266WiFiSTA库 – begin函数有可能会切换为接入点+无线终端混合的模式,而不能成功切换为我们想要的无线终端模式。如果调用后不清楚当前的模式状况,或者网络出现异常,我们最好检测一下ESP8266模块当前处于什么模式。(具体请参阅ESP8266WiFiGeneric库中的mode函数)
语法
WiFi.begin()
a. 在不使用任何参数的情况下调用此函数,ESP8266模块将启用无线终端模式,并根据以前保存在闪存中的wifi配置连接到最近一次使用的接入点。
WiFi.begin(ssid, password, channel, bssid, connect)
b.我们也可以再调用begin函数的时候,为函数提供参数。这些参数的具体功能请见下面的“参数”部分介绍。
参数
ssid – 要连接的wifi接入点的名字,最多可以包含32个字符。(类型:char*)
password – 要连接的 wifi接入点密码,长度至少应为8个字符且不超过64个字符。(类型:char*)
channel – 要连接的wifi接入点信道。(类型:int32_t)
bssid – 要连接的wifi接入点的mac地址。(类型:const uint8_t*)
connect – 连接状态参数。如果connect参数为true,ESP8266开发板会使用闪存中储存的信息尝试连接WiFi。如果connect参数为false,ESP8266开发板不会尝试连接WiFi,而只会将WiFi连接信息保存在闪存中。(类型:bool)
返回值
返回值数据类型为布尔型。如果ESP8266开发板成功启动无线终端模式,则返回true,否则返回false。
示例程序
关于本函数的具体使用方法,请参考以下代码,尤其是代码中高亮的语句部分。
当您将WiFi连接信息修改后并且将本示例程序上传ESP8266开发板后,开发板随即会自动连接WiFi。WiFi连接成功后,您将可以从串口监视器获取当前ESP8266开发板的工作模式,即无线终端模式。
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 53 54 55 56 57 58 |
/********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : WiFi.begin()演示 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : 小黑 日期/Date(YYYYMMDD) : 20200405 程序目的/Purpose : 此程序使用ESP8266WiFiSTA库来演示建立连接,ESP8266模块切换工作模式为无线终端模式。 ----------------------------------------------------------------------- 本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。 该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页: http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/esp8266-nodemcu-web-client/http-request/ ***********************************************************************/ #include <ESP8266WiFi.h> #define AP_ssid "TaichiMaker_WIFI" //这里改成你的设备当前环境下要连接的接入点名字 #define password "xxxxxxxx" //这里改成你的设备当前环境下要连接的接入点密码 int i = 0; //用来判定连接是否超时的累加量 void setup() { Serial.begin(9600); // 启动串口通讯,波特率设置为9600 Serial.println("开始连接"); //调用 WiFi.begin()函数,开始连接接入点 WiFi.begin(AP_ssid, password); Serial.print("正在连接到"); Serial.print(AP_ssid); //这里的循环用来判断是否连接成功的。连接过程中每隔500毫秒会检查一次是否连接成功,,并打一个点表示正在连接中 //连接成功后会给出提示,但是若60秒后还是没有连接上,则会提示超时 while (WiFi.status() != WL_CONNECTED) { i++; delay(500); Serial.print("."); if (i > 120) { //60秒后如果还是连接不上,就判定为连接超时 Serial.print("连接超时!请检查网络环境"); break; } } Serial.println("网络连接成功"); //这一部分用来输出连接网络的基本信息 Serial.println("500"); // 延时500毫秒 Serial.print("当前工作模式:"); // 告知用户设备当前工作模式 Serial.println(WiFi.getMode()); Serial.print("连接到的接入点名字:"); Serial.println(AP_ssid); // 告知用户建立的接入点WiFi名 Serial.print("连接到的接入点密码:"); Serial.println(password); // 告知用户建立的接入点WiFi密码 Serial.print("无线终端模式成功开启,网络连接成功"); Serial.println("初始化完成"); } void loop() { } |
相关内容
– config
位置导航: ESP8266库 / ESP8266WiFiSTA库 / 本页