【DigiKey“智造万物,快乐不停”创意大赛】M5Paper开发环境的建立
[复制链接]
本帖最后由 HonestQiao 于 2023-10-27 00:12 编辑
M5Paper主控芯片为ESP32-D0WDQ6-V3,得益于ESP32生态环境的完善,可以使用多种开发环境,包括Arduino、platformio、micropython、circuitpython,以及M5 Stack提供的UI Flow。在上述开发环境中,支持较为完善的为Arduino和UI Flow。
一、UI FLow开发环境
UI Flow是M5 Stack专门为自己的产品,提供的一个类似Scratch的低代码可视化开发工具,直接使用浏览器访问即可:
要使用这个Ui Flow,需要先使用官方提供的m5burn烧录工具,烧录对应的固件:
然后按照界面步骤,选择好对应的串口:
烧录后,启动板子,默认就会进入UI FLow界面,默认界面如下:
此时拨动拔轮开关,或者按一下拔轮开关的按键 ,就会自动重启,进入UI Flow远程开发界面:
上述界面中的APIKEY,需要在UI Flow开发界面的设置中填写,才能把两者关联起来:
关联起来,就能使用在线开发工具进行开发了。
UI Flow在开发板上的部分,是基于micropython的,所以开发板上实际运行的就是micropython。
可惜的是,UI Flow已经发展到了2.0版本了,而M5Paper仅支持1.0版本,运行的micropython版本也是1.12。
而UI Flow2.0已经更新到了micropython 1.20版本了,跟上micropython的主流版本了。
UI Flow开发工具使用较为简单,拖拖拉拉就能构建运行流程,对小朋友非常的友好,这里就不详细说明了,敢兴趣的同学,可以看官方的UI Flow使用指导。
二、micropython开发环境
既然UI Flow的板子上运行的为micropython,那么就可以直接使用micropython进行开发。
UI Flow开发工具,本身也提供了Python开发界面:
但是如果能够使用本地的开发工具,连接到板子上运行的micropython,那就更方便了。
在UI Flow界面,按下键,进入模式选择:
在上述界面中,如果选 USB Mode,则可以使用vscode安装M5 Stack插件后,进行开发。
如果要使用通用的micropython工具来进行开发,则选择APP Mode更合适。
选择APP Mode后,回到主界面重新启动,然后使用Thonny即可连接:
为了通勤车每次重启后,都能自动进入APP Mode,可以打开开发板上的boot.py文件,添加如下的代码:
保存后,每次重启,就不用重新设置了。
然后,打开main.py,编写自己的代码,运行即可:
运行后,Thonny Shell窗口输出如下:
M5Paper也会刷新显示:
三、circuitpython开发环境
m5burn工具中,也为M5Paper提供了circuitpython固件,具体如下:
烧录后,使用Thonny连接即可:
但是这个circuitpython固件,没有提供相关的M5 Stack支持包,需要自己去找对应的Lib。
四、Arduino开发环境
M5 Stack为Arduino提供了专门的支持包,在Arduino IDE中启用,就能够看到很多的实例。
支持包的配置网址为:https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
安装后,从开发板中选择M5Paper即可:
如果不下载专门的支持包,使用ESP32的支持包,也能够提供支持,虽然没有直接的M5Papr开发板,但是选择M5Stack-Fire也可:
另外,还需要安装M5PED及M5GFX,来提供对屏幕的支持:
安装好以后,就可以打开M5EPD的HelloWorld实例,运行查看效果:
参考如下进行修改:
编译下载后,M5Paper就显示Hello World了:
五、platformio开发环境
首先,使用git克隆:
然后用vscode打开,如果没有安装platformio,则安装该扩展,再打开。打开后,会自动安装需要的支持包。
在底部的工具栏的图标上,依次点击Build和Upload:
编译烧录后,就会进入出厂测试界面了:
查看该项目的文件,可以看到只依赖了M5EPD:
其他的外设驱动,参考使用platformio开发常见esp32项目即可。
六、总结
通过上述的开发环境,特别是Arduino和Ui Flow,就能快速的开始M5Paper的开发,把各项功能好好运用起来了。
建议先了解UI Flow,毕竟对适配的设备,各项功能都提供了完善的支持,而且可以很方便的就调用起来。
在此基础上,使用其他开发环境,可以对照着进行研究,以免钻入死胡同。
|