把NodeMCU连接到路由器网络上

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

图3-1 模块被配置为Station模式

图3-2 模块被配置为SoftAP模式

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

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

 void setup()
 {
   Serial.begin();
   Serial.println();

   WiFi.begin("CEET305", "office305");  // 设置连接到的WiFi名称和密码
   Serial.print("Connecting...");

   while (WiFi.status() != WL_CONNECTED)
   {
     delay();
     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成功连接到了设置的网络中。

图3-3 NodeMCU成功连接到路由器网络

 

其他设备连接到NodeMCU上

将NodeCMCU设置为SoftAP模式时,其他设备就可以在网络中发现它,并且可以连接到它上面。通过如下程序即可将NodeMCU设置为SoftAP模式:

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

 void setup()
 {
   Serial.begin();
   Serial.println();
   Serial.println("Setting soft_AP...");
   if (WiFI.softAP(“NodeMCU”, “Helioi1122”))
     Serial.println("Ready");
   else
     Serial.println("Failed!");
 }

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

SoftAP.ino解析

 通过函数WiFi.softAP()设置将要设置的热点名称和密码,如果将函数的第二个参数值设置为 NULL 时,则其他设备不需要设置密码即可连接该热点,同时,根据函数的返回值判断是否创建成功,同时在串口中打印反馈信息。设置成功后在,可以通过函数WiFI.softAPgetStarion() 获知连接到其上的设备数。

打开电脑或者手机的WiFi管理界面即可发现它设置的网络。

图3-4 可以在电脑的WiFi管理中心中发现之前设置的网络

打开串口监视器,可以在看到连接到NodeMCU上的设备数量。

图3-5 串口监视器中可以查看NodeMCU设置的WiFi状态

  阅读原文可访问我的个人博客

NodeMCU学习(三) : 进入网络世界的更多相关文章

  1. Linux系统学习 三、网络基础—虚拟机网络配置

    Linux网络基础 Linux的ip地址配置 Linux网络配置文件 常用网络命令 虚拟机网络参数配置 1.配置Linux的IP地址 首先配置一个IP地址,让IP生效. ifconfig查看当前网络配 ...

  2. linux学习笔记二:三种网络配置

    本文引用自:https://www.linuxidc.com/Linux/2017-05/144370.htm [linux公社] VMware为我们提供了三种网络工作模式,它们分别是:Bridged ...

  3. [ZZ] 深度学习三巨头之一来清华演讲了,你只需要知道这7点

    深度学习三巨头之一来清华演讲了,你只需要知道这7点 http://wemedia.ifeng.com/10939074/wemedia.shtml Yann LeCun还提到了一项FAIR开发的,用于 ...

  4. python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容

    python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容 Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖 ...

  5. HTTP学习三:HTTPS

    HTTP学习三:HTTPS 1 HTTP安全问题 HTTP1.0/1.1在网络中是明文传输的,因此会被黑客进行攻击. 1.1 窃取数据 因为HTTP1.0/1.1是明文的,黑客很容易获得用户的重要数据 ...

  6. vmware虚拟机三种网络模式详解_转

    原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 由于L ...

  7. linux的视频学习4(网络配置和rpm)

    linux的视频学习: 1.网络配置的三种方式的介绍. 第一种方式: setup 命令--选择network configuration-->配置固定ip(tab键)和自动分配IP(长空格) / ...

  8. Vmware虚拟机三种网络模式详解

    原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 我怕链 ...

  9. 学习TensorFlow,保存学习到的网络结构参数并调用

    在深度学习中,不管使用那种学习框架,我们会遇到一个很重要的问题,那就是在训练完之后,如何存储学习到的深度网络的参数?在测试时,如何调用这些网络参数?针对这两个问题,本篇博文主要探索TensorFlow ...

随机推荐

  1. w3school 基础学习

    http://www.w3school.com.cn/ http://www.w3school.com.cn/sql/sql_quickref.asp

  2. webservice安全性浅谈

    原文地址:http://www.cnblogs.com/chhuic/archive/2009/11/19/1606109.html 做项目时,经常会用到WebService来通讯,但WebServi ...

  3. 再谈全局网HBase八大应用场景

    摘要: HBase可以说是一个数据库,也可以说是一个存储.拥有双重属性的HBase天生就具备广阔的应用场景.在2.0中,引入了OffHeap降低了延迟,可以满足在线的需求.引入MOB,可以存储10M左 ...

  4. git status 显示中文和解决中文乱码

    目录 git status 显示中文和解决中文乱码 解决git status不能显示中文 解决git bash 终端显示中文乱码 通过修改配置文件来解决中文乱码 git status 显示中文和解决中 ...

  5. Mysql引擎innodb_pool的作用

    innodb_buffer_pool的简介: InnoDB主索引是聚簇索引,索引与数据共用表空间,对于InnoDB而言,数据就是索引,索引就是数据.InnoDB缓存机制和MyISAM缓存机制的最大区别 ...

  6. MySQL基础之 统计函数总结

    五种统计函数:count().max().avg().min().max()函数 count()函数 count()函数在进行计算的时候,是分情况进行计算的,主要是一下两种 1.采用count(*)对 ...

  7. django模板系统(上)

    filters 过滤 default 替代作用 filesizeformat 格式化为人类可读 add 给变量加参数 lower 小写 upper 大写 title 标题 ljust 左对齐 rjus ...

  8. Office Web app server 2013 目前无法和windows server 2012 R2兼容。

    另外旧版的office文档和PDF格式不支持预览功能.

  9. H.__mro__) MRO- C3算法

  10. php linux 环境搭建

    Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一.Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以 ...