NodeMCU(ESP8266)烧录 MicroPython固件、连接WiFi并传输文件
- 烧录MicroPython固件
- 下载MicroPython固件包
- 准备烧录
- 开始烧录
- NodeMCU连接WiFi
- 获取联网代码模板
- 将ESP8266连接WiFi
- 将ESP8266设置为AP
- WebREPL开启及使用
- WebREPL介绍
- 打开ESP8266服务
- 主机与NodeMCU传输文件
烧录MicroPython固件
下载MicroPython固件包
NodeMCU核心为ESP8266,故可以下载ESP8266固件包,直达下载页面:https://micropython/download/esp8266/,根据Flash大小选择适用固件。
准备烧录
- 确保Python已经正确安装(推荐Python3);
- 将下载好的固件(.bin文件)放入Python安装路径下的Scripts文件夹,如忘记安装路径可直接使用Everything检索Scripts文件夹;
- 在Scripts文件夹下按住Shift键点击鼠标右键,选择
在此处打开Powershell窗口
; - 在Powershell内通过
pip install esptool
命令安装esptool烧录工具;
开始烧录
- 将NodeMCU通过MicroUSB与电脑连接,并在
设备管理器
→端口(COM和LTP)
中查看NodeMCU串口号; - 之前看到很多文章说烧录需要操作NodeMCU上的FLASH和RESET按键,但我的尝试是并不需要;
- 在Scripts文件夹下按住Shift键点击鼠标右键,选择
在此处打开Powershell窗口
; - 输入命令行
esptool.py.exe --port COM14 erase_flash
清除原有Flash,COM14需要换成步骤1查看时NodeMCU使用的串口号,看到下图即擦除成功;
- 输入命令行
esptool --port COM14 --baud 460800 write_flash --flash_size=detect 0 esp8266-20210202-v1.14.bin --verify
,COM14需要换成步骤1查看时NodeMCU使用的串口号,esp8266-20210202-v1.14.bin需要换为.bin文件实际路径,看到下图即写入成功;
- 简单测试及文件上传可使用MicroPython File Uploader,下载地址:https://www.wbudowane.pl/download/,使用方法可直接搜索软件名。
NodeMCU连接WiFi
获取联网代码模板
使用MicroUSB将NodeMCU与电脑连接好后,在MicroPython File Uploader内打开端口,输入help()可获得ESP8266联网及设置AP模板:
将ESP8266连接WiFi
import network
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.scan() # 扫描当前可连接的WiFi名称
sta_if.connect("<wifi_name>", "<password>") # 设置要连接WiFi的名称和连接密码
sta_if.isconnected() # 检查是否连接成功
将ESP8266设置为AP
import network
ap_if = network.WLAN(network.AP_IF)
ap_if.config(essid="<wifi_name>", authmode=network.AUTH_WPA_WPA2_PSK, password="<password>") # 设置要AP名称和密码
将联网或AP代码保存为main.py文件上传至NodeMCU,可实现开机自启。
WebREPL开启及使用
WebREPL介绍
WebREPL客户端是MicroPython官方推荐的更新方式,功能很强大,通过网页的方式读取ESP8266/ESP32的文件系统,可以上传文件或者下载开发板中已存在的文件,可以输入指令并实时查看开发板中的输出状态,完全取代串口调试。
WebREPL在线版:http://micropython/webrepl/
离线版下载地址:https://codeload.github/micropython/webrepl/zip/master
注意:使用WebREPL前请确保NodeMCU与电脑处于同一网络下。
打开ESP8266服务
- 使用MicroPython File Uploader,输入
import webrepl_setup
,此显示WebREPL自动启动未开启,输入E
开启WebREPL服务上电自启;
- 根据要求设置密码,确认密码后输入
y
确认重启ESP8266(注意强制小写y);
- 可使用在线版WebREPL,或解压离线版下载包点击webrepl.html,打开WebREPL页面,将左上角ESP8266IP地址改为相应地址,该地址在步骤2
reboot
后会有显示,如未找到可在MicroPython File Uploader中按照以下操作找到两个IP地址,其中192.168.4.1:8266
为AP地址,另一个则为IP地址。
import webrepl
webrepl.start()
- 更新WebREPL的IP地址后,即可点击Connect即可进入交互命令行。
- 如连接ESP8266AP,则使用192.168.4.1:8266为WebREPL的IP地址。
- WebREPL常用命令
# 重新运行main.py(相当于重启)
exec(open('main.py').read(),globals())
# 查看文件及目录
os.listdir()
# 查看文件内容
f=open('文件名称','r')
print(f.read())
# 删除文件
os.remove("example_pub.py")
# 目录相关操作,需先导入 os
import os
# 创建目录
os.mkdir('目录名称')
# 删除非空目录
os.rmdir('目录名称')
# 获得当前的目录
os.getcwd()
# 进入到目录内
os.chdir("目录名称")
主机与NodeMCU传输文件
可使用MicroPython File Uploader或WebREPL一类上传文件,并使用os.listdir()
等命令查看,但推荐使用uPyLoader进行可视化查看,下载链接:https://github/BetaRavener/uPyLoader/releases.
NodeMCU(ESP8266)烧录 MicroPython固件、连接WiFi并传输文件
- 烧录MicroPython固件
- 下载MicroPython固件包
- 准备烧录
- 开始烧录
- NodeMCU连接WiFi
- 获取联网代码模板
- 将ESP8266连接WiFi
- 将ESP8266设置为AP
- WebREPL开启及使用
- WebREPL介绍
- 打开ESP8266服务
- 主机与NodeMCU传输文件
烧录MicroPython固件
下载MicroPython固件包
NodeMCU核心为ESP8266,故可以下载ESP8266固件包,直达下载页面:https://micropython/download/esp8266/,根据Flash大小选择适用固件。
准备烧录
- 确保Python已经正确安装(推荐Python3);
- 将下载好的固件(.bin文件)放入Python安装路径下的Scripts文件夹,如忘记安装路径可直接使用Everything检索Scripts文件夹;
- 在Scripts文件夹下按住Shift键点击鼠标右键,选择
在此处打开Powershell窗口
; - 在Powershell内通过
pip install esptool
命令安装esptool烧录工具;
开始烧录
- 将NodeMCU通过MicroUSB与电脑连接,并在
设备管理器
→端口(COM和LTP)
中查看NodeMCU串口号; - 之前看到很多文章说烧录需要操作NodeMCU上的FLASH和RESET按键,但我的尝试是并不需要;
- 在Scripts文件夹下按住Shift键点击鼠标右键,选择
在此处打开Powershell窗口
; - 输入命令行
esptool.py.exe --port COM14 erase_flash
清除原有Flash,COM14需要换成步骤1查看时NodeMCU使用的串口号,看到下图即擦除成功;
- 输入命令行
esptool --port COM14 --baud 460800 write_flash --flash_size=detect 0 esp8266-20210202-v1.14.bin --verify
,COM14需要换成步骤1查看时NodeMCU使用的串口号,esp8266-20210202-v1.14.bin需要换为.bin文件实际路径,看到下图即写入成功;
- 简单测试及文件上传可使用MicroPython File Uploader,下载地址:https://www.wbudowane.pl/download/,使用方法可直接搜索软件名。
NodeMCU连接WiFi
获取联网代码模板
使用MicroUSB将NodeMCU与电脑连接好后,在MicroPython File Uploader内打开端口,输入help()可获得ESP8266联网及设置AP模板:
将ESP8266连接WiFi
import network
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.scan() # 扫描当前可连接的WiFi名称
sta_if.connect("<wifi_name>", "<password>") # 设置要连接WiFi的名称和连接密码
sta_if.isconnected() # 检查是否连接成功
将ESP8266设置为AP
import network
ap_if = network.WLAN(network.AP_IF)
ap_if.config(essid="<wifi_name>", authmode=network.AUTH_WPA_WPA2_PSK, password="<password>") # 设置要AP名称和密码
将联网或AP代码保存为main.py文件上传至NodeMCU,可实现开机自启。
WebREPL开启及使用
WebREPL介绍
WebREPL客户端是MicroPython官方推荐的更新方式,功能很强大,通过网页的方式读取ESP8266/ESP32的文件系统,可以上传文件或者下载开发板中已存在的文件,可以输入指令并实时查看开发板中的输出状态,完全取代串口调试。
WebREPL在线版:http://micropython/webrepl/
离线版下载地址:https://codeload.github/micropython/webrepl/zip/master
注意:使用WebREPL前请确保NodeMCU与电脑处于同一网络下。
打开ESP8266服务
- 使用MicroPython File Uploader,输入
import webrepl_setup
,此显示WebREPL自动启动未开启,输入E
开启WebREPL服务上电自启;
- 根据要求设置密码,确认密码后输入
y
确认重启ESP8266(注意强制小写y);
- 可使用在线版WebREPL,或解压离线版下载包点击webrepl.html,打开WebREPL页面,将左上角ESP8266IP地址改为相应地址,该地址在步骤2
reboot
后会有显示,如未找到可在MicroPython File Uploader中按照以下操作找到两个IP地址,其中192.168.4.1:8266
为AP地址,另一个则为IP地址。
import webrepl
webrepl.start()
- 更新WebREPL的IP地址后,即可点击Connect即可进入交互命令行。
- 如连接ESP8266AP,则使用192.168.4.1:8266为WebREPL的IP地址。
- WebREPL常用命令
# 重新运行main.py(相当于重启)
exec(open('main.py').read(),globals())
# 查看文件及目录
os.listdir()
# 查看文件内容
f=open('文件名称','r')
print(f.read())
# 删除文件
os.remove("example_pub.py")
# 目录相关操作,需先导入 os
import os
# 创建目录
os.mkdir('目录名称')
# 删除非空目录
os.rmdir('目录名称')
# 获得当前的目录
os.getcwd()
# 进入到目录内
os.chdir("目录名称")
主机与NodeMCU传输文件
可使用MicroPython File Uploader或WebREPL一类上传文件,并使用os.listdir()
等命令查看,但推荐使用uPyLoader进行可视化查看,下载链接:https://github/BetaRavener/uPyLoader/releases.