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

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云服务器搭建网站(图文新手教程)

使用阿里云服务器快速搭建网站教程,先为云服务器安装宝塔面板,然后在宝塔面板上新建站点,阿里云服务器网以搭建WordPress网站博客为例,来详细说下从阿里云服务器CPU内存配置选择、Web环境、域名解析到网站上线全流程: …

TempleteMethod

TempleteMethod 动机 在软件构建过程中,对于某一项任务,它常常有稳定的整体操作结构,但各个子步骤却有很多改变的需求,或者由于固有的原因 (比如框架与应用之间的关系)而无法和任务的整体结构同时实现。如…

【进程管理】初识进程

一.何为进程 教材一般会给出这样的答案: 运行起来的程序 或者 内存中的程序 这样说太抽象了,那我问程序和进程有什么区别呢?诶?这我知道,书上说,动态的叫进程,静态的叫程序。那么静态和动态又是什么意思…

坦克世界WOT知识图谱三部曲之爬虫篇

文章目录 关于坦克世界1. 爬虫任务2. 获取坦克列表3. 获取坦克具体信息结束语 关于坦克世界 《坦克世界》(World of Tanks, WOT)是我在本科期间玩过的一款战争网游,由Wargaming公司研发。2010年10月30日在俄罗斯首发,2011年4月12日在北美和欧洲推出&…

SQL:增、删、改、查 基本语句 Navicat建库(用法 + 例子)

文章目录 新建数据库新建表 增、删、改、查select 查找insert 添加delete 删除update 修改where 扩展 < > < > ! <> 比较运算符and or 逻辑运算符between...and... 介于..和..之间in 包含like 模糊查询is null 为空的 查询扩展order by 排序limit start coun…

【计算机组成原理】考研真题攻克与重点知识点剖析 - 第 2 篇:数据的表示和运算

前言 本文基础知识部分来自于b站&#xff1a;分享笔记的好人儿的思维导图与王道考研课程&#xff0c;感谢大佬的开源精神&#xff0c;习题来自老师划的重点以及考研真题。此前我尝试了完全使用Python或是结合大语言模型对考研真题进行数据清洗与可视化分析&#xff0c;本人技术…

mysql日期月份相关函数

从给定日期提取最后一天&#xff1a; 要知道2017年12月的最后日期&#xff0c;可以按以下方式执行LAST_DAY()函数&#xff1a;用法:输出&#xff1a; 2017-12-31 从给定的日期时间中提取最后一天&#xff1a; 要使用日期时间格式了解月份的最后日期&#xff0c;可以按以下方式…

【Jmeter】性能测试脚本开发——性能测试环境准备、Jmeter脚本编写和执行

文章目录 一、常用的Jmeter元件二、性能测试环境准备三、编写Jmeter脚本四、执行测试脚本 一、常用的Jmeter元件 取样器-HTTP请求 作用&#xff1a;发送HTTP请求配置原件-HTTP请求默认值 作用&#xff1a;设置HTTP请求的默认参数配置原件-用户定义的变量 作用&#xff1a;定义…

分类预测 | Matlab实现BES-ELM秃鹰搜索算法优化极限学习机分类预测

分类预测 | Matlab实现BES-ELM秃鹰搜索算法优化极限学习机分类预测 目录 分类预测 | Matlab实现BES-ELM秃鹰搜索算法优化极限学习机分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 Matlab实现BES-ELM秃鹰搜索算法优化极限学习机分类预测&#xff08;完整源码和数…

探秘前后端开发世界:猫头虎带你穿梭编程的繁忙街区,解锁全栈之路

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

算法题:盛最多水的容器

这个题目乍一看就是双指针&#xff0c;没想到官方解答也是双指针&#xff0c;我在官方的基础上优化了一下下&#xff0c;左右两边各一个指针&#xff0c;每次移动短的那一头的时候&#xff0c;不是移动一格&#xff0c;而是找到比短的那一头要长一点的&#xff0c;再进行比较。…

Linux免交互

免交互概念 不需要进入文件内部&#xff0c;可以在文件外对文件内容进行操作 sed 最强大的功能&#xff1a;改 新增 awk 最强大的功能&#xff1a;按行取列 如何对文本内容进行免交互 here document 免交互 对文本内容进行操作&#xff1a;标准输入的替代品 语法格式&…

火山引擎 ByteHouse:TB 级数据下,如何实现高效、稳定的数据导入

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 近期&#xff0c;火山引擎开发者社区、火山引擎数智平台&#xff08;VeDI&#xff09;联合举办以《数智化转型背景下的火山引擎大数据技术揭秘》为主题的线下 Meeup…

【算法学习】-【双指针】-【盛水最多的容器】

LeetCode原题链接&#xff1a;盛水最多的容器 下面是题目描述&#xff1a; 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。…

【软件测试】自动化测试selenium(二)

文章目录 三. 掌握Selenium常用的API使用1. webdriver API2. 操作测试对象3. 添加等待4. 打印信息5. 浏览器的操作6. 键盘事件7. 鼠标事件8. 定位一组元素9. 多层框架/窗口定位10. 下拉框处理11. 弹窗处理12. 上传文件13. 关闭浏览器14. 切换窗口15. 截图操作 三. 掌握Selenium…

做私域,转化成交的秘诀!

数字化时代&#xff0c;企业开始重新定义和客户的关系&#xff0c;不仅是交易关系&#xff0c;更重要的是建立长久的、有价值的关系。 01. 私域的本质是客户经营 我们为什么要做私域&#xff1f;其实就是为了扩量提效&#xff0c;提复购加利润&#xff0c;把客户变成真正的自…

【LeetCode热题100】--199.二叉树的右视图

199.二叉树的右视图 思路&#xff1a; 使用根->右->左方法进行遍历节点&#xff0c;同时记录层数&#xff0c;将当前层数与记录的层数进行比较&#xff0c;如果当前层数大于记录的层数&#xff0c;添加该元素&#xff0c;若当前层数小于记录的层数&#xff0c;说明该层已…

博途1200/1500 ALT指令

SMART PLC的ALT指令实现代码,请查看下面文章博客 SMART PLC如何构造ALT指令_smart200类似alt指令-CSDN博客单按钮启停这些老生常谈的问题,很多人感兴趣。这篇博文讨论下不同的实现方法,希望对大家有所帮助。指令虽然简单,但是在编程的时候合理使用对我们高效率编程帮助还是…

蓝桥杯每日一题2023.10.5

3420. 括号序列 - AcWing题库 题目描述 题目分析 对于这一我们需要有前缀知识完全背包 完全背包的朴素写法&#xff1a; #include<bits/stdc.h> using namespace std; const int N 1010; int n, m, v[N], w[N], f[N][N]; int main() {cin >> n >> m;fo…

10链表-单链表构造LinkedList

目录 LeetCode之路——707. 设计链表 分析&#xff1a; Code&#xff1a; LeetCode之路——707. 设计链表 你可以选择使用单链表或者双链表&#xff0c;设计并实现自己的链表。 单链表中的节点应该具备两个属性&#xff1a;val 和 next 。val 是当前节点的值&#xff0c;n…