【Arduino开发】Lesson1 NodeMCU连接物联网的两种模式
2021/11/20 17:10:43
本文主要是介绍【Arduino开发】Lesson1 NodeMCU连接物联网的两种模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- NodeMUC开发 Lesson1
- 1. 开发板电路图
- 2. 物联网开发基础
- 2.1 接入点模式
- 3. 无线终端模式
- 写在最后
NodeMUC开发 Lesson1
1. 开发板电路图
GPIO
:通用输入输出引脚,对应ESP8266芯片对应的引脚(图中蓝色)
ADC
:A开头,模拟引脚
Vin
:为NodeMCU供电的另外一种方式
3V3
:为外界提供3.3v的电压
DigitalRead
:
- 数字引脚 : 作为输入时不能高于3.3v,否则会伤害开发板(而输出的电压只能是3.3v)
- 模拟引脚 : 输入不能高于1v
浅蓝背景黑字的是:通讯引脚
- 串口通讯
- SPI通讯
黑底字: 存储单元操作端口
U0TXD
:向外发送数据(Transf)
U0RXT
:向内接收数据(Receive)
按键:
- RST:复位键
- FLASH:用于刷固件用
2. 物联网开发基础
2.1 接入点模式
将MCU作为一个公用的无线路由器,将电脑接入这个接入点
#include <ESP8266WiFi.h> // 建立Wifi名称 const char *ssid = "FeverESP"; // Wifi密码 const char *password = "fevertwice"; void setup() { // 启动串口通讯 Serial.begin(9600); // 启动串口通讯 // 启动MCU建立的Wifi WiFi.softAP(ssid, password); // 显示窗口信息 Serial.print("Access point: "); // 通过串口监视器输出信息 Serial.println(ssid); Serial.print("IP address: "); // 通知IP地址 Serial.println(WiFi.softAPIP()); // 通过函数返回Wifi地址 } void loop() { // put your main code here, to run repeatedly: }
打开IDE编辑器的串口,有如下提示:
Access point: FeverESP IP address: 192.168.4.1
打开命令行cmd,并使用ping指令,可以成功连接到NodeMCU接口上
WiFi连接
Ping命令
3. 无线终端模式
无线终端模式通过与电脑连接一个相同的网络来实现网络连接功能
#include <ESP8266WiFi.h> // 导入库 const char* ssid = "FeverWiFi"; // 连接WiFi名 const char* password = "12345678"; // 连接WiFi密码 void setup() { Serial.begin(9600); // 启动串口通讯 WiFi.begin(ssid, password); // 启动网络连接 Serial.print("Connecting to "); // 串口监视器输出网络连接信息 Serial.print(ssid); Serial.println(" ..."); // 告知用户NodeMCU正在尝试WiFi连接 int i = 0; // 这一段程序语句用于检查WiFi是否连接成功 // status()返回一个状态信息, WL_CONNECTED 是一个WiFi状态码 while (WiFi.status() != WL_CONNECTED) { // WiFi.status()函数的返回值是由NodeMCU的WiFi连接状态所决定的。 delay(1000); // 如果WiFi连接成功则返回值为WL_CONNECTED Serial.print(i++); Serial.print(' '); // 此处通过While循环让NodeMCU每隔一秒钟检查一次WiFi.status()函数返回值 } // 同时NodeMCU将通过串口监视器输出连接时长读秒。 // 输出信息 Serial.println(""); Serial.println("Connection established!"); // NodeMCU将通过串口监视器输出"Connection established!"的信息。 Serial.print("IP address: "); // 同时还将输出NodeMCU的IP地址。 Serial.println(WiFi.localIP()); // 这一功能是通过调用WiFi.localIP()函数来实现的。该函数的返回值即NodeMCU的IP地址。 } void loop() { }
如果需要连接多个WiFi网络名称和WiFi密码 ,我们可以通过引入WiFiMulti函数来实现
#include <ESP8266WiFiMulti.h> // 本程序使用ESP8266WiFiMulti库 ESP8266WiFiMulti wifiMulti; // 建立ESP8266WiFiMulti对象,对象名称是'wifiMulti' void setup() { Serial.begin(9600); // 启动串口通讯 //通过addAp函数存储 WiFi名称 WiFi密码 wifiMulti.addAP("FeverWiFi1", "12345678"); // 这三条语句通过调用函数addAP来记录3个不同的WiFi网络信息。 wifiMulti.addAP("FeverWiFi2", "87654321"); wifiMulti.addAP("FeverWiFi3", "13572468"); // 这3个网络的密码分别是123456789,87654321,13572468 Serial.println("Connecting ..."); // 通过串口监视器输出信息告知用户NodeMCU正在尝试连接WiFi int i = 0; while (wifiMulti.run() != WL_CONNECTED) { // wifiMulti.run(),NodeMCU将会在当前环境中搜索addAP函数所存储的WiFi delay(1000); // 如果搜到多个存储的WiFi那么NodeMCU Serial.print('.'); // 将会连接信号最强的那一个WiFi信号。 } // 一旦连接WiFI成功,wifiMulti.run()将会返回“WL_CONNECTED”。这也是
注意:
- 这里是**wifiMulti.run()与上面的WiFi.begin(ssid, password)**略有不同
- 这里每次连接WiFi路由器的IP地址可能会变,使得地址不统一,这是因为地址是由路由器随意分配的
运行并上传,串口监视器如下所示
打开CMD试图检测NodeMCU是否和电脑建立连接
写在最后
注:本专栏实验均使用免费的仿真平台TinkerCAD
,传送门如下
传送门:ThinkerCAD
代码参考案例NodeMCU开发板的无线终端模式by太极创客
各位看官,都看到这里了,麻烦动动手指头给博主来个点赞8,您的支持作者最大的创作动力哟!
<(^-^)>
才疏学浅,若有纰漏,恳请斧正
本文章仅用于各位同志作为学习交流之用,不作任何商业用途,若涉及版权问题请速与作者联系,望悉知
这篇关于【Arduino开发】Lesson1 NodeMCU连接物联网的两种模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15在使用平台私钥进行解密时提示 "私钥解密失败" 错误信息是什么原因?-icode9专业技术文章分享
- 2024-11-15Layui框架有哪些方式引入?-icode9专业技术文章分享
- 2024-11-15Layui框架中有哪些减少对全局环境的污染方法?-icode9专业技术文章分享
- 2024-11-15laydate怎么关闭自动的日期格式校验功能?-icode9专业技术文章分享
- 2024-11-15laydate怎么取消初始日期校验?-icode9专业技术文章分享
- 2024-11-15SendGrid 的邮件发送时,怎么设置回复邮箱?-icode9专业技术文章分享
- 2024-11-15使用 SendGrid API 发送邮件后获取到唯一的请求 ID?-icode9专业技术文章分享
- 2024-11-15mailgun 发送邮件 tags标签最多有多少个?-icode9专业技术文章分享
- 2024-11-15mailgun 发送邮件 怎么批量发送给多个人?-icode9专业技术文章分享
- 2024-11-15如何搭建web开发环境并实现 web项目在浏览器中访问?-icode9专业技术文章分享