随着Arduino开发板的普及,对嵌入式电路板的需求也随之增加,这些插件随Arduino一起使用。最受欢迎的附加组件之一是WiFi模块,用于将Arduino开发板连接到互联网。不同的制造商发布了几块使用Arduino尺寸规格并带有板载WiFi模块的开发板,但是这些开发板都没有NodeMCU受欢迎。
今天,我们将探讨如何在项目中使用NodeMCU开发板,尤其是如何使用Arduino IDE轻松对该开发板进行编程。NodeMCU是基于ESP8266 WiFi的微控制器板,它解决了与基于在乐鑫的ESP8266 WiFi模块/芯片上多个版本的开发板相关的一些难题。
Arduino是在IoT革命开始的时候出现的,它为制造商提供了机会,可以通过构建简单的连接设备,结合Arduino和几种不同类型的WiFi和以太网模块来参与。所有这些模块要么太昂贵,要么使用起来非常复杂。因此,当第一版ESP8266模块(ESP-01)投放市场时,这绝对是一件令人高兴的事,因为低价格和高质量推动了该芯片的普及。但是,用户很快发现了从功率要求到面包板不友好的几个限制。这些芯片几乎没有开发文档,这使它们更加难以使用。为解决与这些模块相关的一些问题,制作了基于这些模块的多个开发板,例如Wemos D1(其工作方式类似于Arduino Uno)和Wemos Mini板,但它们中没有一个能达到与NodeMCU相同的流行度。NodeMCU板本质上是AI-thinker推出的ESP12E模块的开发板。
ESP-12E本身与以前的模块一样,由于以下因素而难以使用:面包板不友好,需要市场上不常见的排针以及解决这些问题的唯一解决方案当时,是一个适配器、一个FTDI分支板和一些其他连接件,使其变得面包板友好且易于编程。NodeMCU是该系列的产品,将所有必需的组件整合在一块面包板友好且可立即使用的板上同时保持与基于ESP的板相关的低成本。
该开发板的某些功能包括:
√ 类似于Arduino的GPIO
√ 可以使用Esplorer IDE或Arduino IDE进行编程。
√ 板载USB-TTL转换器可轻松实现编程
√ 10个板载数字I / O引脚,一个模拟引脚以及SPI、IIC和1-Wire通信协议的引脚
√ 广泛的WiFi功能(可以创建一个接入点和/或加入现有的接入点)。它用于将设备连接到互联网以获取/上传数据,并且可以用作用于简单页面的微型Web服务器。
√ 板载PCB天线
√ 3.3V逻辑电平
最初在ESP8266模块发布时,要在独立模式下工作,它们必须是使用需要了解LUA编程语言知识的ESplorer IDE进行编程,但是随着事情的进展,为Arduino IDE创建了开发板类型,现在人们可以使用Arduino IDE轻松编程多个基于ESP的板子。本篇文章旨在说明如何使用Arduino IDE轻松编程NodeMCU开发板。
所需的组件
● NodeMCU开发板
● USB电缆
● 面包板
● 跳线
● 220/100欧姆电阻
● 发光二极管
原理图
对于这个项目,我们将做一个嵌入式编程的hello world,该LED闪烁以演示nodeMCU的用法,因此我们的原理图涉及将LED连接到nodeMCU,如下所示。
准备ARDUINO IDE
在编写项目代码之前,重要的是安装所有必要的软件包,以使开发板与Arduino IDE兼容。我们将安装两个组件:
1. NodeMCU Arduino内核
2. 用于Arduino的ESP8266库。
1. NodeMCU Arduino内核
为了使其他开源板与Arduino IDE的集成更加容易,Arduino团队在最近的IDE中包括了板管理器。通过板管理器,可以将新板(基本上是Arduino IDE能够将代码上传到特定MCU所需的基于软件的组件)添加到IDE中。这些称为核心的基于软件的组件通常是由开发板的制造商(例如Sparkfun为其开发板所做的)或一组希望看到其开发板与Arduino IDE配合使用的用户开发。Arduino的ESP8266内核,它与NodeMCU兼容,由有推动开发板使用的社区成员开发而成,可在E
SP8266 Github页面
上找到,请按照以下步骤在Arduino IDE上安装开发板内核。
1. 在Arduino IDE打开Preferences窗口。转到
File > Preferences
2. 在Preferences窗口中,找到“
Additional Board Manager URL
”文本框,然后在如下所示的字段中输入:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
,然后单击“OK”按钮。
blink例子可能是与Arduino相关的所有例子中最常见的例子,我将对其进行一些解释。首先声明连接LED的NodeMCU的引脚。
接下来是void setup()函数。在该函数中,我们要做的就是将连接led的引脚设置为输出。
-
void setup() {
-
pinMode(LEDpin, OUTPUT); // Initialize pin D2 as an output
-
}
复制代码
最后,是
void loop()
函数。在这里,我们创建代码在一定间隔后打开和关闭LED,以创建闪烁效果。
-
void loop() {
-
digitalWrite(LEDpin, LOW); // Turn the LED on (Note that LOW is the voltage level
-
// but actually the LED is on; this is because
-
// it is active low on the ESP-01)
-
delay(1000); // Wait for a second
-
digitalWrite(LEDpin, HIGH); // Turn the LED off by making the voltage HIGH
-
delay(2000); // Wait for two seconds (to demonstrate the active low LED)
-
}
复制代码
效果演示
将代码上传到NodeMCU。过一会儿,您应该看到连接的LED开始闪烁。NodeMCU的功能肯定比本文中演示的要强大得多,但我希望能够帮助您入门,并且在接下来的几篇文章中我们将更深入地学习该开发板。