8.1 设置MaixPy环境



1.1 什么是 MaixPy?


MaixPy 是将 Micropython 移植到 K210(一款 64 位双核带硬件 FPU、卷积加速器、FFT、Sha256 的 RISC-V CPU ) 的一个项目, 支持 MCU 常规操作, 更集成了硬件加速的 AI 机器视觉和麦克风阵列,1TOPS 算力 核心模块却不到¥50, 以快速开发具有极低成本和体积实用的 AIOT 领域智能应用。

首先需要弄清: MaixPy 使用 Micropython 脚本语法,所以不像 C 语言 一样需要编译,其实不用 IDE 也能愉快使用: 使用串口终端工具,前面已经安装了

使用 IDE 则会方便在电脑上实时编辑脚本并上传到开发板以及直接在开发板上执行脚本,以及在电脑上实时查看摄像头图像、保存文件到开发板等

当然, 使用 IDE 因为压缩、传输需要耗费一部分资源,所以性能会有所降低,而且如果MaixPy宕机也没有串口终端好发现问题


了解更多请点击官网浏览官方说明。

1.2 MaixPy 可以用来作什么?


  • 人脸识别

  • 物体识别

  • 颜色识别
  • 情绪识别
  • 车牌识别
  • 分拣系统

了解更多请点击官网浏览官方说明。



2.如何搭建使用环境?



2.1 开发环境准备


2.1.1 安装驱动

  • 正式使用 MaixPy 之前,我们需要先安装好串口驱动,才可进行下一步的开发与使用;因为板子是通过 USB 转串口设备与电脑连接(K210 没有 USB 硬件支持功能)。 根据板子的 USB 转串口芯片型号装驱动。

  • 点击下载并安装串口驱动

  • 在 Linux 或者 Mac 下操作串口, 如果不想每次都使用 sudo 命令, 执行 sudo usermod -a -G dialout $(whoami) 将自己添加到 dialout 用户组即可,可能需要注销或者重启才能生效


2.1.2 烧录固件

  • 要使用 MaixPy IDE 固件必须是 v0.3.1 版本以上, 否则MaixPyIDE 上会连接不上, 使用前尽量检查固件版本和 IDE 版本,都更新到最新版以保障能正常使用

  • 点击下载 固件烧录器Kflsh, 下载完成会得到一个压缩包
    kflash_gui 是跨平台的,可以在多个系统下工作(包括 Windows、Linux、MacOS、甚至树莓派) 使用勘智(Kendryte)的Windows版本可能部分开发版无法下载成功,请使用 kflash_gui 这个软件来下载

  • 点击下载固件

  • 烧录固件

下载完成后,使用固件烧录器烧录固件到M5StickV:

烧录1

烧录1


2.2 下载安装软件


2.2.1 点击下载 MaixPy-IDE

注意:文件列表等说明 请看 最新版本文件夹下的 readme.txt 文件, 如果下载速度慢请使用 cdn 链接下载  

安装软件

下载好的文件,Windows直接双击exe文件运行安装程序

测试连接

打开 MaixPy IDE, 上方工具栏里面选择开发板的型号。请选择 M5StickV 进行连接。

Tool-> Select Board (工具->选择开发板)

点击 connect 连接 MaixPy IDE

主页面

连接成功后,会由绿色变成红色

连接成功

连接按钮下方是运行按钮,会执行当前编辑区的py文件.

运行软件

再次点击运行按钮(红色), 停止运行当前代码.



3. 关于 USB 串口的疑难杂症排查

如果没有看到串口,请按如下顺序排查硬件问题。

  • 插入电脑,是否存在叮咚一声,如插入 U 盘时USB 驱动加载的声音,没有表示硬件上的串口芯片出问题了。

  • 更换线材重试,更换电脑 USB 口重试,仍然加载不出来,更换电脑确认。

如果没有办法烧录固件,请按如下顺序排查硬件问题。

  • 使用串口工具查看硬件当中是否存在 maixpy 固件

  • 设置 115200 波特率连接串口,按复位键(RST)接收到芯片的数据,不管是什么都表示串口芯片工作正常,如果没有则表示硬件异常。

  • 基于上述再进行烧录固件,烧录前,按硬件的 BOOT 键后按复位,再松开 BOOT 键,此时烧录正常进行,如果没有则表示 Flash 受损,可以尝试烧录到 SRAM ,如果烧录失败,则表示串口芯片异常。
  • 如果到这里了,还是不能解决问题,则硬件确实存在缺陷

3.1 K210 的烧写机制介绍

我们常把这个称为一键下载电路,表示能够轻松的通过控制 串口的 RST 和 DTR 的完成对 BOOT 和 RST 引脚的控制进入烧录模式,如上描述的期望硬件电路自动完成最初由人按下 BOOT 后按 RST 的操作,这与硬件实现强相关,基于此,再进行 TX 和 RX 的数据传输,所以实际上我们需要用到 UART 串口的功能引脚。

在 Kflash 中分多种版型多种烧写方式的触发,我们可以简单分为几类,低速的 115200 和 高速的 1500000 波特率,以这两类波特率所匹配的烧录方式为差异点,如果发现下载过程中失败,可以适当的降低波特率,这是由于串口芯片工作不稳定导致,而工具中对版型选择只是会影响第一段烧录模式的触发,而在这之后的烧写固件中就会采取配置的波特率进行烧写,通常不超过与flash的通信烧录速度,常见于 50~60 KB/S。

如果发现无论如何更换烧录模式都无法进入,要么是烧录版型不匹配,要么是串口芯片的 DTR RST 引脚出了问题(物理上的)

results matching ""

    No results matching ""