NodeMCU ESP8266硬件开发板的熟悉

硬件开发环境的熟悉

基础介绍

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

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

最近更新

  1. TCP协议是安全的吗?

    2023-12-09 11:20:01       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-09 11:20:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-09 11:20:01       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-09 11:20:01       20 阅读

热门阅读

  1. error: overloaded function with no contextual type information

    2023-12-09 11:20:01       35 阅读
  2. 爬虫解析-BeautifulSoup-bs4(七)

    2023-12-09 11:20:01       37 阅读
  3. vue+vite+diff.js使用方法

    2023-12-09 11:20:01       37 阅读
  4. npm、yarn常用命令

    2023-12-09 11:20:01       39 阅读
  5. Mac 打不开github解决方案

    2023-12-09 11:20:01       43 阅读
  6. HTML实现每天单词积累

    2023-12-09 11:20:01       22 阅读
  7. 前端知识笔记(三十七)———Django与Ajax

    2023-12-09 11:20:01       36 阅读
  8. uniapp监听wifi连接状态

    2023-12-09 11:20:01       36 阅读
  9. C/C++——内存管理

    2023-12-09 11:20:01       40 阅读
  10. TCP Keepalive 和 HTTP Keep-Aliv

    2023-12-09 11:20:01       37 阅读
  11. selenium补充

    2023-12-09 11:20:01       43 阅读
  12. SAP UI5 walkthrough step4 XML Views

    2023-12-09 11:20:01       35 阅读