MaixPy 文档简介

    maixpy logo
    sipeed logo micropython logo
    网站导航 地址
    MaixPy 唯一官方文档官网 官网: maixpy.sipeed.com
    中文站: cn.maixpy.sipeed.com
    MaixPy 例程仓库 github: github/maixpy_script
    国内:gitee/maixpy_scripts
    MaixPy 源码 github: MaixPy
    开发板资料下载 dl.sipeed.com
    Sipeed WIKI wiki.sipeed.com

    关于 MaixPy

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

    MicroPython 是基于 Python3 的语法做的一款解析器,包含了 Python3 的大多数基础语法, 主要运行在性能和内存有限的嵌入式芯片上。(注意 Micropython 不包含 Python3 的所有语法)

    MaixPy 让我们在 K210 上编程更加简单快捷, 我们也将源代码开源在 github

    使用 MaixPy 可以做很多有趣的事情, 具体可以看这里

    简洁的代码实例

    比如我们需要扫描 I2C 总线上的设备,不需要复杂的开发环境和工程,只需要通过串口发送如下代码即可实现:

    from machine import I2C                          # 导入内置库
    
    i2c = I2C(I2C.I2C0, freq=100000, scl=28, sda=29) # 定义一个I2C对象, 使用I2C0, 频率100kHz,SCL引脚是IO28, SDA 引脚是IO29
    devices = i2c.scan()                             # 调用函数扫描设备
    print(devices)                                   # 打印设备
    

    同样,我们需要实现一个呼吸灯,只需要如下代码:

    from machine import Timer,PWM
    from board import board_info
    import time
    
    tim = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PWM)
    ch = PWM(tim, freq=500000, duty=50, pin=board_info.LED_G)
    duty=0
    dir = True
    while True:
        if dir:
            duty += 10
        else:
            duty -= 10
        if duty>100:
            duty = 100
            dir = False
        elif duty<0:
            duty = 0
            dir = True
        time.sleep(0.05)
        ch.duty(duty)
    

    实时拍照

    import sensor
    import image
    import lcd
    
    lcd.init()
    sensor.reset()
    sensor.set_pixformat(sensor.RGB565)
    sensor.set_framesize(sensor.QVGA)
    sensor.run(1)
    while True:
        img=sensor.snapshot()
        lcd.display(img)
    

    AI 物体检测:

    import KPU as kpu
    import sensor
    
    sensor.reset()
    sensor.set_pixformat(sensor.RGB565)
    sensor.set_framesize(sensor.QVGA)
    sensor.set_windowing((224, 224))
    
    model = kpu.load("/sd/mobilenet.kmodel")  # load model
    while(True):
        img = sensor.snapshot()               # take picture by camera
        out = kpu.forward(task, img)[:]       # inference, get one-hot output
        print(max(out))                       # print max probability object ID
    

    please read doc before run it!

    这篇文档的内容

    所有关于 MaixPy 的内容, 包括:

    • 如何选择并得到一款合适自己的模块或者开发板
    • 如何开始上手使用
    • 库和接口(API)文档查询
    • 详细的一步一步手把手教程
    • 来自社区的分享(教程或开源项目)

    为了在学习过程中避免遇到难以解决的问题,请务必按照左边目录结构从上到下阅读,特别是写在前面的章节,不要跳过

    可以运行MaixPy的开发板

    首先我们需要选择一款适合自己的开发板,各个型号的 MaixPy 型号请点击:开发板与配件选购指南,同时目录下也有对应开发板的硬件参数和资料

    要获得这些板子,可以访问Sipeed(矽速)官网www.sipeed.com,或者官方淘宝店

    MaixPy 源码

    MaixPy 源码是指 运行在 K210 上的 Micropython 语法解析器, 使用 C语言 编写, 源码托管在 github, 如果只是想使用 MaixPy,不需要了解源码, 但是也欢迎给 MaixPy 项目一个 star ;

    如果想参与开发 MaixPy 的内置功能,可以下载进行开发,欢迎大家提交 PR

    本项目主要由 ©Sipeed Co.,Ltd. 维护, 并接受来自开源社区的贡献, 具体贡献这见贡献者列表

    MaixPy 文档源码

    文档源码托管在 github,如果文档有错别字或者改进可以提交PR,PR通过后,文档也会随之更新

    注意: 在编辑文档前必须文档编写规范, 只有符合文档规范的修改才会被通过

    反馈

    关于本文档或者功能或者源码方面的问题,也欢迎提交issue:

    交流

    有问题尽量到上面的反馈地址提交issue,方便留下记录,其他人也可以查阅,提交前搜索一下是否有人提过相同问题

    以下交流方式提供辅助:

    交流方式 地址
    issue https://github.com/sipeed/MaixPy/issues
    BBS https://bbs.sipeed.com
    MaixPy AI QQ 交流群 878189804
    MaixPy AI QQ 交流群(二群) 1129095405
    telgram https://t.me/sipeed
    E-mail(商业合作) email