对于任何物联网DIY项目来说,Wi-Fi都是必不可少的工具包,毕竟没有网络,我们如何能称之为物联网系统呢?在物联网系统中,我们常使用的设备就是Arduino和树莓派,Arduino价格相比较于树莓派来说价格低不少,是很多学习者的香饽饽,但是Arduino并没有Wi-Fi模块,如果添加Wi-Fi防护罩的话,总费用约为40美元。
这时候,Arduino杀手出现了——它是一个兼容Arduino的开发板,且内置Wi-Fi,更惊喜的是,它价格不到10美元!!是的它就是NodeMCU!!
本文主要介绍了一下如何配置NodeMCU的开发环境,开发环境只需配置一次。配置完成后,使用代码实现NodeMCU上自带LED的闪烁。过程很简单,初学者可以通过这几个简单步骤,先了解一下NodeMCU的基本操作。
本文主要包括以下三个模块:
一、NodeMCU简介及所需设备
二、配置NodeMCU的开发环境
三、点亮NodeMCU上的LED灯
一、NodeMCU介绍及所需设备
(一)
NodeMCU(也称为ESP8266)它最初是作为Arduino板的低成本Wi-Fi附加件销售的,但是后来,黑客社区意识到,我们明明不用把它当附件啊!Arduino请闪边儿吧!直接使用它就行啊!它是一个开源的物联网平台,包括固件和开发板,即运行在 esp8266Wi-Fi SoC芯片之上的固件,以及基于ESP-12模组的硬件。我们可以使用它来连接传感器以获取环境数据,并操作相应的执行设备(如水泵等)。它具有体积小,扩展性强的特点,在物联网应用领域迸发出了强大的能量。在不到一年的时间里,ESP8266迅速普及,并且得到了很好的支持和开发,如果你当前使用的是Arduino,那它真的太好上手了,因为它是在熟悉的Arduino IDE中进行使用。
ESP8266的型号有很多,比较推荐使用的是ESP-12E。它虽然是比其他芯片贵一些(6.50美元vs4美元),但在对芯片进行编程所需的串行驱动器,并具有内置的电源调节器以及许多IO引脚等方面,它得到了广泛的支持。在使用时,USB连接即可,不需要任何其他程序来编程或供电,因此使用起来最简单。如果你手头上只有其他种类的ESP8266开发板,那很有可能需要单独的3.3v电源调节器和合适的FTDI连接才能进行编程。
(二)所需设备
NodeMCU ESP8266
USB-microUSB线
使用数据线将NodeMCU与电脑连接,插上后会自动下载驱动,并且可以在电脑的设备管理器中查看到。
注意:如果插上线没有反应,不一定是NodeMCU损坏,很有可能是因为你的数据线只能充电而不能传数据。请换一根数据线尝试。
二、配置NodeMCU的开发环境
1. 下载Arduino IDE
下载地址:https://www.arduino.cc/en/Main/Software,根据自己的电脑系统下载相应版本(Windows、Mac OS X和Linux)的IDE即可。
开源Arduino软件(IDE)主要是用来编写代码并上传到开发板,之前玩过Arduino的同学很容易上手NodeMCU。
2. 配置环境,打开Arduino IDE
(1)File(文件)-preferences(首选项)-Additional Boards Manager URLs(附加开发板管理器网址)-粘贴-OK(好)-OK(好)https://arduino.esp8266.com/stable/package_esp8266com_index.json
(2)Tools(工具)-开发板-开发板管理器-输入“ESP8266”-安装(因为我已经安装过了所以显示的是卸载)-关闭
(3)安装完成后,Tools(工具)-开发板-选择“Generic ESP8266 Module”-
(4)Tools(工具)-Port(端口)-COM9(即设备管理器显示的端口号,不同设备的NodeMCU端口号不同)
三、点亮NodeMCU上的LED灯
(1)新建文件,输入如下代码并上传。
/* ESP8266 Blink by Simon Peter Blink the blue LED on the ESP-01 module This example code is in the public domain The blue LED on the ESP-01 module is connected to GPIO1 (which is also the TXD pin; so we cannot use Serial.print() at the same time) Note that this sketch uses LED_BUILTIN to find the pin with the internal LED */ void setup() { pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, 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(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH delay(2000); // Wait for two seconds (to demonstrate the active low LED) }
(2)直接使用示例文件
File(文件)-Examples(示例)-ESP8266-Blink
打开后是给Arduino Uno提供的示例文件,但同样适用于NodeMCU。
点击上传即可。
注意:“Leaving... Hard resetting via RTS pin...”并不是报错,程序是正常运行,已经上传成功,意思是esptool会在上传后迅速重置重置esp8266。
如图为LED闪烁效果。
大功告成~