NodeMCU ESP8266硬件开发板的熟悉

news2025/1/12 18:58:37

文章目录

  • 硬件开发环境的熟悉
    • 基础介绍
      • 什么是 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开发板的引脚分布情况以及一些基本概念。由于作者能力有限,文章中难免存在错误和纰漏,请大胆指正,如果对于文章中存在疑惑或者问题,欢迎在评论区进行留言。

如果文章帮到了你,请帮忙点赞,三连支持👍👍👍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1061941.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux系统下xxx is not in the sudoers file解决方法

文章目录 遇到问题解决方法参考 遇到问题 服务器上新建用户,名为lishizheng,现在想给该用户添加sudo权限。 $ sudo lsof -i tcp:7890 [sudo] password for lishizheng: lishizheng is not in the sudoers file. This incident will be reported.解决…

算法:强连通分量(SCC) Tarjan算法

强连通分量&#xff0c;不能再加任何一个点了&#xff0c;再加一个点就不是强连通了 vector<int>e[N]; int dfn[N],low[N],tot; bool instk[N]; int scc[N],siz[N],cnt; void tarjan(int x){//入x时,盖戳,入栈dfn[x]low[x]tot;q.push(x);instk[x]true;for(auto y:e[x]){i…

mysql8.0.31 源码阅读

知识背景 问&#xff1a;说说构造函数有哪几种&#xff1f;分别有什么用&#xff1f; C中的构造函数可以分为4类&#xff1a;默认构造函数、初始化构造函数、拷贝构造函数、移动构造函数。 1. 默认构造函数和初始化构造函数&#xff08;在定义类的对象时&#xff0c;完成对象…

Redis-持久化机制

持久化机制介绍 RDBAOFRDB和AOF对比 RDB rdb的话是利用了写时复制技术&#xff0c;他是看时间间隔内key值的变化量&#xff0c;就比如20秒内如果有5个key改变过的话他就会创建一个fork子进程&#xff08;bgsave&#xff09;&#xff0c;通过这个子进程&#xff0c;将数据快照进…

QT商业播放器

QT商业播放器 总体架构图 架构优点&#xff1a;解耦&#xff0c;采用生产者消费者设计模式&#xff0c;各个线程各司其职&#xff0c;通过消息队列高效协作 这个项目是一个基于ijkplayer和ffplayer.c的QT商业播放器, 项目有5部分构成&#xff1a; 前端QT用户界面 后端是集成了…

视频二维码的制作方法,支持内容修改编辑

现在学生经常会需要使用音视频二维码&#xff0c;比如外出打开、才艺展示、课文背诵等等。那么如何制作一个可以长期使用的二维码呢&#xff1f;下面来给大家分享一个二维码制作&#xff08;免费在线二维码生成器-二维码在线制作-音视频二维码在线生成工具-机智熊二维码&#x…

快速了解Spring Cache

SpringCache是一个框架&#xff0c;实现了基于注解的缓存功能&#xff0c;只需要简单的加一个注解&#xff0c;就可以实现缓存功能。 SpringCache提供了一层抽象&#xff0c;底层可以切换不同的缓存实现。例如&#xff1a; EHChche Redis Caffeine 常用注解&#xff1a; Enabl…

JMETER自适应高分辨率的显示器

系列文章目录 历史文章 每天15分钟JMeter入门篇&#xff08;一&#xff09;&#xff1a;Hello JMeter 每天15分钟JMeter入门篇&#xff08;二&#xff09;&#xff1a;使用JMeter实现并发测试 每天15分钟JMeter入门篇&#xff08;三&#xff09;&#xff1a;认识JMeter的逻辑控…

UG\NX二次开发 获取所有子部件,封装两个函数

文章作者:里海 来源网站:《里海NX二次开发3000例专栏》 感谢粉丝订阅 感谢 凉夜ronin 订阅本专栏,非常感谢。 简介 UG\NX二次开发 获取所有子部件,封装两个函数 效果 获取非抑制的所有子部件 //获取非抑制的所有子部件 vector<tag_t> GetChildPart(tag_t partOcc) {…

MyBatisPlus(十)判空查询

说明 判空查询&#xff0c;对应SQL语句中的 IS NULL语句&#xff0c;查询对应字段为 NULL 的数据。 isNull /*** 查询用户列表&#xff0c; 查询条件&#xff1a;电子邮箱为 null 。*/Testvoid isNull() {LambdaQueryWrapper<User> wrapper new LambdaQueryWrapper<…

基于安卓android微信小程序的远景民宿预订小程序

运行环境 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Ma…

W25Q128芯片手册精读

文章目录 前言1. 概述2. 特性3. 封装类型和引脚配置3.1 8焊盘WSON 8x6 mm3.2其他封装 4. 引脚描述4.1 片选4.2 串行数据输入输出4.3 写保护4.4 保持脚4.5 时钟 5. 块图6. 功能描述6.1 SPI功能6.1.1 标准SPI6.1.2 双通道SPI6.1.3 四通道SPI6.1.4 保持功能 6.2 写保护6.2.1 写保护…

【Golang】gin框架入门

文章目录 gin框架入门认识gingo流行的web框架gin介绍快速入门 路由RESTful API规范请求方法URI处理函数分组路由 请求参数GET请求参数POST请求参数路径参数文件参数 响应字符串方式JSON方式XML方式文件格式设置HTTP响应头重定向YAML方式 模板渲染基本使用多个模板渲染自定义模板…

SpringCache--缓存框架 ----苍穹外卖day7

目录 简介 ​快速入门 引入依赖 常用注解​ 使用步骤 1.开启缓存注解 2. Cacheable注解 简介 快速入门 引入依赖 常用注解 使用步骤 1.开启缓存注解 2. Cacheable注解 该注解仅用于查询操作&#xff0c…

零基础部署nginx mysql springboot

参考&#xff1a;写给开发人员看的Docker干货&#xff0c;零基础部署nginx mysql springboot 一、连接linux 阿里云 参考&#xff1a;部署到Linux 可能需要购买&#xff1a;购买链接 二、安装docker # 先切换到root用户下 sudo su# 更新apt-get&#xff0c;保证apt-get最新…

Shiro应用到Web Application

一、权限基础 a) 认证(你是谁&#xff1f;) 判断你(被认证者)是谁的过程。通常被认证者提供用户名和密码。 常见的认证包含如下几种&#xff1a; 匿名认证&#xff1a;允许访问资源&#xff0c;不做任何类型的安全检查。表单认证&#xff1a;访问资源之前&#xff0c;需要提…

SpringBoot vue云办公系统

SpringBoot vue云办公系统 系统功能 云办公系统 登录 员工资料管理: 搜索员工 添加编辑删除员工 导入导出excel 薪资管理: 工资账套管理 添加编辑删除工资账套 员工账套设置 系统管理: 基础信息设置 部门管理 职位管理 职称管理 权限组管理 操作员管理 开发环境和技术 开发语…

JavaEE-线程进阶

模拟实现一个定时器 运行结果如下&#xff1a; 上述模拟定时器的全部代码&#xff1a; import java.util.PriorityQueue;//创建一个类&#xff0c;用来描述定时器中的一个任务 class MyTimerTask implements Comparable<MyTimerTask> {//任务执行时间private long …

数据分析视角中的商业分析学习笔记

数据分析一大堆&#xff0c;结果却是大家早就知道的结论&#xff1f;是工具和方法出问题了吗&#xff1f;真正原因可能是你的思维有误区。 为什么分析的这么辛苦&#xff0c;得出的结论大家早知道&#xff0c;谁谁都不满意&#xff1f;核心原因有3个&#xff1a; 分析之前&am…

DHCPsnooping 配置实验(2)

DHCP报文泛洪攻击 限制接收到报文的速率 vlan 视图或者接口视图 dhcp request/ dhcp-rate dhcp snooping check dhcp-request enable dhcp snooping alarm dhcp-request enable dhcp snooping alarm dhcp-request threshold 1 超过则丢弃报文 查看[Huawei]dis dhcp statistic…