1、MicroPython 系统结构
工欲善其事必先利其器,在开始编写我们的业务代码之前,先来了解一下MicroPython的运行过程。
一个正常的MicroPython可执行系统应该分为三个部分:
- 嵌入式硬件
没有硬件支撑的代码就是一堆看不懂的文字。这里特指我们的
ESP32开发板
,属于固定不变的部分
- MicroPython固件
没有软件支持的硬件就是一堆废铜烂铁。这里特指适配ESP32的MicroPython固件,要想ESP32能运行Python,必须得让给它建立一套可运行环境,也就是得
先往ESP32先烧录进专用于它的MicroPython固件
,等环境跑起来就可以执行我们的应用程序,属于固定不变的部分
- 应用程序
这里特指我们写的
业务代码
,属于经常多变部分。
上面可以总结为一句话:
在ESP32上构建一个MicroPython脚本语言可运行环境,编写我们的应用代码去实现我们的业务需求。
2、搭建环境
2.1 嵌入式硬件
楼主这里用到的是ESP32-S NodeMcu开发板
别漏了需要一条USB线
这个板子USB驱动是CH341
,所以插上PC机需要手动安装一下。(如果是其他USB驱动的请自行安装)
到这一步,博主认为大家已经准备好硬件环境,也就是可以看到串口上多了一个设备(电脑 -> 设备管理器 -> 端口
)。
2.2 MicroPython固件
MicroPython目前支持非常多的硬件设备。具体可以看看:
可以看到,支持esp32、esp32c3、esp32s2、esp32s3,esp8266等等
可以看到,目前对于ESP32的支持力度非常高,这又是我们选择 ESP32的重要原因。
注意点:
- 对于ESP32 需要区分普通版本(ESP32-S)以及SPIRAM版本(支持外部RAM)。购买开发板的时候最好向商家确认一下。
- 比如 ESP32-WROOM-32 不带SPI RAM,ESP32-WROVER-B带 SPI RAM
务必根据自己具体板子情况去下载对应的固件
2.2.1 下载ESP32-S固件
打开上面下载地址
重要的内容我都标注出来。官网提供了两种版本的固件:
- Release版本
也叫作
正式版本
,稳定版本
,一般几个月更新一次,经过大量用例测试,bug相对较少。初学者极度建议用这个。
而在ESP32上,MicroPython固件是基于ESP-IDF编译的,所以又区分了两个版本 IDF 4.x和IDF 3.x。用新不用旧,建议用 4.x版本。
- 日更版本
也叫作
非正式版本
,一般更新频率快,属于尝新实验阶段。初学者不建议用。
当前,博主下载了 V1.16版本,习惯性倒退一个版本。
到这一步,博主认为你已经做了两个前提条件:
- ESP32 开发板 OK
- MicroPython固件 OK
2.2.2 MicroPython源码
通过Git把以上代码clone下来。
ports 表示当前支持哪些硬件平台,我们更加关注esp32的实现。
而esp32下又区分了多款开发板子:
同时还有一些源码实现(后续讲解可以查阅这里)
这些属于ESP32 MicroPython固件已经内置好的module模块。包括:
machine
(包括adc
、dac
、spi
、pin
、pwm
、uart
等等)esp
esp32
network
等等(这里暂且不详解)
接下来,得安装一下软件开发工具以及烧录工具。
2.3 软件开发环境
- 代码工具方面直接使用
Thonny
,这款编译器相当支持MicroPython开发。
2.3.1 下载 Thonny —— v3.3.13版本
这里我们下载 3.3.13版本
2.3.2 安装 Thonny
双击exe可执行文件,依次点击。
最终,可以在电脑桌面找到:
到这一步,表示安装IDE成功。
2.3.3 配置 Thonny
- 打开Thonny
可以看到当前Python版本是 3.7.9,所有选项都是英文。
2.3.3.1 配置IDE支持中文
选择Tools–>Options
重启IDE
2.3.3.2 配置工具设置 —— 配置ESP32
点击确定后会发现本地shell打印以下信息:
注意点:
这里我是已经安装过MicroPython固件
2.3.4 安装MicroPython固件到ESP32
在固件烧录完成后复位芯片程序就开始执行,默认情况下会进入Python Shell
交互环境。
到这里,MicroPython For ESP32的开发环境就搭建好了。
3、Hello World
我们可以在Shell上直接输入一些Python代码,也可以另起一个py文件放到ESP32文件系统执行。
3.1 Shell Help
3.1.1 heip() ——帮助指引
3.1.2 help(‘modules’) —— 当前有哪些第三方库可以用
3.1.3 help(‘xxxx’) —— 当前xxx库有哪些方法
比如:我这里看看machine模块有什么功能?
3.2 编写第一行代码 —— helloworld
在编译器上,新建一个py文件,写下我们的第一行代码
print(‘welcome to Hello world!’)
然后点击绿色的运行按钮,这时会弹出询问保存地址的窗体,我们选择MicroPython设备,保存的文件名为main.py
,如图所示:
至此,我们的一个简单环境就配置成功并且成功运行我们的Hello World代码。
4、总结
本节主要是介绍如何搭建 ESP32 MicroPython环境。包括:
- 嵌入式硬件
- MicroPython固件
- IDE安装以及固件烧录
创作不易,望君点赞。