ESP8266开发实战之(4)-连接路由器的wifi

概述

ESP8266支持连接到wifi,从而使得我们能够通过网络访问,做出一些简单而有趣的功能。因此,第一步工作便是连接到wifi网络。

一般情况下,我们要连接wifi,在手机上的操作是查到wifi的名称,然后输入密码。在esp8266中,也是需要提供相应的wifi名称和密码才能连接到wifi网络。然后就可以使用esp8266的sdk包中提供的接口函数连接上去。

连接方法

要连接到wifi,首先需要包含与wifi相关的头文件:#include <ESP8266WiFi.h>。

然后,就可以使用以下接口函数连接初始化连接。

WiFi.begin(ssid, pass); 

该函数的参数参考链接为:WiFi - WiFi.begin() - Arduino Reference。其中ssid为wifi的名称,即我们在手机上看到的wifi网络的名称,pass为连接wifi所用的密码。例如,我将esp8266连接到自家所在的wifi网络时,使用了以下配置。

const char * ssid = "ChinaNet-3QAA"; // wifi的网络名称

const char * password = "cfaveqrm"; // wifi的密码

WiFi.begin(ssid, password);

调用完成后,wifi并不会立即就连接上。就像我们在手机上连接wifi时通常要过一小会儿才连接上一样,esp8266也需要一段时间才能连接。我这边测试的是大概要几秒钟的样子。在这段时间内,我们可以使用以下接口函数检查wifi是否已经连接上。

WiFi.status();

该函数的参数参考链接为:WiFi - WiFi.status() - Arduino Reference。当返回值为WL_CONNECTED时表示已经连接上。该函数还有其它返回值,表示wifi连接失败等情况。

示例

下面是一段连接wifi的例子,其功能为尝试连接到本地的wifi网络。在连接过程中,为了便于观察连接进度,在串口中显示“....”来表示连接进度。当连接成功时,显示wifi所获得的ip地址、子网掩网、网关等地址信息。

/**
 * 功能:将esp8266连接到指定的wifi网络。
 * 详细:在连接过程中,如果连接失败,则提示连接超时失败信息;如果连接成功
 * 则显示获得的IP地址。
 * 
 * 编写:李小童
 * 日期:2022-8-8
 * 开发型号:NodeMUC 1.0(ESP-12E)
 * 如需获取更多资料,以及相关的支持,可以联系:527676163@qq.com
 */
#include <ESP8266WiFi.h>

// 以下的wifi配置需要根据实际环境进行修改
const char * ssid = "ChinaNet-3QAA";      // wifi的网络名称
const char * password = "cfaveqrm";       // wifi的密码

/**
 * 初始化函数,在启动后只运行一次
 */
void setup() {
  // 开启8266的网络,连接到WIFI
  // wifi名称为:ssid指向的字符串,密码为password指向的串
  WiFi.begin(ssid, password);

  // 为了便于观察网络连接进度,在串口输出连接过程
  // 波特率设置成19200。
  Serial.begin(19200);

  // 显示正在连接到wifi
  Serial.print("\nconnecting to wifi:\n");

  // 在等待过程中,每隔1秒显示一个小点,以表示正在连接
  // 最多等待20秒,超过20秒则显示连接失败
  for (int i = 0; i < 20; i++) {
    // 检查连接状态是否已经连接上
    if (WiFi.status() == WL_CONNECTED) {
      // 显示连接成功信息, 包含从网络中获得的IP地址
      Serial.println("Wifi conntected.");

      // 然后就可以直接返回了
      return;
    }
    delay(1000);
    Serial.print(".");
  }
  
  Serial.print("\nConnect failed: timemout!\n");
}

void loop() {
}

编译并下载程序,以19200的波特率观察输出,可以看到如下输出情况。

附注

ESP8266支持两种连接wifi连接模式。一种是STA模式,即将其连接到WIFI网络;另外一种是AP模式,即ESP8266自己可以建立起WIFI,从而让其它设备连接到自己。这篇文章中所讲的模式为STA模式。

如果你对我的文章感兴趣,欢迎关注我或在下方留言。

  • 1
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李述铜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值