MaixPy3 如何获取、安装、使用?

目前 MaixPy3 适配的平台

目前 MaixPy3 用于 Linux 平台,为用户提供了板子的 Python 编程基础模块、如摄像头、屏幕、I2C等传感器外设的用法、以及后续需要的图像处理、传统算法、AI 算法模块等相关功能模块,未来会陆续适配其他低端嵌入式芯片平台。

2022年07月11日 MaixPy3 不支持 Windows MacOS Android 等操作系统。

在 Linux Desktop 上使用 pip3 安装 MaixPy3

Linux Desktop 特指带桌面的 Linux 系统,如 ubuntu 、 debian 、Raspberry Pi OS 等。

先在终端执行下面命令来配置 MaixPy3 所需要的 libjpeg pybind11 gcc libopencv 等基础依赖库。

从 github ci 了解如何自动构建 maixpy3 包

然后安装或更新 maixpy3 依赖包。

pip3 install maixpy3 --upgrade

若是 MaixPy3 包安装后即可在终端运行代码检查版本号。

juwan@juwan-n85-dls:~$ python3
Python 3.8.10 (default, Nov 26 2021, 20:14:08)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import maix
>>> maix.
maix.nn       maix.signal   maix.version
>>> maix.version
'0.5.1'
>>>

可以接好摄像头设备(/dev/videoX)后,在设备上输入下面命令来测试拍照

from maix import camera, display
display.show(camera.capture().draw_string(0, 0, "hello world!"))

下面为实拍图。

通常来说,像树莓派 2B 这类拥有桌面环境的 linux 设备也是可以通过 pip 进行安装 Linux Desktop 分支的,使用效果一样。

MaixII-Dock (m2dock) 安装与更新 MaixPy3

MaixII-Dock 需要烧录官方已预置 MaixPy3 的镜像,你也可以手动 pip 安装更新 whl 软件包。

如何更新 MaixPy3 包

可以手动下载最新的 MaixPy3 安装包

maixpy3_download

下载带有 cp8 的安装包,cp9 是给别的平台使用的。将这个安装的名字修改成 maixpy3-9.9.9-cp38-cp38-linux_armv7l.whl,直接存放到开发板中,重启开发板就会自动更新和安装 MaixPy3。

maixpy3_install

更新前请关闭 IDE 或不接 OTG 口,防止有其他操作影响系统的软件更新,在放入 U 盘后,断电开机会看到如下画面,如果超过 3 分钟画面没有变化,那可能就是失败了,就请重烧系统吧。(2022 年 1 月 14 日至今还没出现过失败样本)

MaixSense 安装 MaixPy3

MaixSense 需要烧录官方提供预置 MaixPy3 的 Armbian 镜像,你也可以手动 pip 安装更新 whl 软件包。

root@maixsense:~# pip3 install maixpy3

Requirement already satisfied: maixpy3 in /usr/local/lib/python3.9/dist-packages (0.3.4)
Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (from maixpy3) (8.1.2)
Requirement already satisfied: zbarlight in /usr/local/lib/python3.9/dist-packages (from maixpy3) (3.0)
Requirement already satisfied: evdev in /usr/local/lib/python3.9/dist-packages (from maixpy3) (1.4.0)
Requirement already satisfied: spidev in /usr/local/lib/python3.9/dist-packages (from maixpy3) (3.5)
Requirement already satisfied: pyserial in /usr/local/lib/python3.9/dist-packages (from maixpy3) (3.5)
Requirement already satisfied: rpyc in /usr/local/lib/python3.9/dist-packages (from maixpy3) (5.0.1)
Requirement already satisfied: gpiod in /usr/local/lib/python3.9/dist-packages (from maixpy3) (1.5.0)
Requirement already satisfied: plumbum in /usr/local/lib/python3.9/dist-packages (from rpyc->maixpy3) (1.7.0)

root@maixsense:~# python #运行python
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from maix import camera,display
>>> while True:
···    display.show(camera.capture())

输出以上信息则是代表安装好了,以下为实拍图。

其他 Linux 芯片平台

目前还没有精力适配其他平台的软件包,但大都不难适配,主要的适配工作量在 nn 模块(神经网络方面的接口),而其他都是通用的。