NodeMCU学习(三):进入网络世界

作者: Helio1997 | 来源:发表于2019-06-24 20:21 被阅读2次

把NodeMCU连接到路由器网络上

  NodeMCU可以被配置为Station模式和softAP模式或者Station + AP模式,当它被配置为Station模式时,就可以去连接Access Point(如路由器)。当它被配置为Soft Access Point模式时,其他的Station(如手机、电脑)就可以连接到它,并与它进行通信。当它被配置为Station + AP模式时,即可作为Station也可以作为Access Point。


模块被配置为Station模式 模块被配置为SoftAP模式

  使用如下程序配置NodeMCU将其连接到路由器上:

/*--------------------------------------------------
                  written by helio, 2019
  ConnectToWifi.ino - 串口打印NodeMCU连接到路由器WiFi
名称和密码,并打印自身ip地址
--------------------------------------------------*/
#include "ESP8266WiFi.h"

void setup()
{
  Serial.begin(115200);
  Serial.println();
  
  WiFi.begin("CEET305", "office305");  // 设置连接到的WiFi名称和密码
  Serial.print("Connecting...");
  
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  
  Serial.println();
  Serial.print("Connected Succeful to ");
  Serial.println(WiFi.SSID()); // 打印连接到的WiFi名称
  Serial.print("The Password of this WiFi is:");
  Serial.println(WiFi.psk()); // 打印连接到的WiFi的密码
  Serial.print("IP-address is:");
  Serial.println(WiFi.localIP()); // 打印NodeMCU的IP地址
}

void loop()
{
 
}

ConnectToWifi.ino解析

  通过函数 WiFi.begin() 设置即将连接的WiFi名称和密码并连接到给定的WiFi。随后根据函数 WiFi.status() 的返回值判断是否连接得到WiFi上,如果此函数的返回值WL_CONNECTED 则说明已经连接到给定WiFi上,否则没有连接上,通过一个循环来等待NodeMCU连接到WiFi上。当连接成功后在串口中通过函数WiFi.SSID()打印连接到的WiFi的名称,通过函数WiFi.psk()打印连接上的WiFi的密码,同时通过函数WiFi.localIP()打印此时NodeMCU的IP地址。
  程序烧录到NodeMCU中后,打开串口监视器,可以看见NodeMCU成功连接到了设置的网络中。


NodeMCU成功连接到路由器网络

其他设备连接到NodeMCU上

  将NodeCMCU设置为SoftAP模式时,其他设备就可以在网络中发现它,并且可以连接到它上面。

/*-------------------------------------------------
             written by helio, 2019
  SoftAp.ino - 将NodeMCU设置为soft-AP模式(热点模式)
其他设备可以连接到该热点
-------------------------------------------------*/
#include <ESP8266WiFi.h>

void setup() 
{
  Serial.begin(115200);
  Serial.println();
  Serial.println("Setting soft_AP...");
  boolean result = WiFi.softAP("Helio", "Helio1122");
  if (result == true)
    Serial.println("Ready");
  else 
    Serial.println("Failed!");
}

void loop()
{
  Serial.printf("Stations connected = %d\n", WiFi.softAPgetStationNum());
  delay(3000);
}

SoftAP.ino解析

  通过函数WiFi.softAP()设置将要设置的热点名称和密码,如果将函数的第二个参数值设置为 NULL 时,则其他设备不需要设置密码即可连接该热点,同时,根据函数的返回值判断是否创建成功,同时在串口中打印反馈信息。设置成功后在,可以通过函数WiFI.softAPgetStarion() 获知连接到其上的设备数。
  将程序烧录到NodeMCU中后,打开电脑或者手机的WiFi管理界面即可发现它设置的网络。

可以在电脑的WiFi管理中心中发现之前设置的网络%}
  同样打开串口监视器,可以在看到连接到NodeMCU上的设备数量。
串口监视器中可以查看NodeMCU设置的WiFi状态
阅读原文可访问我的个人博客

相关文章

网友评论

    本文标题:NodeMCU学习(三):进入网络世界

    本文链接:https://www.haomeiwen.com/subject/kalaqctx.html