一、關于 MaixPy#
MaixPy 是將 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) # 打印設備
Copy
同樣,我們需要實現一個呼吸燈,只需要如下代碼:
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)
Copy
實時拍照:
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)
Copy
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
Copy
please read doc before run it!
三、這篇文檔的內容#
所有關于 MaixPy 的內容, 包括:
如何選擇并得到一款合適自己的模塊或者開發板
如何開始上手使用
庫和接口(API)文檔查詢
詳細的一步一步手把手教程
來自社區的分享(教程或開源項目)
為了在學習過程中避免遇到難以解決的問題,請務必按照左邊目錄結構從上到下閱讀,特別是寫在前面的章節,不要跳過
審核編輯 黃昊宇
-
RISC-V
+關注
關注
45文章
2300瀏覽量
46272 -
Micropython
+關注
關注
0文章
68瀏覽量
4752
發布評論請先 登錄
相關推薦
評論