NodeMCU 支持多种编程方式,可以使用 Arduino IDE 通过 C++ 编写,也可以使用 Lua 编写,另外一种比较常见的就是使用 Python 来编写代码,这是本人比较推荐的一种方式, 因为 Python 比 C++ 简单,又比 Lua 通用。
如果要使 NodeMCU 支持 Python, 必须首先刷入 MicroPython 固件,本身 MicroPython 支持的是 NodeMCU 上带的 ESP8266 模块。因此其他的板子带 ESP8266 或者 ESP32 都是支持的。
所需材料:
1 块 NodeMCU ESP8266 板子
1 根数据线
一. 下载 ESP8266Micropython 固件
固件下载地址:
https://micropython.org/download/esp8266/
下载对应的固件,有稳定版本和每日构建版本, NodeMCU Esp8266 具有 4M 的 flash,推荐下载稳定版本。
二. 刷入固件
刷固件可以通过官方提供的 esptool 通过命令行实现,也可以通过 GUI pyflasher 图形化工具操作,通过图形化工具操作相对简单,但是有时图形化工具内嵌的 esptool 不能及时同步官方的版本。
pyflasher 地址:
https://github.com/marcelstoer/nodemcu-pyflasher
打开 pyflasher 工具,界面如图:

串口就是 NodeMCU 连接的 COM 口,选取对应下载的固件,波特率 NodeMCU 默认是 115200, flash mode 选择 Dua I/O ,因为现在市面上的 ESP 8266 都是双核的,然后选择是否擦除现有数据,就可以直接开始刷入固件了,看到上图对应的消息就表示刷入成功。
三. 测试 MicroPython
刷入固件之后,那么就需要使用编辑器来编程了,有两种主流编辑器支持 MicroPython, 一个是 Mu, 还有一个是 PyCharm,对于新手来说 Mu 操作会简单一些。
Mu 编辑器下载地址:
https://codewith.mu/
打开 Mu,界面如图:

在菜单栏模式中选择 ESP MicroPython, 首次安装选择模块最好重启一下 Mu。
在工具栏中点击 文件,进入 MicroPython 的文件列表:

MicroPython 文件主要包含 boot.py 和 main.py 两个文件,这两个文件在启动时自动运行,左边的是设备上的文件,右边是电脑本地文件,左右拖动文件就是上传和下载文件。
在工具栏中点击 REPL,就可以进入交互式 Python 命令输入模式:

有时底下会出现乱码,关闭 REPL ,打开 文件,再关闭 文件,再打开 REPL,执行多次即可恢复正常,这个是什么原因导致,本人也不知道。
MicroPython 带了很多的模块,而且还自带 upip 包管理器,在编写网络通信如 MQTT,HTTP,Coap,加密如 hmac_sha256 等高级应用层任务比使用 C++ 要方便简单很多。




