这篇文章记录了我的 NodeMCU 学习过程
引脚定义
接口定义
GPIO 与 I/O 索引表
IO索引 | ESP8266针脚 | IO索引 | ESP8266针脚 |
---|---|---|---|
0 | GPIO 16 | 7 | GPIO 13 |
1 | GPIO 5 | 8 | GPIO 15 |
2 | GPIO 4 | 9 | GPIO 3 |
3 | GPIO 0 | 10 | GPIO 1 |
4 | GPIO 2 | 11 | GPIO 9 |
5 | GPIO 14 | 12 | GPIO 10 |
6 | GPIO 12 |
其中 D0(GPIO16) 只能用于 GPIO 读取/写入,不支持中断和 PWM/I2C/OW
相关工具
ESPlorer NodeMCU IDE
NodeMCU 集成开发环境
ESP8266Flasher
ESP8266 固件烧写工具
相关链接
- GitHub:https://github.com/nodemcu
- ESP8266 Flasher:点击前往
- NodeMCU 英文手册:点击前往
- NodeMCU 中文手册:点击前往
获取和烧录固件
访问 https://nodemcu-build.com/ 获取固件
填写邮箱
当固件构建完毕后将会发送固件下载链接到填写的邮箱里。确保填写的邮箱支持接收国外邮件。不支持 QQ 邮箱、Foxmail
选择固件版本
一般情况下选择 master (主要分支)来构建最新版本的固件。
dev 为开发版固件,包含一些新特性,同时会有许多不稳定因素。
如果出现 NodeMCU 板载指示灯快速闪烁、IDE 串口调试时串口乱码快速刷屏、找不到某个变量等非语法错误等情况,那么可能意味着固件版本与硬件不支持,建议刷入 1.5.4.1-final 固件
选择要编译的模块
按照自己的需求选择要包含在固件内的模块。模块的用途和用法在官方文档中都有说明(入门建议保持默认选择,以免出现不可预料的错误)
开始构建
点击 Start your build 按钮开始构建。
在此之后你会陆续收到两封邮件
点击开始构建2分钟后你会收到第一封邮件,它只是通知你构建已经开始
大约5分钟后收到的第二封邮件内包含了固件下载地址。一般选择下载 integer 版本
烧写固件
打开 ESP8266 Flasher
选择固件
开始烧写
烧写过程中 ESP8266 的 LED 灯会闪烁
烧写完成
烧写完成后,按下板载 RST 按钮重启
连接和运行脚本
连接 NodeMCU
打开 ESPlorer IDE (需要提前安装好 Java)
选择好串口号将 DTR 和 RTS 点亮,波特率选择 115200,点击 Open 打开串口
按下板载 RST 键复位,自动开始格式化文件系统
格式化完成,自动打印出模块信息
关于乱码
在上面的图片中可以看到一行乱码,这个问题在官方文档中有说明。NodeMCU 的启动波特率为 74880,启动完毕后即切换为工作波特率(115200),而在我们使用的 115200 波特率下,启动调试信息自然会是乱码。我们将波特率设为 74880 即可看到启动调试信息
编写脚本
NodeMCU 在上电、复位时会自动运行 init.lua,现在我们开始为它编写程序
在左侧代码窗口写一段循环输出 Hello NodeMCU 的代码
1 | tmr.create():alarm(1000, tmr.ALARM_AUTO, function() |
将代码保存为 init.lua,然后点击下方的 Save to ESP
程序将被写入到 NodeMCU 中,并且会自动运行