MaixPy, 让 AIOT 更简单~
Maixpy 的目的是让 AIOT 编程更简单, 基于 Micropython 语法, 运行在一款有着便宜价格的高性能 AIOT 芯片 K210 上.
利用 MaixPy 可以做很多事情,具体参考 这里
K210 简介 :
- 拥有硬件加速的 AI 图像识别
- 带硬件浮点运算的双核处理器
- 8MB(6MB+2MB) 内存
- 16MB 外置 Flash
- 芯片 CPU 最高可达 800MHz 主频 (开发板支持最高主频具体看开发板介绍, 通常400MHz)
- 麦克风阵列支持(8个麦克风)
- 硬件 AES SHA256 支持
- FPIOA (每个外设可以映射到任意引脚)
- 外设: I2C, SPI, I2S, WDT, TIMER, RTC, UART, GPIO 等等
寻找 I2C 设备:
from machine import I2C
i2c = I2C(I2C.I2C0, freq=100000, scl=28, sda=29)
devices = i2c.scan()
print(devices)
拍照:
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") # 加载模型
while(True):
img = sensor.snapshot() # 从摄像头采集照片
out = kpu.forward(task, img)[:] # 推理,获得 one-hot 输出
print(max(out)) # 打印最大概率的物体ID
具体的使用方法请阅读教程后尝试
发布版本固件: 固件发布页面
最新提交(开发中)的固件: master 分支的固件
参考 构建文档
旧的构建版本请见 historic 分支 (不再维护,仅仅为了保留提交记录)
到Maixhub.com使用在线编译定制自己需要的功能
到 [Maixhub.com] 获取更多模型和训练自己的模型
查看 LICENSE 文件
本仓库除了作为 MaixPy
工程的源码存在以外, 由于MaixPy
作为一个组件存在, 可以配置为不参与编译, 所以也可以作为 C SDK
来进行开发, 使用方法见 构建文档, 可以从编译下载projects/hello_world
开始
大致上编译下载过程如下:
wget http://dl.cdn.sipeed.com/kendryte-toolchain-ubuntu-amd64-8.2.0-20190409.tar.xz
sudo tar -Jxvf kendryte-toolchain-ubuntu-amd64-8.2.0-20190409.tar.xz -C /opt
cd projects/hello_world
python3 project.py menuconfig
python3 project.py build
python3 project.py flash -B dan -b 1500000 -p /dev/ttyUSB0 -t