使用 Arduino IDE 编程 ESP8266 (NodeMCU)






4.87/5 (6投票s)
使用 NodeMCU (ESP8266) 项目,通过 Arduino 编程语言控制 RGB LED
引言
这是一篇介绍性文章,面向那些已经熟悉 Arduino 平台并开始通过 NodeMCU 平台或同一类别的任何其他微控制器编程 ESP8266 模块的人。
ESP8266 模块
ESP8266 模块是一个物联网设备,由一个 32 位 ARM 微处理器组成,支持 WIFI 网络和内置闪存。 这种架构允许它独立编程,而不需要其他微控制器,例如 Arduino。
问题是,为了创建专注于 ESP8266 的开发环境,我们需要构建一个包含其他集成组件的电路以方便工作。 这就是为什么出现了几个包含 ESP8266 的板的项目,其中我们重点介绍了以下内容
在本文中,我们将使用 NodeMCU 板作为示例,但该设计可以轻松适应任何其他 ESP8266 平台。
NodeMCU 平台
NodeMCU 是一个完整的物联网原型硬件和软件环境,包含以下项目
- 由 ESP8266 模块组成的控制器板
- Micro USB 端口用于供电(5 伏)和编程
- 10 个数字输入 GPIO,工作电压为 3.3V,以及一个模拟输入 GPIO,电压为 1.8 V
- 基于 Lua 语言的开发套件
NodeMCU 平台相对于 Arduino 的优势
- 低成本
- 集成的 WIFI 网络支持
- 板的尺寸减小
- 低功耗
缺点
- 需要学习一门新语言和 IDE
- 引脚数量减少
- 文档匮乏
NodeMCU 编程可以像 Arduino 一样简单。 主要区别在于板的引脚定义,如下所述
有 6 个额外的 GPIO。 除了 GPIO16 (D0) 之外,所有这些都可以编程为 PWM、I2C、1-wire。
有关 ESP8266 和 NodeMCU 的详细信息,请参阅页面末尾的参考资料。
本文的目的是展示如何使用 Arduino 编程语言对 NodeMCU 进行编程,因为通过这种方式,我们大大减少了该平台提供的缺点。
NodeMCU 示例项目
我们将开发的示例项目包括使 RGB LED 闪烁,在其基本颜色(红、绿、蓝)之间交替,在一个无限循环中。 在这里观看视频演示 。
所需组件
- NodeMCU 板
- RGB LED
- 3 个 220 欧姆电阻(或近似值)
- 跳线
安装细节
软件安装
- 在使用 IDE 之前,在操作系统中安装 USB 驱动程序,这可能是 CH340 或 CP2102,具体取决于板的版本。
- 运行 Arduino IDE。 如果尚未安装,请在此处安装:https://www.arduino.cc/en/Main/Software
- 打开“首选项”窗口,在“附加板管理器 URL”中输入以下地址: http://arduino.esp8266.com/stable/package_esp8266com_index.json
- 在“工具”菜单上,根据您使用的型号配置您的板。 最常见的选项是
- 板:NodeMCU,根据其型号
- CPU 频率:80 MHz
- 上传速度:115200
准备好了吗? 现在就像 Arduino 一样:让我们开始编程吧!
注意:当您将 NodeMCU 板与 Arduino IDE 一起使用时,Lua 固件将被删除并替换为草图。 如果您想再次使用 Lua SDK,则需要重新“刷写”固件。
The Sketch
/*
NodeMCU example: RGB Led blinking
2016 by José Cintra
wwww.josecintra.com/blog
*/
int redPin = D1, greenPin = D2, bluePin = D3;
void setup() {
pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT);
}
void loop() {
digitalWrite(redPin, HIGH); delay(500);
digitalWrite(redPin, LOW); delay(500);
digitalWrite(greenPin, HIGH); delay(500);
digitalWrite(greenPin, LOW); delay(500);
digitalWrite(bluePin, HIGH); delay(500);
digitalWrite(bluePin, LOW); delay(500);
}
资源
- http://nodemcu.com/index_en.html
- http://embeddedcomputing.weebly.com/nodemcu-board.html
- http://frightanic.com/iot/comparison-of-esp8266-nodemcu-development-boards/
- https://www.youtube.com/watch?v=5hu9WHYJi98
结论
在本文中,我们看到了如何在 Arduino IDE 中配置 NodeMCU。 在即将发布的文章中,我们将调整此设计以使用蓝牙和 Wi-Fi。
在下一个项目中再见...