NodeMCU学习(三) : 进入网络世界
把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学习(三) : 进入网络世界的更多相关文章
- Linux系统学习 三、网络基础—虚拟机网络配置
Linux网络基础 Linux的ip地址配置 Linux网络配置文件 常用网络命令 虚拟机网络参数配置 1.配置Linux的IP地址 首先配置一个IP地址,让IP生效. ifconfig查看当前网络配 ...
- linux学习笔记二:三种网络配置
本文引用自:https://www.linuxidc.com/Linux/2017-05/144370.htm [linux公社] VMware为我们提供了三种网络工作模式,它们分别是:Bridged ...
- [ZZ] 深度学习三巨头之一来清华演讲了,你只需要知道这7点
深度学习三巨头之一来清华演讲了,你只需要知道这7点 http://wemedia.ifeng.com/10939074/wemedia.shtml Yann LeCun还提到了一项FAIR开发的,用于 ...
- python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容
python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容 Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖 ...
- HTTP学习三:HTTPS
HTTP学习三:HTTPS 1 HTTP安全问题 HTTP1.0/1.1在网络中是明文传输的,因此会被黑客进行攻击. 1.1 窃取数据 因为HTTP1.0/1.1是明文的,黑客很容易获得用户的重要数据 ...
- vmware虚拟机三种网络模式详解_转
原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 由于L ...
- linux的视频学习4(网络配置和rpm)
linux的视频学习: 1.网络配置的三种方式的介绍. 第一种方式: setup 命令--选择network configuration-->配置固定ip(tab键)和自动分配IP(长空格) / ...
- Vmware虚拟机三种网络模式详解
原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 我怕链 ...
- 学习TensorFlow,保存学习到的网络结构参数并调用
在深度学习中,不管使用那种学习框架,我们会遇到一个很重要的问题,那就是在训练完之后,如何存储学习到的深度网络的参数?在测试时,如何调用这些网络参数?针对这两个问题,本篇博文主要探索TensorFlow ...
随机推荐
- Sql Server2008R2下载地址
ed2k://%7Cfile%7Ccn_sql_server_2008_r2_enterprise_x86_x64_ia64_dvd_522233.iso%7C4662884352%7C1DB0252 ...
- Asp.Net MVC 模型(使用Entity Framework创建模型类)
这篇教程的目的是解释在创建ASP.NET MVC应用程序时,如何使用Microsoft Entity Framework来创建数据访问类.这篇教程假设你事先对Microsoft Entity Fram ...
- [Spark Streaming_1] Spark Streaming 概述
0. 说明 Spark Streaming 介绍 && 在 IDEA 中编写 Spark Streaming 程序 1. Spark Streaming 介绍 Spark Stream ...
- linux安装mydumper软件包以及报错解决
今天使用mydumper命令从AWS上的RDS集群MYSQL数据库导出数据,发现Tidb官方提供的工具不太适合,所以就自己编译了一个来尝试一下,居然成功了. 首先我的系统是Centos7,并且已经安装 ...
- 常用npm 命令
npm 官方网站:npm的使用说明 安装模块 npm install 安装当前目录package.json文件中配置的dependencies模块 安装本地的模块文件 npm install ...
- Swift: Associated Types--为什么协议使用关联类型而不是泛型
关联类型的形式为类型的引用进而进行约束提供了条件: 同时能够简化语法形式. Swift: Associated Types http://www.russbishop.net/swift-associ ...
- 【剑指offer】数值的整数次方
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/mmc_maodun/article/details/25506085 转载请注明出处:http:// ...
- bat替换文件的指定内容
需求:替换文件my.ini中的1000 为10000,bat脚本如下: c:cd C:\Program Files\MySQL\MySQL Server 5.5copy my.ini my1126ba ...
- Vue那些事儿之用visual stuido code编写vue报的错误Elements in iteration expect to have 'v-bind:key' directives.
当用vsc打开我们的vue代码时,在其他编辑器里面本来没有错误,到这个编辑器里面 v-for就出毛病了.如下图所示, 那是因为我们打开了对vue进行Eslint的检查. 搜索vetur.validat ...
- Spark项目之电商用户行为分析大数据平台之(八)需求分析
1.按条件筛选session 搜索过某些关键词的用户.访问时间在某个时间段内的用户.年龄在某个范围内的用户.职业在某个范围内的用户.所在某个城市的用户,发起的session.找到对应的这些用户的ses ...