MicroPython 学习笔记 一. 环境配置,固件烧写
声明: 本人作为初学者,以笔记的方式记录学习内容,如果错误的地方欢迎大家指正批评,谢谢!
本机的开发环境为 MacOS Python3.6
windows 下的开发步骤可能略有不同
1. 选择需要开发板
这里我选了比较常见且玩法较多的esp32,和esp8266.
ep8266 NodeMCU Lua V3 原理图上图是我使用的esp8266 开发板 以及原理图 👆
2. 安装USB转串口驱动
确定你的开发板拥有micro usb 接口或者已经通过自己的方式转化为usb可以连接你的电脑.
2.1首先要做的是查看开发板上串口转USB的芯片型号以安装对应驱动.
此款的芯片为 CH340
可以到http://www.wch.cn/进行驱动下载
MacOS http://www.wch.cn/download/CH341SER_MAC_ZIP.html
Windows http://www.wch.cn/download/CH341SER_EXE.html
下载后安装即可
2.2 检查驱动是否生效
在MacOS下的终端中输入
ls /dev/tty.*
查看/dev 目录下的所有 tty.开头的文件
结果如下:
/dev/tty.Bluetooth-Incoming-Port
/dev/tty.MALS
/dev/tty.SOC
/dev/tty.usbserial-1460
/dev/tty.wchusbserial1460
/dev/tty.wchusbserial1460 即为我们连接的开发板
⚠️编号可能会随着插拔变化,建议自行查看
windows 下设备以com口形式出现,请参阅网络材料
3. 选择开发工具
开发工具有很多种选择,MuEditer,Thonny,甚至是Pycharm都可以安装插件实现MicroPython 的开发.
本次考虑到多个系统的使用习惯,和工具公共.我们先使用较为原始的终端利用命令行来进行开发.
我选择Macos自带的终端应用进行开发,windows 可以选择Putty.
选择好开发工具后需要安装 Rshell
Rshell 这是一个在主机上运行的简单 shell,并使用 MicroPython 的原始 REPL 将 python 片段发送到 pyboard 以获取文件系统信息,并将文件复制到 MicroPython 的文件系统或从 MicroPython 的文件系统复制文件。(来自github Readme)
Rshell github项目地址https://github.com/dhylands/rshell
不妨为作者点个🌟!
3.1 rshell 的安装
使用pip 安装 需要本机有python 环境 可以使用 pip --version 查看本地是否有pip
pip install rshell
在 linux 环境下可能会出现串行端口权限的问题详情参考github中的readme文档
此时我们完成了所有开发环境部署,等等你说开发板还没有写入MicroPython固件?那么我们下面就开始.
4. 部署MicroPython 固件到开发板
4.1 下载 固件到本地
esp8266 MicroPython官方固件下载地址
https://micropython.org/download/esp8266/
官方教程
https://docs.micropython.org/en/latest/esp8266/tutorial/intro.html#intro
让我们简单一点
4.2 开始写入固件
进入下载了固件的路径
以下内容在终端中输入
下载工具
pip install esptool
擦除缓存
esptool.py --port /dev/tty.wchusbserial1460 erase_flash
效果如下:
esptool.py v3.0
Serial port /dev/tty.wchusbserial1460
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 8c:aa:b5:59:30:90
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 3.3s
Hard resetting via RTS pin...
⚠️ /dev/tty.wchusbserial1460 是你设备的名称 需要自行替换
刷入固件
esptool.py --port /dev/tty.wchusbserial1460 460800 write_flash --flash_size=detect 0 esp8266-20170108-v1.8.7.bin
⚠️ /dev/tty.wchusbserial1460 是你设备的名称 需要自行替换,esp8266-20170108-v1.8.7.bin 为你要刷如固件的名称 在终端中可以使用Tab键补全
效果如下
esptool.py v3.0
Serial port /dev/tty.wchusbserial1460
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 8c:aa:b5:59:30:90
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0240
Compressed 632632 bytes to 415634...
Wrote 632632 bytes (415634 compressed) at 0x00000000 in 10.0 seconds (effective 505.2 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
4.3验证是否烧写成功
依然是终端命令
rshell -p /dev/tty.wchusbserial1460
⚠️ /dev/tty.wchusbserial1460 是你设备的名称 需要自行替换
效果:
Using buffer-size of 32
Connecting to /dev/tty.wchusbserial1460 (buffer-size 32)...
Trying to connect to REPL connected
Retrieving sysname ... esp8266
Testing if ubinascii.unhexlify exists ... Y
Retrieving root directories ... /boot.py/
Setting time ... Jun 05, 2021 13:18:25
Evaluating board_name ... pyboard
Retrieving time epoch ... Jan 01, 2000
Welcome to rshell. Use Control-D (or the exit command) to exit rshell.
紧接着你就可以输入 repl
出现一个类似Python交互模式的终端,在 >>> 后可以输入
print("Hello MicroPython")
回车后显示
Hello MicroPython
此时你的esp8266就成功刷入MicroPython了,本节也到此为止.