目录
介绍
NodeMCU是为ESP8266 wifi芯片开发的基于LUA的开源固件。通过探索ESP8266芯片的功能,NodeMCU固件附带ESP8266开发板/套件,即NodeMCU开发板。
NodeMCU开发板/套件v0.9(版本1)
由于NodeMCU是开源平台,因此它们的硬件设计是开放的,用于编辑/修改/构建。
NodeMCU开发套件/板由ESP8266 wifi启用芯片组成。该 ESP8266 是一个低成本 的Wi-Fi 通过Espressif系统的TCP / IP协议开发的芯片。
NodeMCU开发套件版本2(V2)可用,即NodeMCU开发板v1.0(版本2),通常采用黑色PCB。
NodeMCU开发板/套件v1.0(版本2)
NodeMCU开发套件在其电路板上具有类似模拟(即A0)和数字(D0-D8)引脚的Arduino。
它支持串行通信协议,即UART,SPI,I2C等。
使用此类串行协议,我们可以将其与串行设备连接,如支持I2C的LCD显示器,磁力计HMC5883,MPU-6050陀螺仪+加速度计,RTC芯片,GPS模块,触摸屏显示器,SD卡等。
如何从NodeMCU开始?
NodeMCU开发板具有wifi功能,模拟引脚,数字引脚和串行通信协议。
首先,我们需要了解如何在NodeMCU开发板中编写/下载NodeMCU固件,以便开始使用NodeMCU进行物联网应用。在此之前,这个NodeMCU固件将按照我们的要求获得。
有在线NodeMCU自定义构建可用,我们可以根据我们的要求轻松获得我们的自定义NodeMCU固件。
要了解有关如何在线构建自定义NodeMCU固件并下载它的更多信息,请参阅进阶教程。
如何为NodeMCU编写代码?
在使用Node-MCU固件设置ESP8266之后,让我们看看开发NodeMCU所需的IDE(集成开发环境)。
- 带有ESPlorer IDE的NodeMCU。
Lua脚本通常用于编码NodeMCU。Lua是一种基于C编程语言构建的开源,轻量级,可嵌入的脚本语言。
有关如何为NodeMCU编写Lua脚本的更多信息,请参阅专题里的使用ESPlorerIDE的基础知识。
- 带有Arduino IDE的NodeMCU
这是使用著名的IDE(即Arduino IDE)开发NodeMCU的另一种方法。我们还可以使用Arduino开发环境在NodeMCU上开发应用程序。这使得Arduino开发人员比为NodeMCU学习新语言和IDE更容易。
有关如何为NodeMCU编写Arduino的更多信息,请参阅使用ArduinoIDE的基础知识。
使用ESPlorer和Arduino IDE的不同之处
好吧,在使用ESPlorer IDE和Arduino IDE开发NodeMCU应用程序时,我们可以说有一种编程语言差异。
如果我们使用Arduino IDE开发NodeMCU应用程序和Lua语言(如果我们使用的是ESPlorer IDE),我们需要用C C ++编程语言编写代码。
基本上,NodeMCU是Lua Interpreter,因此它可以轻松理解Lua脚本。当我们为NodeMCU编写Lua脚本并将其发送/上传到NodeMCU时,它们将按顺序执行。它不会为NodeMCU编写代码的二进制固件文件。它会将Lua脚本发送到NodeMCU以执行。
在Arduino IDE中,当我们编写和编译代码时,后台的ESP8266工具链会创建我们编写的代码的二进制固件文件。当我们将其上传到NodeMCU时,它将使用新生成的二进制固件代码刷新所有NodeMCU固件。实际上,它会编写完整的固件。
这就是为什么NodeMCU在被Arduino IDE刷新后不再接受Lua脚本/代码的原因。在被Arduino代码刷新后,它将不再是Lua解释器,如果我们尝试上传Lua脚本,我们会收到错误。要再次使用Lua脚本,我们需要重新上传NodeMCU固件。
由于Arduino IDE编译和上传/写入完整固件的原因,因此需要比ESPlorer IDE更多的时间。