用MicroPython开发ESP8266

环境配置

  • python版本:3.9.6
  • 硬件:ESP8266 Node MCU V3(4MB Flash)
  • 编辑器:vscode,需要安装python扩展和RT-Thread Micro Python扩展
    在这里插入图片描述在这里插入图片描述
  • 安装esptoolampy
    • esptool:在CMD中执行pip install esptool
    • ampy:在CMD中执行pip install adafruit-ampy

下载并烧录固件

首先根据模块的Flash大小下载对应的MicroPython固件
我的Flash是4M,所以选择了2MiB+的固件。在这里插入图片描述
下载好之后打开cmd,进入存放刚刚下载好的固件的目录,首先查看开发板的信息:esptool.exe read_mac
在这里插入图片描述
可见,开发板连接到COM5,所以之后和 -p、-port相关的参数都应当填 COM5。
然后清除原有的固件:esptool -p COM3 erase_flash,大约需要半分钟。
在这里插入图片描述
最后烧录固件:esptool --port COM5 --baud 460800 write_flash --flash_size=detect 0 esp8266-20220618-v1.19.1.bin,以460800的波特率,通过COM5把刚刚下载的文件名为esp8266-20220618-v1.19.1.bin的固件烧进flash中。
在这里插入图片描述
此时,打开串口助手(115200的波特率),复位板子,就可以进入REPL模式(和python shell类似,可以直接敲命令运行)
在这里插入图片描述
注意,若提示信息最后不是Type "help()" for more information.,则大概是烧录失败了,应当重新烧录或者换一种烧录方式

上电自动运行程序

上电后,会自动运行文件名为mian.py的脚本文件。
若有安装RT-Thread Micro Python扩展,则会有提供例程在这里插入图片描述
这里直接新建一个文件并重命名为mian.py,将blink.py的内容复制进去。(大概效果是上电后输出"Welcome to RT-Thread MicroPython!",然后进入死循环,控制板载LED灯,亮2s灭0.5秒)。
此时我们需要将这个main.py文件丢到Flash中,这就需要用到之前安装的 ampy了。
在CMD中,切换到储存刚刚编写的py文件的路径,首先通过ampy -p COM5 ls查看当前路径下的所有文件。
在这里插入图片描述
啊这,忘记断开串口助手的连接了。。。
断开后在执行一次,可见,只有boot.py一个文件,不要管这个文件。
在这里插入图片描述
再执行ampy -p COM5 put .\main.py,将main.py烧录到Flash内,再查看一下
在这里插入图片描述
呀,手残多传了,这时可以ampy -p COM5 rm .mpyproject.json来删除。
在这里插入图片描述
此时复位之后就可以自动执行main.py了。或者也可以直接再命令行中执行ampy -p COM5 run .\xxx.py来执行指定到py文件。

退出

在CMD中,一般使用ctrl+c来终止某条命令。同样地,也可以通过向ESP8266发送ctrl+c来退出上电自动执行的main()的死循环。
通过和度娘交流,可知ctrl+c的ascii为0x03。

在ctrl+c的ascii值
所以,直接向串口以16进制发送0x03即可退出。

退出
要想重新运行,就勾选发送新行之后,发送main()注意事项
执行

错误记录

  1. 使用乐鑫的固件烧录软件烧录时,固件可以烧进去,但是上电之后(波特率115200)会不断接收到提示信息,不能进入REPL模式。所以直接用esptool进行烧录。
  2. 注意,这里不能像在命令行中一样直接运行main.py文件来执行,并且需要勾选发送新行,否则不能正常执行,而是返回串口接受到的数据
    记得勾选发送新行

参考:

保姆级超详细 ESP8266 MicroPython 部署攻略

固件下载链接

官方文档

上电运行

ctrl+c的ascii

ctrl+英文字母对应的ascii

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值