MaixPy 快速开始

MaixPy 唯一官网: wiki.sipeed.com/maixpy
MaixPy 例程和源码: github.com/sipeed/MaixPy

关于 MaixPy 介绍请看 MaixPy 官网首页

获得 MaixCAM 设备

Sipeed 淘宝 或者 Sipeed 速卖通 店铺购买 MaixCAM 开发板。

建议购买带 TF 卡摄像头2.3寸触摸屏外壳Type-C 数据线Type-C一转二小板4P串口座子+线的套餐,方便后续使用和开发,后面的教程都默认你已经有了这些配件(包括屏幕)。

如果你没有购买 TF 卡,则你需要自备一个 TF 读卡器用来烧录系统。

注意,目前只支持 MaixCAM 开发板,其它同型号芯片的开发板均不支持,包括 Sipeed 的同型号芯片开发板,请注意不要买错造成不必要的时间和金钱浪费。

上手配置

准备 TF 镜像卡和插入到设备

如果你买的套餐里面有 TF 卡,里面已经有出厂镜像了,如果出厂时 TF 卡没有安装到设备,需要先小心打开外壳(注意里面有排线连接不要扯断了),然后插入 TF 卡。另外因为出厂的固件可能比较老旧,可以插按照升级和烧录系统先将系统升级到最新版本。

如果没买 TF 卡,则需要将系统烧录进自备的 TF 卡中,烧录方法请看升级和烧录系统,然后再安装到板子。

上电开机

使用 Type-C 数据线连接 MaixCAM 设备给设备供电,等待设备开机,开机会进入功能选择界面。

maixcam_font

如果屏幕没有显示

  • 请确认购买了配套的 TF 卡,如果确认有 TF 卡,并且已经插入到设备,可以尝试更新到最新的系统
  • 如果你没有购买 TF 卡套餐,你需要按照升级和烧录系统的方法烧录最新的系统到 TF 卡。
  • 另外请确认屏幕和摄像头的排线没有松动,屏幕的排线在拆开外壳时很容易脱落,需要注意。

联网

首次运行需要连接网络,后面会激活设备和使用 IDE 会用到。

  • 设备上点击 设置(Settings),选择WiFi,点击 扫描 按钮开始扫描周围 WiFi, 可以多次点击刷新列表。
  • 找到你的 WiFi 热点,如果没有路由器可以用手机开一个热点。
  • 输入密码点击连接按钮进行连接。
  • 等待获取到 IP 地址,这可能需要 1030 秒,如果界面没有刷新可以退出WiFi功能重新进入查看,或者在设置 -> 设备信息 中也可以看到 IP 信息。

升级运行库

这一步很重要 !!! 这一步如果不做好,其它应用和功能可能无法运行(比如闪退等)。

  • 首先保证上一步连接 WiFi 已经完成,并且获取到 IP 地址能访问公网。
  • 设备上点击 设置(Settings),选择安装运行库
  • 安装完成后可以看到更新到了最新版本,然后退出即可。

如果显示Request failed 或者请求失败,请先检查网络是否已经连接,需要能连接到互联网,如果还不行,请拍照联系客服处理即可。

使用内置应用

内置了很多应用,比如 找色块,AI 检测器,巡线等等,找色块举例:

其它的请自行摸索,以后还会更新更多应用,使用文档以及应用更新请看 MaixHub 应用商店

注意:应用只包含了 MaixPy 能实现的一部分功能,使用 MaixPy 能创造更多功能

作为串口模块使用

如果是想把设备当成主控使用(或者你还不懂什么是串口模块)可以跳过这一步。

内置的各种应用可以直接当成串口模块使用,比如找色块找人脸找二维码等等,

使用方法:

  • 硬件连接: 可以给设备接上Type-C一转二小板,这样我们就能将设备通过串口连接到你的主控上了,比如Arduino树莓派STM32等等。
  • 打开你想用的应用,比如二维码识别,当设备扫描到二维码就会通过串口把结果发送给你的主控了。

发送的串口波特率是 115200,数据格式是 8N1,协议遵循 Maix 串口通信协议标准,可以在MaixHub APP 找到对应的应用介绍查看协议。

准备连接电脑和设备

为了后面电脑(PC)能和 设备(MaixCAM)通信,我们要让它们在同一个局域网内,提供了两种方式:

  • 方法一 (强烈推荐):无线连接, 设备使用 WiFi 连接到电脑连接的同一个路由器或者 WiFi 热点下: 在设备的设置 -> WiFi 设置中连接到你的 WiFi 即可。
  • 方法二:有线连接, 设备通过 USB 线连接到电脑,设备会虚拟成一个 USB 网卡,这样和电脑就通过 USB 在同一局域网了。

方案二因为要用 USB 和驱动,可能会遇到一些问题,所以推荐直接用 WiFi 开始,可以在 FAQ 中找常见问题。

方案二在不同电脑系统中有不同设置方法,点击展开
  • Linux: 无需额外设置,插上 USB 线即可, 使用 ifconfig 或者 ip addr 查看到 usb0 网卡,注意 这里看到的 ip 比如 10.131.167.100 是电脑的 ip, 设备的 ip 是最后一位改为110.131.167.1
  • Windows: 可以先确认网络适配器里面是否多了一个 RNDIS 设备,如果有就直接能用。否则需要手动安装 RNDIS 网卡驱动:
    • 打开电脑的设备管理器
    • 然后在其它设备里面找个一个带问号的 RNDIS 设备,右键选择更新驱动程序
    • 选择浏览计算机以查找驱动程序,然后选择让我从计算机上的可用驱动程序列表中选择
    • 选择网络适配器,然后点击下一步
    • 左边选择Microsoft,右边选择远程 NDIS 兼容设备,然后点击下一步, 选择
    • 装好后的效果
    RNDIS
  • MacOS: 无需额外设置,插上 USB 线即可, 使用 ifconfig 或者 ip addr 查看到 usb0 网卡,注意 这里看到的 ip 比如 10.131.167.100 是电脑的 ip, 设备的 ip 是最后一位改为110.131.167.1

开发环境准备

  • 下载 MaixVision 并安装。
  • 使用 Type-C 连接设备和电脑,打开 MaixVision,点击左下角的“连接”按钮,会自动搜索设备,稍等一下就能看到设备,点击设备有点的连接按钮以连接设备。

如果没有扫描到设备,你也可以在设备设置 -> 设备信息 中查看设备的 IP 地址手动输入, 也可以在 FAQ 中找到解决方法。

连接成功后,设备的功能选择界面会消失,屏幕会黑屏,释放了所有硬件资源,如果仍然有画面显示,可以断开连接重连。

这里有 MaixVision 的使用示例视频:

运行例程

点击 MaixVision 左侧的示例代码,选择一个例程,点击左下角运行按钮将代码发送到设备上运行。

比如:

  • hello_maix.py,点击运行按钮,就能看到 MaixVision 终端有来自设备打印的消息,以及右上角出现了图像。
  • camera_display.py,这个例程会打开摄像头并在屏幕上显示摄像头的画面。
from maix import camera, display, app

disp = display.Display()          # 构造一个显示对象,并初始化屏幕
cam = camera.Camera(640, 480)     # 构造一个摄像头对象,手动设置了分辨率为 640x480, 并初始化摄像头
while not app.need_exit():        # 一直循环,直到程序退出(可以通过按下设备的功能按键退出或者 MaixVision 点击停止按钮退出)
    img = cam.read()              # 读取摄像头画面保存到 img 变量,可以通过 print(img) 来打印 img 的详情
    disp.show(img)                # 将 img 显示到屏幕上
  • yolov5.py 会检测摄像头画面中的物体框出来并显示到屏幕上,支持 80 种物体的检测,具体请看YOLOv5 物体检测

其它例程可以自行尝试。

如果你使用相机例程遇到了图像显示卡顿,可能是网络不通畅,或者 USB 线质量或者主机 USB 质量太差造成,可以更换连接方式或者更换线缆、主机 USB 口或者电脑等。

安装应用到设备

上面是在设备中运行代码,MaixVision 断开后代码就会停止运行,如果想让代码出现在开机菜单中,可以打包成应用安装到设备上。

点击 MaixVision 左下侧的安装应用按钮,填写应用信息,会将应用安装到设备上,然后在设备上就能看到应用了。
也可以选择打包应用,将你的应用分享到MaixHub 应用商店

默认例程没有显式编写退出功能,进入应用后按下设备的功能按键即可退出应用。(对于 MaixCAM 是 user 键)

如果想让程序开机自启动,可以在 设置 -> 开机启动 中设置。

下一步

看到这里,如果你觉得不错,请务必来 github 给 MaixPy 开源项目点一个 star(需要先登录 github), 你的 star 和认同是我们不断维护和添加新功能的动力!

到这里你已经体验了一遍使用和开发流程了,接下来可以学习 MaixPy 语法和功能相关的内容,请按照左边的目录进行学习,如果遇到 API 使用问题,可以在API 文档中查找。

学习前最好带着自己学习的目的学,比如做一个有趣的小项目,这样学习效果会更好,项目和经验都可以分享到MaixHub 分享广场,会获得现金奖励哦!

分享交流

  • MaixHub 项目和经验分享 :分享你的项目和经验,获得现金打赏,获得官方打赏的基本要求:
    • 可复现型:较为完整的项目制作复现过程。
    • 炫耀型:无详细的项目复现过程,但是项目展示效果吸引人。
    • Bug 解决经验型:解决了某个难题的过程和具体解决方法分享。
  • MaixPy 官方论坛(提问和交流)
  • QQ 群: (建议在 QQ 群提问前先发个帖,方便群友快速了解你需要了什么问题,复现过程是怎样的)
    • MaixPy (v4) AI 视觉交流大群: 862340358
  • Telegram: MaixPy
  • MaixPy 源码问题: MaixPy issue
  • 商业合作或批量购买请联系 support@sipeed.com 。