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将其连接到路由器上:
1 /*-------------------------------------------------- 2 written by helio, 2019 3 ConnectToWifi.ino - 串口打印NodeMCU连接到路由器WiFi 4 名称和密码,并打印自身ip地址 5 --------------------------------------------------*/ 6 #include "ESP8266WiFi.h" 7 8 void setup() 9 { 10 Serial.begin(115200); 11 Serial.println(); 12 13 WiFi.begin("CEET305", "office305"); // 设置连接到的WiFi名称和密码 14 Serial.print("Connecting..."); 15 16 while (WiFi.status() != WL_CONNECTED) 17 { 18 delay(500); 19 Serial.print("."); 20 } 21 22 Serial.println(); 23 Serial.print("Connected Succeful to "); 24 Serial.println(WiFi.SSID()); // 打印连接到的WiFi名称 25 Serial.print("The Password of this WiFi is:"); 26 Serial.println(WiFi.psk()); // 打印连接到的WiFi的密码 27 Serial.print("IP-address is:"); 28 Serial.println(WiFi.localIP()); // 打印NodeMCU的IP地址 29 } 30 31 void loop() 32 { 33 34 }
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模式:
1 /*------------------------------------------------- 2 written by helio, 2019 3 SoftAp.ino - 将NodeMCU设置为soft-AP模式(热点模式) 4 其他设备可以连接到该热点 5 -------------------------------------------------*/ 6 #include <ESP8266WiFi.h> 7 8 void setup() 9 { 10 Serial.begin(115200); 11 Serial.println(); 12 Serial.println("Setting soft_AP..."); 13 if (WiFI.softAP(“NodeMCU”, “Helioi1122”)) 14 Serial.println("Ready"); 15 else 16 Serial.println("Failed!"); 17 } 18 19 void loop() 20 { 21 Serial.printf("Stations connected = %d\n", WiFi.softAPgetStationNum()); 22 delay(3000); 23 }
SoftAP.ino解析
通过函数WiFi.softAP()设置将要设置的热点名称和密码,如果将函数的第二个参数值设置为 NULL 时,则其他设备不需要设置密码即可连接该热点,同时,根据函数的返回值判断是否创建成功,同时在串口中打印反馈信息。设置成功后在,可以通过函数WiFI.softAPgetStarion() 获知连接到其上的设备数。
打开电脑或者手机的WiFi管理界面即可发现它设置的网络。
图3-4 可以在电脑的WiFi管理中心中发现之前设置的网络
打开串口监视器,可以在看到连接到NodeMCU上的设备数量。
图3-5 串口监视器中可以查看NodeMCU设置的WiFi状态
转载于:https://www.cnblogs.com/Helio/p/10656401.html
NodeMCU学习(三) : 进入网络世界相关推荐
- java aio socket_java核心学习(三十三) 网络编程---AIO实现异步Socket通信
AIO需要操作系统的支持,在linux内核2.6版本中加入了对真正异步IO的支持,java从jdk1.7开始支持AIO 核心类有AsynchronousSocketChannel .Asynchron ...
- 论文阅读2018-Deep Convolutional Neural Networks for breast cancer screening 重点:利用迁移学习三个网络常规化进行分类
论文阅读2018-Deep Convolutional Neural Networks for breast cancer screening 摘要:我们探讨了迁移学习的重要性,并通过实验确定了在训练 ...
- 【学习笔记】元宇宙:虚实相生的网络世界
混沌大学 2021.12.04+元宇宙:虚实相生的网络世界(问答部分补充) 原文 元宇宙的语言和趋势分析 未来已来 没有job照样work 清华女生华智冰 元宇宙必然到来 从在线到在场 大规模.远距离 ...
- Tensorflow实战学习(三十八)【实现估值网络】
Q-Learning,学习Action对应期望值(Expected Utility).1989年,Watkins提出.收敛性,1992年,Watkins和Dayan共同证明.学习期望价值,从当前一步到 ...
- VMWare学习总结(2)——VMware中三种网络连接的区别
1.概述 大家在安装完虚拟机后,默认安装了如下图的两块虚拟网卡--VMnet1和VMnet8,其中VMnet1是host网卡,用于host方式连接网络:VMnet8是NAT网卡,用于NAT方式连接网络 ...
- Azure学习笔记1.——三种网络流量分配的方法
Azure的三种网络流量分配的方法: 一.Azure Load Balancer 1.位于OSI第4层 2.支持任何协议 3.支持的服务器端点:Azure的虚拟机和云服务角色实例 4.VNet sup ...
- 深度学习三巨头也成了大眼萌,这个一键转换动画电影形象的网站竟因「太火」而下线...
机器之心报道 作者:魔王.杜伟 想不想在动画电影中拥有自己的角色?这个网站一键满足你的需求,不过竟因流量太大成本过高而下线. 近期热映的电影<花木兰>总是让人回想起 1998 年上映的同名 ...
- 实至名归!ACM宣布深度学习三巨头共同获得图灵奖
昨日晚间,ACM(国际计算机学会)宣布,有"深度学习三巨头"之称的Yoshua Bengio.Yann LeCun.Geoffrey Hinton共同获得了2018年的图灵奖,这是 ...
- 【技术综述】图像与CNN发家简史,集齐深度学习三巨头
文章首发于微信公众号<有三AI> [技术综述]图像与CNN发家简史,集齐深度学习三巨头 没有一个经典的发现会是突然之间横空出世,它总是需要一些积淀. 提起卷积神经网络,我们总会从LeNet ...
最新文章
- Spring学习系列(二) 自动化装配Bean
- Map存值问题的研究
- ansible备份mysql_ansible做mysql备份和安全加固
- java中的字符串_java中字符串的操作
- Python 函数式编程,从入门到放弃
- python编程入门经典-总算理解python编程入门经典教程
- HTML5 FileAPI读取实例---(一)
- tomcat 7下spring 4.x mvc集成websocket以及sockjs完全参考指南(含nginx/https支持)
- Mac下配置Nginx负载均衡
- 微软手机远程桌面使用
- 基于深度学习的视频质量分析 深度学习视频质量诊断 图像质量诊断
- linux下查看硬盘型号、大小等信息(含Raid)
- 优化算法之粒子群优化
- 支付宝支付php开发demo下载地址,tp使用支付宝接口demo
- Python3.7安装Geenlet
- EXCEL2003版无法运行2007以上版本VBA程序
- 记一次被“呼死你”电话骚扰的反骚扰经历
- security基于数据库的认证(二)
- 分享2022武体考研一战上岸学习心得
- 计算机毕业设计asp.net校园二手物品交易平台(源码+系统+mysql数据库+Lw文档)
热门文章
- 宏转录组方法_高级转录组分析和R语言数据可视化第十二期 (线上线下同时开课)...
- python绘制散点图、如何选两列作为横坐标_Python利用matplotlib绘制散点图的新手教程...
- mysql group 分页_【MySQL】条件查询之排序聚合分组分页查询
- mysql单单写join_MySQL系列之Join大法
- windows下搭建hadoop+eclipse开发环境
- Python+Opencv分水岭算法
- [深度学习] 自然语言处理 --- Bert开发实战 (Transformers)
- 探索C++的秘密之详解extern C
- 浏览器页面关闭事件获取及处理--onbeforeunload
- 第五章 随机事件及其概率