当前位置: 首页 > news >正文

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. 执行以下程序&#xff0c;输出结果为&#xff08;&#xff09; 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&#xff0c;y的值为20&#xff0c;x < y返回结果为tru…...

LeetCode 202 快乐数

今天再次做到需要int转化成String&#xff0c;从而方便运算的题目。&#xff08;当然还可以直接使用int运算也是没问题的&#xff09; 再次出现了我容易弄混淆的问题&#xff0c;Integer.valueOf和ASCII码转化的差异&#xff1f; 其实之前我以及有记录过该问题&#xff0c;详…...

国庆作业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#整个流程是&#xff0c;1.生成标准数据集&#xff0c;包括训练数据和测试数据 # 2.定义线性模型训练 # 模型初始化&#xff08;函…...

堆--数组中第K大元素

如果对于堆不是太认识&#xff0c;请点击&#xff1a;堆的初步认识-CSDN博客 解题思路&#xff1a; /*** <h3>求数组中第 K 大的元素</h3>* <p>* 解体思路* <ol>* 1.向小顶堆放入前k个元素* 2.剩余元素* 若 < 堆顶元素, 则略过* …...

ipad使用技巧

1、goodnotes中批量导入pdf文件 法一&#xff1a; 直接参考视频&#xff1a; 【目前为止所知iPad上goodnotes批量导入网盘文件最快的方法】 大致步骤&#xff1a;pdf文件传到百度网盘&#xff0c;然后ES软件登录百度网盘&#xff0c;在goodnotes中导入&#xff0c;选择ES&a…...

Windows系统上使用CLion远程开发Linux程序

CLion远程开发Linux程序 情景说明Ubuntu配置CLion配置同步 情景说明 在Windows系统上使用CLion开发Linux程序&#xff0c;安装CLion集成化开发环境时会自动安装cmake、mingw&#xff0c;代码提示功能也比较友好。 但是在socket开发时&#xff0c;包含sys/socket.h头文件时&am…...

github搜索技巧

指定语言 language:java 比如我要找用java写的含有blog的内容 搜索项目名称包含关键词的内容 vue in:name 其他如项目描述跟项目文档&#xff0c;如下 组合使用 vue in:name,description,readme 根据Star 或者fork的数量来查找 总结 springboot vue stars:>1000 p…...

Python生成器

生成器 Generators 要理解生成器&#xff0c;首先要理解迭代器&#xff0c;迭代器由以下三个部分组成&#xff1a; 可迭代对象&#xff08;iterable&#xff09;迭代器&#xff08;iterator&#xff09;迭代&#xff08;iteration&#xff09; 1. 可迭代对象 只要定义了可以…...

flutter开发实战-使用FutureBuilder异步数据更新Widget

flutter开发实战-使用FutureBuilder异步数据更新Widget 在开发过程中&#xff0c;经常遇到需要依赖异步数据更新Widget的情况&#xff0c;如下载图片后显示Widget&#xff0c;获取到某个数据时候&#xff0c;显示在对应的UI界面上&#xff0c;都可以使用FutureBuilder异步数据…...

1.2 数据模型

思维导图&#xff1a; 前言&#xff1a; **1.2.1 什么是模型** - **定义**&#xff1a;模型是对现实世界中某个对象特征的模拟和抽象。例如&#xff0c;一张地图、建筑设计沙盘或精致的航模飞机都可以视为具体的模型。 - **具体模型与现实生活**&#xff1a;具体模型可以很容…...

【实用工具】谷歌浏览器插件开发指南

谷歌浏览器插件开发指南涉及以下几个方面&#xff1a; 1. 开发环境准备&#xff1a;首先需要安装Chrome浏览器和开发者工具。进入Chrome应用商店&#xff0c;搜索“Extensions Reloader”和“Manifest Viewer”两个插件进行安装&#xff0c;这两个插件可以方便开发和调试。 2…...

应用层协议——DNS、DHCP、HTTP、FTP

目录 1、DNS 协议 1-1&#xff09;Hosts 文件 1-2&#xff09;DNS 系统 1-3&#xff09;域名的组成、分类和树状结构 1-4&#xff09;DNS 域名服务器类型 1-5&#xff09;DNS 查询方式 1-6&#xff09;DNS 域名解析的一般步骤 1-7&#xff09;对象类型与资源记录 2、D…...

XML文件读写

0、.pro文件添加依赖 QT xml1、使用 QDomDocument 方式 #include <QtXml/QDomDocument> #include <QtXml/QDomProcessingInstruction> #include <QtXml/QDomElement> #include <QFile> #include <QTextStream> #include <QDebug>bo…...

Win11 安装 Vim

安装包&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1Ru7HhTSotz9mteHug-Yhpw?pwd6666 提取码&#xff1a;6666 双击安装包&#xff0c;一直下一步。 配置环境变量&#xff1a; 先配置系统变量中的path&#xff1a; 接着配置用户变量&#xff1a; 在 cmd 中输入…...