NodeMCU ESP8266硬件开发板的熟悉
文章目录
- 硬件开发环境的熟悉
- 基础介绍
- 什么是 ESP8266 NodeMCU?
- NodeMCU
- 芯片
- ESP12-E 模组
- 开发板
- ESP8266 版本
- 引脚图
- Power
- GND
- I2C
- GPIO
- ADC
- UART
- SPI
- PWM
- Control
- 总结
硬件开发环境的熟悉
基础介绍
什么是 ESP8266 NodeMCU?
ESP8266
是乐鑫开发的一款低成本 Wi-Fi 芯片。
ESP8266可以作为一共独立的设备进行运行,也可以作为一款WiFi模块,通过AT指令进行控制。
例如,您可以将 ESP8266 连接到 单片机,通过串口AT指令实现增加 Wi-Fi 的功能。最实际的应用是将它其用作独立设备。
这个后面我们会介绍,包括开发的内容,以及AT指令等。
使用 ESP8266,我们可以像像使用 Arduino 一样控制输入和输出,并且集成了 Wi-Fi 功能。
这意味着我们可以很轻松地对设备进行联网,这对于家庭自动化和物联网应用程序非常有用。
传统的模式需要WiFi网卡和协议栈,ESP8266内部集成了TCP/IP协议栈,这里免去相当大的工作量;
ESP8266在国内外都非常受欢迎,拥有一大批电子爱好者,它的优点;
- 低成本:较低的价格就可以买到 ESP8266 开发板;
- 低功耗:与其他微控制器相比,ESP8266 的功耗非常低,甚至可以进入深度睡眠模式以降低功耗;
- 网络:网络的功能是最大的亮点,可以快速构建物联网应用的硬件平台;
- ESP8266可以作为WiFi接入点(Station),这样可以方便连接互联网,通过HTTP协议和云端服务器进行连接,数据处理;
- ESP8266可以作为热点(Access Point),这样方便其他设备的接入,可以作为网络服务器;
- 兼容 Arduino 编程:硬件标准化的Arduino,可以大大降低上手的难度,如果熟悉Arduino,就可以很轻松地上手;
- 兼容 MicroPython :可以使用Python进行嵌入式编程,实现很多有趣的应用;
NodeMCU
NodeMCU
指的是一款固件,本文是指适配于ESP8266的固件,开发板一般称为DevKit,NodeMCU ESP8266 12E 开发板如下图所示;
开发板上集成了一个ESP-12E模组,模组是带着金属屏蔽罩,屏蔽罩下面是ESP8266芯片,整体结构如下;
简单说明一下;
- 红色框内是芯片,ESP8266EX;
- 蓝色框内是ESP12-E模组,这个是有AI-Thinker开发的模组(ESP8266EX芯片加上一部分外围电路);
- 黑色框内是NodeMCU ESP8266 开发板;
可以看到的是,在硬件设计是也是一层一层进行封装的。
芯片
ESP8266EX芯片由乐鑫制造,内置 WiFi,功耗低。Tensilica L 106 32 位 RISC 处理器,最大时钟速度为 160 MHz。芯
片具体如下所示;
ESP12-E 模组
ESP-12E 是 AI-THINKER 开发的开发板,由 ESP8266EX 组成,位于金属盖内。
开发板
ESP8266 版本
ESP8266模块有多个版本,如下图所示。ESP-12E 是非常流行的版本。有很多开发板上都集成这块模块,当然,我们也很容易可以买到这些开发板。
引脚图
下面简单介绍一下NodeMCU ESP8266的引脚,外部引脚包括:
- 电源接口;
- 17 个 GPIO;
- SPI;
- I2C(通过软件实现);
- UART串口;
- ADC接口;
具体如下所示;
Power
开发板上有四个电源引脚;
- 1 个 VIN 引脚;
- 3 个 3.3V 引脚;
如果有 5V 稳压源,VIN 引脚可用于直接为 ESP8266 及其外设供电。
3.3V 引脚是板载稳压器的输出。这些引脚可用于为外部组件供电。
GND
GND 为 ESP8266 NodeMCU 开发板的接地引脚。
I2C
- I2C引脚用于连接项目中的各种 I2C 传感器和外设。
- 支持 I2C Master 和 I2C Slave。
I2C接口功能可以通过编程方式实现,时钟频率最大为100 kHz。
需要注意的是,I2C 时钟频率应高于从设备的最慢时钟频率。
GPIO
GPIO引脚 ESP8266 NodeMCU 有 17 个 GPIO 引脚,可以通过编程方式分配给各种功能,如 I2C、I2S、UART、PWM、红外遥控、LED 灯和按钮。
每个数字启用的 GPIO 均可配置为内部上拉或下拉,或设置为高阻抗。
当配置为输入时,还可以设置为边沿触发或电平触发以生成 CPU 中断。
ADC
NodeMCU 嵌入了 10 位精度 SAR ADC。
这两个功能可以使用 ADC 来实现,即;
- 测试VDD3P3引脚的电源电压;
- 测试TOUT引脚的输入电压;
但是,它们不能同时实现。
UART
UART引脚 ESP8266 NodeMCU 有 2 个 UART 接口,即 UART0 和 UART1,提供异步通信(RS232 和 RS485),通信速率高达 4.5 Mbps。
- UART0(TXD0、RXD0、RST0 和 CTS0 引脚)可用于通信。它支持流体控制;
- UART1(TXD1 引脚)仅具有数据传输信号,因此通常用于打印日志;
SPI
SPI引脚 ESP8266 在从模式和主模式下具有两个 SPI(SPI 和 HSPI);
这些 SPI 还支持以下通用 SPI 功能:
- SPI格式传输的4种时序模式
- 高达 80 MHz 和 80 MHz 分频时钟
- 高达 64 字节 FIFO
- SDIO引脚 ESP8266 具有安全数字输入/输出接口 (SDIO),用于直接连接 SD 卡。
支持 4 位 25 MHz SDIO v1.1 和 4 位 50 MHz SDIO v2.0
PWM
PWM引脚 该板有 4 个脉冲宽度调制 (PWM) 通道。PWM 输出可以通过编程方式实现,并用于驱动数字电机和 LED。PWM 频率范围可在 1000 μs 至 10000 μs 之间调节,即 100 Hz 至 1 kHz 之间。
Control
控制引脚用于控制 ESP8266。这些引脚包括芯片使能引脚 (EN)、复位引脚 (RST) 和 WAKE 引脚。
- EN 引脚:当 EN 引脚拉高时,ESP8266 芯片被启用。当拉低时,芯片以最小功率工作;
- RST 引脚:RST 引脚用于复位 ESP8266 芯片;
- WAKE 引脚:唤醒引脚用于将芯片从深度睡眠状态唤醒;
总结
本文简单介绍了NodeMCU ESP8266开发板的引脚分布情况以及一些基本概念。由于作者能力有限,文章中难免存在错误和纰漏,请大胆指正,如果对于文章中存在疑惑或者问题,欢迎在评论区进行留言。
如果文章帮到了你,请帮忙点赞,三连支持👍👍👍。
相关文章:

NodeMCU ESP8266硬件开发板的熟悉
文章目录 硬件开发环境的熟悉基础介绍什么是 ESP8266 NodeMCU?NodeMCU芯片ESP12-E 模组开发板 ESP8266 版本引脚图Power GND I2CGPIOADCUARTSPIPWMControl 总结 硬件开发环境的熟悉 基础介绍 什么是 ESP8266 NodeMCU? ESP8266是乐鑫开发的一款低成本 …...

计算机毕业设计 基于SSM的在线预约导游系统的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...

Mac 挂载 Alist网盘
挂载服务器的Alist 网盘到 Mac mac,使用的是 CloundMounter 这个软件进行挂载 http://ip:port/dav/ 需要在末尾加上 /dav/ 在一些服务器上,为了提供WebDAV服务,需要在URL地址的末尾添加"/dav/“。这是因为WebDAV协议规定了一些标准的URL路径&#x…...

【多模态融合】TransFusion学习笔记(1)
工作上主要还是以纯lidar的算法开发,部署以及系统架构设计为主。对于多模态融合(这里主要是只指Lidar和Camer的融合)这方面研究甚少。最近借助和朋友们讨论论文的契机接触了一下这方面的知识,起步是晚了一点,但好歹是开了个头。下面就借助TransFusion论文…...

(二)正点原子STM32MP135移植——TF-A移植
目录 一、TF-A概述 二、编译官方代码 2.1 解压源码 2.2 打补丁 2.3 编译准备 (1)修改Makfile.sdk (2)设置环境变量 (3)编译 三、移植 3.1 复制官方文件 3.2 修改电源 3.3 修改TF卡和emmc 3.4 添…...

将二叉搜索树转化为排序的双向链表
链接: LCR 155. 将二叉搜索树转化为排序的双向链表 题解: /* // Definition for a Node. class Node { public:int val;Node* left;Node* right;Node() {}Node(int _val) {val _val;left NULL;right NULL;}Node(int _val, Node* _left…...

电脑dll丢失应该怎么解决,dll文件丢失怎么恢复方法分享
DLL(Dynamic Link Library,动态链接库)是一种可执行文件,它包含了在程序运行时需要调用的代码和资源。DLL 文件的主要作用是实现代码和资源的共享,这样在多个程序之间就可以避免重复的代码和资源,从而节省系…...

通达信和同花顺能否实现程序化自动交易股票,量化交易如何实现?
以下写给正在寻找自动交易接口的朋友,首先,不是那种设置个简单条件的条件单,或者某些客户端上形同鸡肋的策略交易,那些策略根本称不上策略,还有各种限制,不支持这个不支持那个,可设置的参数也不…...

基于Kylin的数据统计分析平台架构设计与实现
目录 1 前言 2 关键模块 2.1 数据仓库的搭建 2.2 ETL 2.3 Kylin数据分析系统 2.4 数据可视化系统 2.5 报表模块 3 最终成果 4 遇到问题 1 前言 这是在TP-LINK公司云平台部门做的一个项目,总体包括云上数据统计平台的架构设计和组件开发,在此只做…...

Linux CentOS7 vim寄存器
计算机中通常所说的寄存器Register一般指的是CPU中的寄存器,用来暂存CPU处理所需要的指令、数据等。 vim中同样也有寄存器,使用的方式和CPU非常类似。 vim中的寄存器(register)作用和windows中的剪切板类似,不过vim中的寄存器不止一个&…...

摄影后期图像编辑软件Lightroom Classic 2023 mac中文特点介绍
Lightroom Classic 2023 mac是一款图像处理软件,是数字摄影后期制作的重要工具之一,lrc2023 mac适合数字摄影后期制作、摄影师、设计师等专业人士使用。 Lightroom Classic 2023 mac软件特点 高效的图像管理:Lightroom Classic提供了强大的图…...

一种4g扫码付费通电控制器方案
之前开发了一款扫码付款通电控制器 功能:用户扫码付款后设备通电,开始倒计时,倒计时结束后设备断电,资金到账商家的商家助手里面,腾讯会收取千分之6手续费。 产品主要应用场景 本产品主要应用于各类无人值守或者自助…...

桌面自动化工具总结
引言:产品经理提出桌面程序需要自动化的测试,避免繁琐的人肉点击。说干就干。 现有自动化工具是五花八门,我找了两个框架。 这两个框架都是基于微软的UIA 框架,链接地址 https://learn.microsoft.com/en-us/windows/win32/winauto/uiauto-providerportal?source=recommen…...
Python入门教程 | Python 常用标准库概览
Python3 标准库概览 Python 标准库非常庞大,所提供的组件涉及范围十分广泛,使用标准库我们可以让您轻松地完成各种任务。 以下是一些 Python3 标准库中的模块: os 模块:os 模块提供了许多与操作系统交互的函数,例如创…...

【JavaScript】读取本地json文件并绘制表格
本文为避免跨域问题,使用了改造过的本地json文件的方法实现读取json数据并绘制表格。 如果发起http请求获取本地 json文件中数据,需要架设本地服务器,本文不做阐述。 概述 1、json在本地,并不需要从服务器下载。 2、采用jquery…...
前端笔试题总结,带答案和解析(一)
1. 执行以下程序,输出结果为() var x 10; var y 20; var z x < y ? x:y; console.log(xx;yy;zz);A x11;y21;z11 B x11;y20;z10 C x11;y21;z10 D x11;y20;z11 初始化x的值为10,y的值为20,x < y返回结果为tru…...
LeetCode 202 快乐数
今天再次做到需要int转化成String,从而方便运算的题目。(当然还可以直接使用int运算也是没问题的) 再次出现了我容易弄混淆的问题,Integer.valueOf和ASCII码转化的差异? 其实之前我以及有记录过该问题,详…...
国庆作业day6
服务器 #include <my_head.h> #define IP "192.168.101.66" #define PORT 6666 int main(int argc, const char *argv[]) {//创建套接字int fd socket(AF_INET, SOCK_STREAM, 0);if(fd < 0){ERR_MSG("socket");return -1;}struct sockaddr_in s…...

李沐深度学习记录4:12.权重衰减/L2正则化
权重衰减从零开始实现 #高维线性回归 %matplotlib inline import torch from torch import nn from d2l import torch as d2l#整个流程是,1.生成标准数据集,包括训练数据和测试数据 # 2.定义线性模型训练 # 模型初始化(函…...

堆--数组中第K大元素
如果对于堆不是太认识,请点击:堆的初步认识-CSDN博客 解题思路: /*** <h3>求数组中第 K 大的元素</h3>* <p>* 解体思路* <ol>* 1.向小顶堆放入前k个元素* 2.剩余元素* 若 < 堆顶元素, 则略过* …...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...

Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道
文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...