做一期ESP8266-NodeMCU物联网模块的介绍,详解该模块的电路和原理以及引脚的使用说明,后面会逐步上案例的。如有问题,请联系,及时更正。

ESP8266-NodeMCU 开发板

物联网模块,有ESP8266网络模块,配置有一般开发板的常用功能。iic ,pwm ,串口等常见通信。

ESP8266-NodeMCU

  1. ESP8266-NodeMCU是一个开源硬件开发板,由于它支持WIFI功能,所以在物联网(IOT)领域,Arduino开发板最大的对手之一就是ESP8266-NodeMCU开发板。
  2. ESP8266-NodeMCU尺寸与Nano类似,他并不是Arduino团队开发的,但是我们也可以使用Arduino IDE对他进行开发。而且他还有一颗地道的“中国芯”—ESP8266模块。
    NodeMcu arduino编程环境搭建(Esp8266开发环境搭建)
  3. ESP8266模块+NodeMCU模块组成的
  4. 简单理解一下NodeMCU ,NodeMCU,是一个开源的物联网平台。 它使用Lua脚本语言编程。该平台基于eLua开源项目,底层使用ESP8266 sdk 0.9.5版本。该平台使用了很多开源项目, 例如 lua-cjson, spiffs. NodeMCU包含了可以运行在esp8266Wi-FiSoC芯片之上的固件,以及基于ESP-12模组的硬件,(少量的排针和usb 数据接口,存储构成最简单的一个用用功能的单元模块)
  5. 生产厂家:安信可和乐鑫都是主流的esp8266 衍生流,,差球不多,均都有中英文说明。

目前流行的ESP8266-NodeMCU有两块,他们只是串口烧写芯片有所不同,因此在开发之前需要安装对应板子的串口驱动,分别是CH340和CP2102驱动,然后直接用安卓数据线连接电脑。

NodeMCU引脚功能

上图图例说明
POWER: 电源                                    SP,FUNCTION:nodemcu 操作内部存储单元的(6-11不用)
I/O:通用输入输出                                COMM,INTERFACE: 均代表的是通讯引脚spi ,串口,iic
ADC:模拟                                       PIN NUMBER:排针序号,开发过程不太用,pcb制作会用
CONTROL:字面理解就是控制,8266 都知道需要CHPD拉高   PWM
N/C: N/O 是常开触点。N/C 是常闭触点(就是不用)
sub数据口旁边的两个按键说明一下
RST(复位键)               
FLASH(刷固件用的,可以参考刷固件手册)
ESP8266引脚功能一览

ESP8266芯片有17个GPIO引脚(GPIO0~GPIO16)。这些引脚中的GPIO6~GPIO 11被用于连接开发板的闪存(Flash Memory)。如果在实验电路中使用GPIO6~GPIO11,NodeMCU开发板将无法正常工作。因此建议您不要使用GPIO6~GPIO 11。

作为唯一模拟引脚ADC引脚AD
   电压 0-1V,
   其他数字引脚0-3.3V 

-lua编程中的端口例如:lua程序中的pin5对应D5,D5对应GPIO14 pin2对应D2,D2对应GPIO4 其中pin6-pin11 不可用,

–lua编程中的端口对应:[[
0–GPIO16 1–GPIO5 2–GPIO4 3–GPIO0 4–GPIO2
5–GPIO14 6–GPIO12 7–GPIO13 8–GPIO15 9–GPIO3
10–GPIO1 11–GPIO9 12–GPIO10
]]

GPIO15(D8)

GPIO15(D8)引脚在开发板运行中一直保持低电平状态。
因此请不要使用GPIO15引脚来读取开关状态或进行I²C通讯。

上拉电阻/下拉电阻
GPIO 0-15引脚都配有内置上拉电阻。这一点与Arduino十分类似。GPIO16 引脚配有内置下拉电阻。

Esp8266芯片的模拟输入

ESP8266 只有一个模拟输入引脚(该引脚通过模拟-数字转换将引脚上的模拟电压数值转化为数字量)。
此引脚可以读取的模拟电压值为 0 – 1.0V。请注意:ESP8266 芯片模拟输入引脚连接在1.0V以上电压可能损坏ESP8266芯片。
以上所描述的是针对ESP8266芯片的引脚。

幸运的是,对于NodeMCU开发板引脚,情况就不同了。
NodeMCU开发板配有降压电路。您可以用NodeMCU开发板的模拟输入引脚读取0-3.3V的模拟电压信号。

串行端口 请勿占用使用TA

ESP8266有2个硬件串行端口(UART)。
串行端口0(UART0)使用GPIO1和GPIO3引脚。其中GPIO1引脚是TX0,GPIO3是RX0。
串行端口1(UART1)使用GPIO2和GPIO8引脚。其中GPIO2引脚是TX1,GPIO8是RX1。请注意,由于GPIO8被用于连接闪存芯片,串行端口1只能使用GPIO2来向外发送串行数据。

IIC模式

ESP8266只有软件模拟的I²C端口,没有硬件I²C端口。也就是说我们可以使用任意的两个GPIO引脚通过软件模拟来实现I²C通讯。ESP8266的数据表(datasheet)中,GPIO2标注为SDA,GPIO14标注为SCL。

SPI 模式

ESP8266的SPI端口情况如下:

GPIO14 — CLK
GPIO12 — MISO
GPIO13 — MOSI
GPIO 15 — CS(SS)

GPIO15----管脚D8
GPIO12-----管脚D6
GPIO14-----管脚D5
GPIO4-----管脚D2

Arduino 编程 ESP8266 12F NodeMCU 实现 PWM 控制呼吸灯

ESP8266 网络

同ESP8266模块用法一样,

电路图如下

请添加图片描述
图片来自商家的,有点虚,自己下载放大看吧

下面是学习Arduino 开发的主文件示例,后面的程序会在改函数基础上去编写代码。

/*当程序开始执行时,将调用setup()函数,使用它来初始化变量,引脚模式,开始使用库等。设置功能仅在 Arduino 板的每次通电或复位后运行一次。使用此函数,类似于起始函数。与stm32的main函数相似的*/
void setup() {
  // put your setup code here, to run once:
/*在创建一个 setup() 函数(初始化并设置初始值)之后,loop() 函数将按照其名称的含义执行,并连续循环,从而允许程序进行更改和响应。使用它来主动控制arduino板。连续执行函数内的语句.写一些需要循环操作的逻辑代码*/
void loop() {
  // put your main code here, to run repeatedly:

后面会发布 NodeMcu arduino ESP8266WIFI 模块的例程。

相信看这篇文章的同学,希望可以熟悉ESP8266这个硬件平台。当然我们也通过基于ESP8266这个硬件平台,在标准化硬件的Arduino的基础上做一些有趣的硬件小项目。当然这个过程中,我们暂时可以忽略掉很多硬件的细节,集中精力在硬件原理的学习,以及应用的实现上,提高学习兴趣,更加有信心地去完成学习计划。Arduino是一个灵活的平台,目的是为了降低电子项目的门槛,硬件和软件都是开源,可以用它来快速构建各种电子设备。 下图是网上出现最频繁的NODE MCU开发板,由ESP8266模块、USB转TTL芯片、5V转3.3V的LDO、自动下载电路等组成。 ESP8266指的是乐鑫推出的ESP8266-EX芯片,用ESP8266-EX芯片和flash芯片等封装在一起便得到ESP8266模块。 ESP8266模块的品牌一般分为乐鑫和安信可。 这是淘宝上的图,此WiFi模块厂商为乐鑫 这是本人根据上图开发板的开源图纸DIY的,此WiFi模块厂商为安信可 一.开发板详解ESP8266-NodeMCU开发板的驱动有CH340和CP210等等,本文使用ESP8266-NodeMCU CH340驱动版本。一.开发板详解NodeMCU是一个开源的IoT物联网硬件开发板,由于它支持WIFI功能且使用方法十分类似Arduino开发板,所以近些年获得了越来越多来自全世界的创客朋友们的青睐。NodeMCU尺寸与Arduino Nano类似。它并不是Arduino团队开发的,但是我们也可以使用Arduino IDE 对它进行开发。而且它还有一颗地道的。 正文如下: 一、ESP8266-NodeMCU NodeMCU是一个IOT物联网硬件开发板,它支持WIFI功能且使用方法和Arduino开发板类似。我们可以使用Arduino IDE对这块板子进行开发。 首先是CH340G下载电路,CH340自动下载电路在前一个帖子已经分析过了,这里有一个点需要确认即可,在网上看到有的是5V供电的,有的是3.3V供电的,需要确认一下那个是合理的。​我们直接来看CH340G的芯片手册,说明这芯片是支持3.3V和5V的。看到测试的数据,写的是5V的测试数据,说明这个芯片典型的用法的接5V,并且我们的板子设计也是通过USB供电,可以轻易得到5V电源,因此这里我们也选择使... nodemcu是一个开源的物联网平台,它包含了可以运行在esp8266 Wi-FiSoC芯片之上的固件,以及基于ESP-12模组的硬件,使用Lua脚本语言编程,当然也支持AT指令。启动Esplorer,连接nodemcu,点击“clip Info"按键会如图显示,这时候点一下nodemcu上的RST键就连接成功了。原因是硬件加电时,会加载init.lua并执行,因为我们刚刷的固件,是没有这个文件的,因为我们需要编写一个然后再上传到硬件模块里。选好需要的模块,填写好邮箱,等待一会邮箱就会收到固件的下载链接。 ESP8266是乐鑫开发的一款低成本 Wi-Fi 芯片。ESP8266可以作为一共独立的设备进行运行,也可以作为一款WiFi模块,通过AT指令进行控制。例如,您可以将 ESP8266 连接到 单片机,通过串口AT指令实现增加 Wi-Fi 的功能。最实际的应用是将它其用作独立设备。这个后面我们会介绍,包括开发的内容,以及AT指令等。使用 ESP8266,我们可以像像使用 Arduino 一样控制输入和输出,并且集成了 Wi-Fi 功能。 ESP8266面向物联网应用的,高性价比、高度集成的 Wi-Fi MCU。 芯片ESP8266EX采用的QFN无引脚封装,且需要搭配FLASH使用,以及设计天线;使用起来比较麻烦。 我希望使用起来更加方便,便想到了使用ESP12S/12F这种集成模组(集成FLASH、天线)。 我只需设计一个最小系统及typeC自动下载电路设计,就可以愉快的用到自己的项目中了。 **解决两个问题:** 1.设计最小系统 2.type C自动下载电路............. 本文主要讲述利用 NodeMCU-ESP8266 开发板和继电器通过手机 APP “ 点灯 • Blinker ” 制作一款能够由手机控制的WiFi 智能开关,从而实现智能物联。