M5Stack或USB Serial, Windows 推荐使用驱动文件在设备管理器直接进行安装 (自定义更新), 可执行文件安装方式可能无法正常工作)。点击此处,前往下载FTDI驱动


系统偏好设置 - >安全性与隐私 - >通用 - >允许以下位置下载的App - > App Store和认可的开发者选项。1. 下载固件和 Kflash_GUI 烧录工具。
| 固件版本 | 下载链接 |
|---|---|
| M5StickV_Firmware_v5.1.2.kfpkg | Download |
2. 将设备通过 type-C 数据线连接至电脑,双击打开烧录工具Kflash_GUI应用程序,选择对应的设备端口、开发板类型 (M5StickV)、固件程序、波特率。点击下载,开始烧录.
1. 设备的 USB 将默认启用为系统 log 端口,用户可使用该接口连接至电脑,使用 putty 或 MobaXterm 之类的终端工具进行访问,默认波特率为115200bps, 以下操作基于 putty 进行操作,请点击下方链接下载 putty 安装包,并根据操作指引实现登录。
2. 运行 Putty 后,将 UnitV 通过 type-C 数据线连接至电脑端口,在 Putty 中设置相应的端口号与波特率,点击 "open", 开始连接. (你可以通过查看设备管理器得到 UnitV 所使用的端口号)
3. 连接成功后,将自动进入 MaixPy 的交互界面。此时设备正在运行着默认程序,您可以通过按下快捷键 "Ctrl+C" 中断其运行,并进入命令行.
在交互解释器 (REPL) 中,我们能够便捷的输入程序并马上得到运行结果,但这仅适合用作短程序的验证,在实际项目中,庞大代码量使得我们不得不将代码编辑成一个个的文件.
在 MaixPy 中,内置了一款编开源编辑器 Micropython Editor(pye), 这使得我们能够非常方便的修改程序文件.
使用 os.listdir() 可以查看当前目录下的文件,
使用 pye("hello.py") 可以创建文件并进入编辑模式 (已存在同名文件,则仅进入编辑), 快捷键等使用说明可以在这里查看
在编辑器中完成编辑后,按 Ctrl+S > Enter 键进行保存,按 Ctrl+Q 退出编辑
注意: 使用这款编辑器对使用的串口工具有一定要求,必须将 BackSpace 按键设置为 DEL 功能,否则按 BackSpace 调用的是 Ctrl+H 一样的功能 (即字符替换)
使用 os.chdir() 切换当前目录到文件的目录,比如 os.chdir("/flash")
import然后执行 import hello
即可看到输出 hello maixpy
使用此方法简单易用,但是需要注意的是,目前 import 只能使用一次,如果第二次 import, 则文件不会再执行,如果需要多次执行,建议使用下面的方法
exec()使用 exec() 函数来执行
with open("hello.py") as f:
exec(f.read())
系统会在 /flash 或者 /sd 目录创建 boot.py 文件,开机会自动先执行这个脚本,编辑这个脚本的内容即可实现开机自启
MaixPy IDE 能够便捷的实现脚本程序的实时编辑、上传、执行,以及实时监控摄像头图像,文件传输等功能。使用 MaixPy IDE 因为数据的压缩、传输需要耗费一部分资源,所以性能会有所降低,但对性能需求不苛刻,或处于调试阶段的开发者来说这会是一个很不错的开发工具.
Windows 平台可直接双击 exe 文件,运行安装程序.
Linux 命令行给运行权限然后,执行命令
chmod +x maixpy-ide-linux-x86_64-0.2.2.run
./maixpy-ide-linux-x86_64-0.2.2.run
运行 MaixPy IDE, 点击工具栏,选择开发板的型号.Tool-> Select Board-> M5StickV (工具 -> 选择开发板)
点击左下角的连接按钮,并选择正确的连接端口,点击 OK.
当连接按钮由绿色变为红色的时表示,已经连接成功,你可以在上方的编辑框进行代码编辑,点击左下角的运行按钮能够执行代码,进行验证.
固件内置了 WS2812 RGB LED 驱动库,以下为参考例程。注意:由于 UnitV 的拓展端口不具备驱动负载功能,因此该程序仅适用于驱动内置的 RGB LED:
from modules import ws2812
from fpioa_manager import *
fm.register(8)
class_ws2812 = ws2812(8,100)
r=0
dir = True
while True:
if dir:
r += 5
else:
r -= 5
if r>=255:
r = 255
dir = False
elif r<0:
r = 0
dir = True
for i in range(100):
a = class_ws2812.set_led(i,(0,0,r))
a=class_ws2812.display()