学习过Arduino的电子发烧友都知道Arduino有多种型号及众多辅助模块。比如ESP8266WiFi模块、W5100以太网通信模块等等,还有诸如蓝牙通信、各种传感器等等。今天我们就来聊聊时下很火的ESP8266和搭载ESP8266的NodeMCU。
在2013年的下半年左右乐鑫推出了一款集成了WiFi功能还内带一个32bit MCU的SoC 芯片—ESP8266EX。 ESP8266是一款超低功耗的UART-WiFi 透传模块,它具备GPIO、I2C、ADC、SPI、PWM等功能,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网通信,实现联网功能。
产品特性
支持无线802.11 b/g/n 标准
支持STA/AP/STA+AP 三种工作模式
内置TCP/IP协议栈,支持多路TCP Client连接
支持丰富的Socket AT指令
支持UART/GPIO数据通信接口
支持Smart Link 智能联网功能
支持远程固件升级(OTA)
内置32位MCU,可兼作应用处理器
超低能耗,适合电池供电应用
3.3V 单电源供电
目前ESP8266的开发方式有这几种。
AT指令方式:烧录AT的固件包,使用AT指令与ESP8266交互,执行相应指令,需与单片机相连
NodeMCU的lua开发:烧录NodeMCU的固件包,使用Lua语言开发,使用ESP内部资源。
Arduino IDE下的开发:相当于直接编写固件,编译之后,烧录进ESP,使用ESP内部资源。
真正让ESP8266火起来的是ESP8266 core for Arduino这个库。这个Arduino库允许开发中直接用Arduino IDE给ESP8266模块编程,这无疑让ESP8266的使用门槛再次降低,已经熟悉Arduino编程的人可以无缝上手。
NodeMCU就是这些早期基于ESP8266二次封装中发展地最稳定好用的开发板之一。NodeMCU的二次封装包括了硬件、软件固件两部分。硬件上,NodeMCU在ESP8266的基础上增加了一些外围的USB串口电路。软件上,NodeMCU引入了轻量化的脚本语言Lua,支持事件驱动型API以及Arduino IDE开发。