近期在使用MicroPython为开发板编程,作个小的总结整理。
MicroPython官网 https://micropython.org
由于我用的是ESP32(主要是C3),所以多是关于ESP32的。
MicroPython ESP32 C3快速参考手册 在这里也能找到ESP32/S2/S3的
注意点
- 要先装好开发板的驱动,Windows 10以上基本上免驱,Mac需要安装。
- MicroPython跟标准的Python不一样,区别参见 https://github.com/micropython/micropython/wiki/Differences
- 由于
os
模块只是包含了标准库的一个很小的子集,不包含os.path
。文件读写、文件夹操作是可以的。 基本操作 https://docs.micropython.org/en/latest/library/os.html#general-functions - 多线程支持处于初级阶段,再考虑到开发板的内存瓶颈,多开几个线程就可能会导致堆栈溢出,所以多线程要慎用。
upip
只能安装MicroPython支持的包,少的很。- 出于性能、外设支持考虑,S3的开发板是最强的,其次是S2和ESP32,C3最次了,但作为学习入门是不错的。
webrepl
最好设置为开机启动,以免出现BUG时程序进入死循环,此时无法通过编辑器修改boot.py
,而webrepl
开启时可直接替换文件再重启即可。
实用模块/功能
-
消息队列
需要开通MQTT服务
-
WiFi连接
-
AP热点
能启动,或固件原因,板子不支持config方法
-
SOCKET请求
-
多线程 参考
-
webrepl
远程上传文件到开发板,或从开发板下载文件
-
定时器Timer
-
WebServer 官方示例 第三方MicroWebSrv 推荐新版MicroWebSrv2
外设
-
LED灯
OK
-
屏幕/触摸屏
OK,不用触摸屏没必要lvgl
lvgl on MicroPython -
摄像头 ov2640
ESP32-Cam,使用Arduino OK
-
喇叭
-
麦克风
-
温湿度传感器