MaixPy-v1 文档简介
全新硬件产品 MaixCAM,性能大升级,请看: https://wiki.sipeed.com/maixcam
Maix-I K210 系列正在被逐渐淘汰,如果你正准备购买 K210, 请立刻选择 MaixCAM;
也欢迎 K210 用户升级到 MaixCAM
本文档中(https://wiki.sipeed.com/soft/maixpy/zh/ 路径下)的所有 MaixPy 均代指 MaixPy-v1
关于 MaixPy-v1
MaixPy-v1(后文直接用 MaixPy 代之,注意与 MaixPy v4 区分) 是将 Micropython 移植到 K210(一款 64 位双核带硬件 FPU、卷积加速器、FFT、Sha256 的 RISC-V CPU ) 的一个项目; MaixPy 不但支持 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) # 打印设备
同样,我们需要实现一个呼吸灯,只需要如下代码:
board_info
与板卡相关,不同板卡配置不同,使用前需要手动配置。
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. 维护, 并接受来自开源社区的贡献, 具体贡献这见贡献者列表
反馈
关于本文档或者功能或者源码方面的问题,也欢迎提交issue:
交流
有问题尽量到上面的反馈地址提交issue
,方便留下记录,其他人也可以查阅,提交前搜索一下是否有人提过相同问题
也可以去论坛发帖交流,方便按他人查询类似问题。
以下交流方式提供辅助:
交流方式 | 地址 |
---|---|
issue | https://github.com/sipeed/MaixPy-v1issues |
BBS | https://bbs.sipeed.com |
MaixPy AI QQ 交流群 | 862340358 |
MaixPy AI QQ 交流群(六群) | 636551897 |
telgram | https://t.me/sipeed |
E-mail(商业合作) |
网站导航 | 地址 |
---|---|
MaixPy 唯一官方文档官网 | 中文站: wiki.sipeed.com |
MaixPy 例程仓库 | github: github/maixpy_script 国内:gitee/maixpy_scripts |
MaixPy 源码 | github: MaixPy |
开发板资料下载 | dl.sipeed.com |
Sipeed WIKI | wiki.sipeed.com |