ESP8266-NodeMCU(一)

2023-11-15

ESP8266-NodeMCU开发板的驱动有CH340和CP210等等,本文使用ESP8266-NodeMCU CH340驱动版本。

一.开发板详解

NodeMCU是一个开源的IoT物联网硬件开发板,由于它支持WIFI功能且使用方法十分类似Arduino开发板,所以近些年获得了越来越多来自全世界的创客朋友们的青睐。NodeMCU尺寸与Arduino Nano类似。它并不是Arduino团队开发的,但是我们也可以使用Arduino IDE 对它进行开发。而且它还有一颗地道的“中国芯”—ESP8266模块

1.开发板引脚图

 值得注意的是:GPIO6-11基本不用来进行通用输入输出,更多的情况下用于连接开发板的闪存.

二.注意电压电流

NodeMCU开发板引脚的输入输出电压限制是3.3 V。如果向引脚施加3.6V以上的电压就有可能对芯片电路造成损坏。如果想和其他开发板进行连接请注意2个开发板引脚电压和电流的区别。

三.特殊引脚说明

GPIO2引脚 在NodeMCU开发板启动时是不能连接低电平的。

GPIO15引脚在开发板运行中一直保持低电平状态。因此请不要使用GPIO15引脚来读取开关状态或进行I²C通讯。

GPIO0引脚在开发板运行中需要一直保持高电平状态。否则ESP8266将进入程序上传工作模式也就无法正常工作了。您无需对GPIO0引脚进行额外操作,因为NodeMCU的内置电路可以确保GPIO0引脚在工作时连接高电平而在上传程序时连接低电平。

与此同时:整个开发板只有一个模拟输入引脚,且模拟电压值为0-1.0V

四.总结通用输入输出口作用和功能

 二.ESP8266的三种工作方式

一.AP(接入点模式)

AP接入点模式通俗来讲就是让其成为一个WIFI

#include <ESP8266WiFi.h>        // 本程序使用ESP8266WiFi库
 
const char *ssid = "WIFI名称"; // 这里定义将要建立的WiFi名称。
                                   // 您可以将自己想要建立的WiFi名称填写入此处的双引号中
 
const char *password = "12345678";  // 这里定义将要建立的WiFi密码。此处以12345678为示例
                                    // 您可以将自己想要使用的WiFi密码放入引号内
                                    // 如果建立的WiFi不要密码,则在双引号内不要填入任何信息
 
void setup() {
  Serial.begin(9600);              // 启动串口通讯
 
  WiFi.softAP(ssid, password);     // 此语句是重点。WiFi.softAP用于启动NodeMCU的AP模式。
                                   // 括号中有两个参数,ssid是WiFi名。password是WiFi密码。
                                   // 这两个参数具体内容在setup函数之前的位置进行定义。
 
  
  Serial.print("Access Point: ");    // 通过串口监视器输出信息
  Serial.println(ssid);              // 告知用户NodeMCU所建立的WiFi名
  Serial.print("IP address: ");      // 以及NodeMCU的IP地址
  Serial.println(WiFi.softAPIP());   // 通过调用WiFi.softAPIP()可以得到NodeMCU的IP地址
}
 
void loop() { 
}

每个代码后面都有详细的注释,这里不过多描述。

二.无线终端(SAT)模式

开发板可以连接至一个WIFI,并通过WIFI和其他连接设备进行数据交换。

#include <ESP8266WiFi.h>        // 本程序使用ESP8266WiFi库
 
const char* ssid     = "WIFI名称";      // 连接WiFi名
                                            // 请将您需要连接的WiFi名填入引号中
const char* password = "12345678";          // 连接WiFi密码(此处使用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是否连接成功
  while (WiFi.status() != WL_CONNECTED) {      // WiFi.status()函数的返回值是由NodeMCU的WiFi连接状态所决定的。 
    delay(1000);                               // 如果WiFi连接成功则返回值为WL_CONNECTED                       
    Serial.print(i++); Serial.print(' ');      // 此处通过While循环让NodeMCU每隔一秒钟检查一次WiFi.status()函数返回值
  }                                            // 同时NodeMCU将通过串口监视器输出连接时长读秒。
                                               // 这个读秒是通过变量i每隔一秒自加1来实现的。
                                               
  Serial.println("");                          // WiFi连接成功后
  Serial.println("Connection established!");   // NodeMCU将通过串口监视器输出"连接成功"信息。
  Serial.print("IP address:    ");             // 同时还将输出NodeMCU的IP地址。这一功能是通过调用
  Serial.println(WiFi.localIP());              // WiFi.localIP()函数来实现的。该函数的返回值即NodeMCU的IP地址。
}
 
void loop() {                                   
}

三.ESP8266-NodeMCU闪存文件系统

                                使用方法大致和C语言的文件系统一致

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ESP8266-NodeMCU(一) 的相关文章

  • adc读出的数据和输入电压不匹配

    1 参考电压输入有误 1 stm8和stm32 模拟电源输入的电压有问题 或者精度设置出错 导致最终电压参考有误 最终adc值出错 2 华大的芯片还多了一种可能 就是adc的参考源选择错误 可选的参考源包括内部1 5v参考 2 5v参考 外
  • 创业小记:终于开发了个有点希望的产品了

    过了3个月了 做了8个产品 有一个产品 有点起色 在7月有290刀的收入 3个月时间了 打算简单复盘一下 一个字 抄 二个字 参考 三个字 微创新 我是个典型的技术同学 我不建议跟我一样背景的人从开发自己有需求的产品开始 这是主流论调 就是
  • Java JDBC (MySQL5.7)

    文章目录 第一章 JDBC简介 1 JDBC的好处 第二章 JDBC使用 1 使用步骤 2 普通方式实现代码 3 优化为工具类 4 使用数据库连接池Druid 第三章 参考资料 第一章 JDBC简介 Java DataBase Connec

随机推荐

  • mysql distinct和order by 一起用时,order by的字段必须在select中

    原因 1 首先 在MySQL中 distinct 的执行顺序高于 order by 2 第二 distinct 执行时会对查询的记录进行去重 产生一张虚拟的临时表 3 第三 order by 执行时对查询的虚拟临时表进行排序 产生新的虚拟临
  • Windows下MySQL免安装版的下载与配置

    因为自己学习开发的需求 需要在本地安装MySQL数据库用来做本地测试 对于个人开发者 可以下载MySQL Community Server版本 该版本是免费的 安装和配置方法如下 MySQL Server下载地址 https dev mys
  • 算法通关村-----快速排序的原理和实现

    快速排序介绍 快速排序是一种经典高效的排序方法 是分治策略在排序上的具体体现 将一个大的待排序列分割成若干个小的有序序列 最终将各个小的有序序列合并成一个大的有序序列 快速排序的实现原理 选择一个基准值 将小于基准值的元素放在基准值左侧 大
  • 程序员疯抢的 Java 面试宝典(PDF 版)限时开源,别把大厂想的那么难,关键是你准备得如何

    Java 面试 2022 届高校毕业生规模预计 1076 万人 同比增加 167 万人 对于 22 届的同学们来说 今年下半年大规模进行的秋招是获得全职 Offer 的最重要的途径 对于程序员来说 大家都知道校招难度相对于社招来说会有所降低
  • Windows IIS服务器建站/网站配置全图文流程(新手必备!) 一条龙

    阿里ECS云服务器购买配置全教程 本文提供全图文流程 中文翻译 Chinar 坚持将简单的生活方式 带给世人 拥有更好的阅读体验 高分辨率用户请根据需求调整网页缩放比例 Chinar 心分享 心创新 助力快速完成服务器的购买 配置 以及网站
  • vite 和 webpack 优缺点对比

    Vite 和 Webpack 都是前端构建工具 它们有一些相似之处 也有一些不同之处 下面是 Vite 和 Webpack 的优缺点对比 Vite 的优点 快速的开发者体验 Vite 可以实现快速的冷启动和热更新 使开发者可以迅速地获取反馈
  • [QT编程系列-21]:基本框架 - QT常见数据结构:QString、QList、QVector、QMap、QHash、QSet、QPair详解

    目录 1 QString 2 QList 3 QVector 4 QMap 5 QHash 6 QSet 7 QPair 1 QString QString是Qt中用于存储和操作字符串的类 它提供了丰富的字符串处理方法和功能 以下是QStr
  • 基于改进SEIR模型的病毒传播动力学建模与疫情预测分析(以COVID-19新冠病毒为例,超详细,带matlab源码)

    文章目录 前言 一 数学基础知识 符号定义 二 传统SEIR模型的建立与求解 1 经典的SEIR传播动力学模型建立 2 根据经典的SEIR模型列出微分方程并求解 三 SEIR模型第一次修正 1 模型建立 2 模型求解 四 SEIR模型的第二
  • C++项目实战-makefile

    makefile简介 一个工程中的源文件不计其数 一个项目有有很多的文件 现在的项目基本都是按模块进行划分的 而这些模块存放在若干目录中 makefile中定义了一系列的规则 这些规则定义了一系列如何编译程序的操作 比如哪些文件需要编译 哪
  • 如何使用git send-email

    How to Use git send email 建议使用git send email发送补丁 更多关于发送补丁的信息请参考Community 本文介绍如何使用git send email 安装 send email 你的git可能已经安
  • PLSQL Developer设置

    PLSQL Developer设置 解决用PLSQL Developer查询时数据大小超过100M的提示问题 Tools gt Preferences gt SQL Window Maximum Result Set size 0 is u
  • error 1962

    今天电脑出了一点小毛病 报错 error 1962 No operation system found 由于很多的资料还有项目在里边存着 而且只有一个c盘 这可怎么解决 对于一个英文不好的中国人来说 这可是个麻烦事 静下心 仔细琢磨还是能够
  • C++11新特性

    1 列表初始化 2 变量类型推导 3 范围for循环 4 final与override 5 智能指针 6 新增加容器 静态数组array forward list以及unordered系列 7 默认成员函数控制 8 右值引用 9 lambd
  • gcc -lpthread

    转自 http www cnblogs com suntp p 6473751 html 如果用gcc编译使用了POSIX thread的程序时 通常需要加额外的选项 以便使用thread safe的库及头文件 一些老的书里说直接增加链接选
  • 《机器学习的随机矩阵方法》

    机器学习的随机矩阵方法 作者 Romain Couillet 和Zhenyu Liao 出版商 剑桥大学出版社 第 1 版 2022 年 10 月 31 日 语言 英语 精装版 408 页 ISBN 10 1009123238 ISBN 1
  • chrome浏览器https证书不安全页面打开设置

    访问https协议的页面浏览器都会加载此页面所需要的证书 在证书不被信任 即证书不是有正规CA机构颁发的话 通常是由自己通过证书生成工具或命令生成的 chrome浏览器会提示页面不安全而不会直接访问该页面 此时有两种选择 选择安全方式 不再
  • 面试题创作0005,请说明Linux 和 AI的关系(联系和区别)

    请说明Linux 和 AI的关系 联系和区别 可以在AI的业务应用 平台服务提供 平台设备商 集成电路开发等各个跟AI相关的行业来寻找联系和区别
  • MATLAB——矩阵与阵列

    变量及操作 变量命名规则 赋值语句 运算符和表达式 矩阵产生与表示 直接输入法创建矩阵 向量法创建矩阵 函数法创建矩阵 特殊矩阵 矩阵元素的引用 矩阵单个元素与行列提取 向量标识方式 矩阵基本操作 矩阵提取子块 合并短阵 转置与展开 提取子
  • Lion闭源大语言模型的对抗蒸馏框架实践

    Lion闭源大语言模型的对抗蒸馏框架实践 概述 对抗蒸馏框架概述 我们基于高级闭源LLM的基础上提炼一个学生LLM 该LLM具有三个角色 教师 裁判和生成器 有三个迭代阶段 模仿阶段 对于一组指令 将学生的响应与老师的响应对齐 区分阶段 识
  • ESP8266-NodeMCU(一)

    ESP8266 NodeMCU开发板的驱动有CH340和CP210等等 本文使用ESP8266 NodeMCU CH340驱动版本 一 开发板详解 NodeMCU是一个开源的IoT物联网硬件开发板 由于它支持WIFI功能且使用方法十分类似A