NodeNCU(ESP8266)刷MicroPython固件、连接WiFi并传输文件

烧录MicroPython固件

下载MicroPython固件包

NodeMCU核心为ESP8266,故可以下载ESP8266固件包,直达下载页面:https://micropython.org/download/esp8266/,根据Flash大小选择适用固件。

准备烧录

  1. 确保Python已经正确安装(推荐Python3);
  2. 将下载好的固件(.bin文件)放入Python安装路径下的Scripts文件夹,如忘记安装路径可直接使用Everything检索Scripts文件夹;
  3. 在Scripts文件夹下按住Shift键点击鼠标右键,选择在此处打开Powershell窗口
  4. 在Powershell内通过pip install esptool命令安装esptool烧录工具;

开始烧录

  1. 将NodeMCU通过MicroUSB与电脑连接,并在设备管理器端口(COM和LTP)中查看NodeMCU串口号;
  2. 之前看到很多文章说烧录需要操作NodeMCU上的FLASH和RESET按键,但我的尝试是并不需要;
  3. 在Scripts文件夹下按住Shift键点击鼠标右键,选择在此处打开Powershell窗口
  4. 输入命令行esptool.py.exe --port COM14 erase_flash清除原有Flash,COM14需要换成步骤1查看时NodeMCU使用的串口号,看到下图即擦除成功;
    在这里插入图片描述
  5. 输入命令行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文件实际路径,看到下图即写入成功;
    在这里插入图片描述
  6. 简单测试及文件上传可使用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.org/webrepl/
离线版下载地址:https://codeload.github.com/micropython/webrepl/zip/master
注意:使用WebREPL前请确保NodeMCU与电脑处于同一网络下。

打开ESP8266服务

  1. 使用MicroPython File Uploader,输入import webrepl_setup,此显示WebREPL自动启动未开启,输入E开启WebREPL服务上电自启;
    在这里插入图片描述
  2. 根据要求设置密码,确认密码后输入y确认重启ESP8266(注意强制小写y);
    在这里插入图片描述
  3. 可使用在线版WebREPL,或解压离线版下载包点击webrepl.html,打开WebREPL页面,将左上角ESP8266IP地址改为相应地址,该地址在步骤2reboot后会有显示,如未找到可在MicroPython File Uploader中按照以下操作找到两个IP地址,其中192.168.4.1:8266为AP地址,另一个则为IP地址。
import webrepl
webrepl.start()
  1. 更新WebREPL的IP地址后,即可点击Connect即可进入交互命令行。
  2. 如连接ESP8266AP,则使用192.168.4.1:8266为WebREPL的IP地址。
  3. 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.com/BetaRavener/uPyLoader/releases.

猜你喜欢

转载自blog.csdn.net/m0_37728676/article/details/114495600