MaixPy文档简介

一、关于 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 点我跳转 上

二、简洁的代码实例

比如我们需要扫描 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 与板卡相关,不同板卡配置不同,使用前需要手动配置

点击下载配置文件:config_maix_bit.py

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 源码

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

TAG: 树莓派10.1寸DSI显示屏LCD 800x1280支持RK3576/RK3506/ESP32-P4 莓派5 CSI摄像头 X1004 套件树莓派CM4S08032带POE IO底板扩展板 ESP32-S3开发板 2.8寸圆形LCD显示屏480x480 触摸屏 板载加速度与陀螺仪QMI8658传感器/SD卡槽/电池接口/麦克风/RTC/MP3喇叭音频 适用于Arduino RV1106 树莓派5 工业级5G路由器 Milk-V Duo camera JETSON-NANO-MINI 激光测距激光雷达 使用手册 ESP32-S3N8R8 7寸电容触摸屏开发板800&amp;amp;amp;amp;amp;amp;amp;times;480WiFi蓝牙CAN传感器RS485 RS422转CAN 工业级USB转TTL串口UART线原装FT232RNL多种保护适用于树莓派5调试 树莓派2.8寸DPI电容触摸显示屏 LCD模块 480×640像素 ESP32 ST778 使用手册 树莓派CM5计算模块PoE底板Compute module 5 PoE扩展板 树莓派Pico