[Arduino] ESP8266 & NodeMCU
除了Arduino官方出品的几个开发板能只用Arduino SDK来开发外,很多三方的开发板和单片机也可以使用Arduino SDK来开发。最近比较火的ESP8266和基于ESP8266的NodeMCU也是可以使用Arduino开发的。
说实话,ESP8266的原生C版本SDK并不是很好用,ESP8266 SDK从1.x.x版本时API就比较混乱了,既有开源API,又有乐鑫原厂API,还有安信可再次封装的API。API功能重复不说,接口命名风格也不同,API手册也只是比较简略的介绍API的用法,有的细节还得去翻看源码才能知道具体执行时会发生什么。而使用ESP8266的AT版本SDK,功能受限,执行效率受限,SDK不稳定,还需要另外搭载一个单片机来控制ESP8266,很是鸡肋。在ESP8266上使用Arduino后,不光API封装更统一明确,Arduino官网也因以教育为主,提供的资料和参考非常丰富易读。
Arduino IDE也是非常好用的开发环境,麻雀虽小五脏俱全。Arduino IDE提供的代码编辑功能虽然不及Eclipse之类的大型集成开发环境那么强悍,但它缺提供了非常简易且实用的单片机调试开发环境,很多时候可以实现一键编译烧写固件,不需要在开发板上切换各种开关。Arduino上的三方库管理器可以让你非常方便的寻找和安装三方功能库,其中的三方库因提供者众多,内容也非常丰富,可以轻易的在库管理器中找到能够满足日常开发所需功能的优秀三方库。
好了,给Arduino说了这么多好话,打了这么多广告,不知道Arduino官方会不会招我进去,帮他们端茶倒水~→_→

接下来,我们就介绍一下怎样在ESP8266和NodeMCU上实现Arduino开发。
华丽的引用: Cocoonshu说,下面得翻墙钦此~~
下载Arduino IDE
好啦,还是在官网上下载了,永远都是最新的,也永远不担心下载到什么不能下载的东西~
下载地址:Arduino IDE
配置ESP8266编译工具链
下载安装完Arduino IDE后,打开它,打开
"文件"菜单里的"首选项",在首选项窗口的"附加开发板管理器网址"里输入"http://arduino.esp8266.com/stable/package_esp8266com_index.json",然后点"好"就行。这里其实你可以输入多条URL,每条用英文逗号","隔开,你就可以同时配置多个三方开发板在IDE上了。
上面那个链接是stable版本的,相对比较稳定,但功能会比较保守。如果你想尝新,可以在附加开发板管理器网址里输入"http://arduino.esp8266.com/staging/package_esp8266com_index.json",但你要知道,staging版本虽然功能新,但可能会因为稳定期不足而经常出现问题。
连接ESP8266
这里有两种ESP8266给我们用,一种是普通的ESP8266模块,一种是基于ESP8266的开源开发板NodeMCU。
对于NodeMCU来说,连接就非常简单,直接插上USB即可。但对于普通的ESP8266模块,需要安装如下接线法把ESP8266和TTL to USB Serial Cable连接起来,然后插入电脑的USB口。如果你的TTL to USB Serial Cable没有RTS和DTR口,可以不接这两个口,只是烧写程序时需要在上传前收到RESET一下ESP8266。

然后在"工具"菜单中做些设置:
- 在"工具"菜单的"开发板"中选择"NodeMCU (1.0) (ESP-12E Module)"。如果是使用的普通ESP8266模块,直接选择"Generic ESP8266 Module"也是可以的,不过烧写程序的时候听说要手动切换开发板到烧写模式,本兽也没有试过= ̄ω ̄=
支持的ESP8266模块
- 在"工具"菜单的"Upload Using"(上传方式)中选择"Serial"(串口)
- 在"工具"菜单的"CPU Frequency"(CPU频率)中选择"80 MHz"
- 在"工具"菜单的"Flash Size"(Flash容量)中选择"4M (3M SPIFFS)" - [根据自己的实际情况选择]
- 在"工具"菜单的"Upload Speed"(上传速度)中选择"115200" - [其实只要上传稳定的话,选得越大上传越快]
- 在"工具"菜单的"Upload Speed"(上传速度)中选择"COMx" - [好吧,这个可以自己在电脑的“设备管理器”里看看,插入TTL to USB Serial Cable后,电脑会多出哪个COMx来,就选它了]
- 在"工具"菜单的"编程器"中选择"AVRISP mkll"
如果你在"附加开发板管理器网址"填写好了ESP