ESP8266 – ESP8266WiFiSTA库 – status – 太极创客

您所在的位置:网站首页 status_t ESP8266 – ESP8266WiFiSTA库 – status – 太极创客

ESP8266 – ESP8266WiFiSTA库 – status – 太极创客

2023-03-31 14:16| 来源: 网络整理| 查看: 265

位置导航: ESP8266库 / ESP8266WiFiSTA库 / 本页

说明

status函数可以在无线终端模式下,获取当前的ESP8266模块网络连接状态。

语法

wifi.status()

简例:

Arduino 12 Serial.printf("当前连接状态: ");Serial.printf(WiFi.status());//打印当前连接状态

参数

返回值

返回值类型为uint8_t。以下是返回值数值以及对应的信息:

255: WL_NO_SHIELD – 返回值为255说明无扩展板。8266本来带有网络功能,不需要额外的扩展板(sheld),因此一般不会出现这个报错 0:​ WL_IDLE_STATUS – 返回值为0说明正在尝试连接 1​: WL_NO_SSID_AVAIL – 返回值为1说明没有找到设定的SSID的网络 2​: WL_SCAN_COMPLETED – 返回值为2说明网络扫描完毕 3:​ WL_CONNECTED – 返回值为3说明连接成功成功 4: WL_CONNECT_FAILED – 返回值为4说明连接失败 5: WL_CONNECTION_LOST – 返回值为5说明连接丢失 6: WL_DISCONNECTED – 返回值为6说明未连接

示例程序

关于本函数的具体使用方法,请参考以下代码,尤其是代码中高亮的语句部分。

当您将WiFi连接信息修改后并且将本示例程序上传ESP8266开发板后,开发板随即会自动连接WiFi。WiFi连接成功后,您将通过串口监视器看到ESP8266模块的联网状态代码。在以下示例程序中,我们使用了WiFi.status()语句来获取联网状态。

Arduino 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 /**********************************************************************  项目名称/Project          : 零基础入门学用物联网  程序名称/Program name     : WiFi.status()演示  团队/Team                : 太极创客团队 / Taichi-Maker (www.taichi-maker.com)  作者/Author              : 小黑  日期/Date(YYYYMMDD)     : 20200405  此程序使用ESP8266WiFiSTA库来演示在无线终端模式获取当前的网络连接状态  -----------------------------------------------------------------------  本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。  该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页:  http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/esp8266-nodemcu-web-client/http-request/***********************************************************************/#include  #define AP_ssid   "TaichiMaker_WIFI" //这里改成你的设备当前环境下要连接的接入点名字#define password  "xxxxxxxx"         //这里改成你的设备当前环境下要连接的接入点密码 int i = 0;//用来判定连接是否超时的累加量 void setup(void){  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.print("此时关闭接入点,可以看到连接状态报告函数 WiFi.status()返回值变化");} void loop() {  Serial.printf("\n当前连接状态: %d\n", WiFi.status());  delay(1000);}

位置导航: ESP8266库 / ESP8266WiFiSTA库 / 本页



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3