一、什么是 MaixPy?

MaixPy 是基于 Sipeed 公司研发的 K210 芯片所打造的一套 MicroPython 开发框架。K210 是一款内置双核 64 位 RISC-V CPU、具备强大机器视觉与 AI 加速能力的超低功耗 AI 芯片,广泛应用于人工智能、物联网、教育、嵌入式开发等领域。

MaixPy 让开发者可以用 Python 语言快速控制硬件、调用 AI 模型、连接外设,非常适合 AI 入门、创客制作和教育学习。

🔍 MaixPy 的主要用途:

  1. 机器视觉:

    • 支持人脸检测、物体识别、二维码识别等;
    • 应用场景包括智能门禁、安防监控、工业质检、智能小车等。
  2. 语音处理:

    • 支持关键词唤醒(如“Hi, Maix”)、本地语音识别;
    • 可用于语音控制设备、AI 音箱等。
  3. 物联网(IoT):

    • 可通过 SPI、I2C、UART 或 WiFi/蓝牙模块连接传感器、网络;
    • 应用于数据采集、远程控制、智能家居等。
  4. 教育与快速原型开发:

    • 使用 MicroPython 语法,易学易用;
    • 丰富的 API 和例程,帮助初学者轻松构建 AI 小项目。
  5. 低成本 AI 部署:

    • K210 芯片价格亲民,适合部署轻量 AI 模型于终端设备上(如机器人、无人机、边缘计算盒子)。

二、准备工作

硬件部分:我自己的是Maix Bit K210

  • Sipeed Maix 系列开发板(如 Maix Bit / Maix Dock / Maix Go);
  • microUSB 数据线(用于连接电脑与开发板);
  • 可选配件:摄像头模组、LCD 屏、WiFi 模块、传感器模块等;
  • 一台运行 Windows 或 Linux/macOS 的电脑。

软件部分:

  • MaixPy IDE(图形化开发环境);
  • kflash_gui(固件烧录工具);
  • MaixPy 固件文件(.bin 格式);
  • 示例源码、文档资料(可从 Wiki 或 GitHub 获取)。

三、学习资源汇总

  1. 官方文档(必读!):  https://wiki.sipeed.com/soft/maixpy/zh/how_to_read.html 教你如何高效阅读官方 Wiki,建议首先浏览了解文档结构。

  2. 视频教程(B站):  https://www.bilibili.com/video/BV144411J72P 该视频为视频版快速上手教程,配合文字教程学习效果更佳。

  3. IDE 使用教程:  https://wiki.sipeed.com/soft/maixpy/zh/get_started/env_maixpyide.html

四、安装开发环境

Step 1:安装 MaixPy IDE(基于 Qt 开发的跨平台 IDE)

  • Windows 用户直接下载可执行文件安装包;
  • Linux/macOS 用户可参考官方文档进行依赖安装或使用 AppImage;
  • 下载地址可在官方 Wiki 找到最新版本。

MaixPy IDE 安装与使用 - Sipeed Wikihttps://wiki.sipeed.com/soft/maixpy/zh/get_started/env_maixpyide.html

Step 2:安装 kflash_gui(固件烧录工具)

五、烧录 MaixPy 固件

MaixPy 的运行依赖于特定版本的固件,初次使用需要烧录到开发板中。

Step-by-step 固件烧录流程:

  1. 下载固件文件:

  2. 打开 kflash_gui:

    • 选择开发板型号(一般选 Maix Bit/Dock);
    • 设置波特率(默认 115200 或 1500000);
    • 选择刚下载的 .bin 固件;
    • 连接开发板至电脑,选择正确的 COM 端口;
    • 点击“下载”按钮,等待烧录完成。

具体例子

# 导入必要的硬件控制库
# sensor:用于控制摄像头模块,采集图像数据
# lcd:用于控制LCD屏幕,显示图像/文字
import sensor, lcd

# ====================== 摄像头初始化配置 ======================
# 重置摄像头模块(相当于摄像头的"重启",确保初始状态干净)
sensor.reset()
# 设置摄像头输出图像的像素格式
# sensor.RGB565:RGB色彩模式,每个像素占2字节(5位红+6位绿+5位蓝),兼顾色彩和性能
# 可选值:sensor.GRAYSCALE(灰度模式,占1字节,处理更快)
sensor.set_pixformat(sensor.RGB565)
# 设置摄像头采集图像的分辨率
# sensor.VGA:640x480像素(常见的中等分辨率,兼顾清晰度和传输速度)
# 可选值:sensor.QVGA(320x240)、sensor.QQVGA(160x120)(分辨率越低,帧率越高)
sensor.set_framesize(sensor.VGA)
# 启动摄像头(开始持续采集图像数据)
# 参数1表示"开启",0表示"关闭"
sensor.run(1)
# 跳过前几帧图像(摄像头刚启动时,图像参数未稳定,跳过避免显示异常)
sensor.skip_frames()

# ====================== LCD屏幕初始化配置 ======================
# 初始化LCD屏幕,设置通信频率(freq)为15MHz
# 频率越高,屏幕刷新越快,但过高可能导致通信不稳定(15MHz是Maix系列的常用值)
lcd.init(freq=15000000)

# ====================== 主循环:实时显示摄像头画面 ======================
# while(True):无限循环,持续执行内部代码,直到手动停止程序
while(True):
    # 核心逻辑:采集摄像头画面并显示到LCD屏幕
    # 1. sensor.snapshot():获取摄像头当前帧的图像数据(返回图像对象)
    # 2. lcd.display():将图像对象显示到LCD屏幕上
    lcd.display(sensor.snapshot())


摄像头就有反应了

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐