31608| 14
|
[项目分享] 带你入坑 Maix Dock |
本帖最后由 安卓机器人 于 2020-10-8 19:24 编辑 带你入坑 Maix Dock -----K210 RISC-V AI+IoT K210是什么? K210是一款 64 位双核带硬件 FPU、卷积加速器、FFT、Sha256 的 RISC-V CPU 。 因此,它在硬件上集成了机器视觉和机器听觉能力, 是一款定位 AI 和 AIOT 市场的 SoC,同时也是一颗性能强劲的同时却有着极低的价格的 MCU 。 基于 K210 的系列MAIX板子到底能做什么? 支持 MCU 常规操作, 集成了机器视觉和麦克风阵列, 通过Micropython 编程以快速开发具有极低成本和体积实用的 AIOT 领域智能应用。 看看www.sipeed.com上实例有很多: 人脸检测、物体识别、tiny yolov2 20分类 识别颜色值、找形状、找直线、面部识别等 MNIST 手写数字识别、视频播放和录制、NES 游戏模拟器 (FC 红白机) MMD 3D 实时渲染、GUI 界面 littlevGL、麦克风阵列、FFT 频谱图 ...... 去年在 DF 商城看到了,现在才有时间仔细瞅瞅: 入手后注意 摄像头、SD(TF) 卡、LCD 的安装方向如下: 左边上下两个白色按钮(RST、BOOT) 依据官方文档的新手必看指南之开发环境准备: (本文只针对M1W Dock AI Development kit) (一)安装驱动 正式使用 Dock板之前,我们需要先安装好串口驱动,才可进行下一步的开发与使用; 因为板子是通过 USB 转串口设备与电脑连接(K210 没有 USB 硬件支持功能)。 根据板子的 USB 转串口芯片型号装驱动。 Maix Dock板需要装 CH340(WIN10可能自动安装),如果没有就在网上搜索 CH340 驱动 下载安装即可, 然后可以在 设备管理器 中看到串口设备(COMXX)。 (二)安装、使用串口工具 连接 Type C 线, 一端电脑一端开发板(如上图) Windows 常用的串口终端软件有很多,这里选 mobaxterm 下载、安装后启动,按下列顺序进行,连接DOCK板。 在DOCK板上按一下 RST,立即出现K210基本信息。 如:固件版本等。 这个黑乎乎窗口支持交互方式称为 REPL(Read Eval Print Loop:交互式解释器) 如:键入help(),将显示ctrl-C(中断正在运行的程序)、ctrl-E(粘贴模式)。 输入MicroPython 语句,回车执行。 (三)升级 DOCK 板固件 1、找到固件文件下载到PC电脑 2、下载升级工具 kflash_gui 在解压文件夹中双击运行(右键发送到桌面更方便) 3、启动升级工具 kflash_gui把PC电脑上的固件文件再下载到DOCK 板 稍等~成功! (四)安装 MaixPy IDE、运行例程 在前面已经安装了串口终端工具(黑乎乎窗口),基本上可以玩了。 为什么要这个 IDE 呢?官方文档这样说: 使用 IDE 则会方便在电脑上实时编辑脚本并上传到开发板以及直接在开发板上执行脚本, 以及在电脑上实时查看摄像头图像、保存文件到开发板等。 当然, 使用 IDE 因为压缩、传输需要耗费一部分资源, 所以性能会有所降低,而且如果MaixPy宕机也没有串口终端好发现问题。 要使用 MaixPy IDE , 板子固件必须是 v0.3.1 版本以上, 否则MaixPyIDE 上会连接不上, 使用前尽量检查固件版本和 IDE 版本,都更新到最新版以保障能正常使用。 IDE下载、安装后启动,再如下连接DOCK板: 打开一个例程(程序功能:寻找绿色对象目标,框起来) ctrl-r 或点击绿色运行按钮以执行程序: 摄像头对着字典,执行结果: 字典下面绿色部分被发现并框了起来。 【识别绿色物体视频】 【识别绿色物体代码】 [mw_shl_code=python,false]import sensor import image import lcd import time lcd.init() lcd.mirror(True)# 设置 LCD 是否镜面显示 OK sensor.reset() # sensor.set_hmirror(True) # 设置水平镜像 # sensor.set_vflip(True) # 设置垂直翻转 sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.run(1) green_threshold = (0, 80, -70, -10, -0, 30) while True: img=sensor.snapshot() blobs = img.find_blobs([green_threshold]) if blobs: for b in blobs: tmp=img.draw_rectangle(b[0:4]) tmp=img.draw_cross(b[5], b[6]) c=img.get_pixel(b[5], b[6]) lcd.display(img) [/mw_shl_code] 【识别人脸视频】 【识别人脸代码】 [mw_shl_code=python,false]import sensor import image import lcd import KPU as kpu lcd.init() lcd.mirror(True) sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.run(1) task = kpu.load(0x300000) # you need put model(face.kfpkg) in flash at address 0x300000 # task = kpu.load("/sd/face.kmodel") anchor = (1.889, 2.5245, 2.9465, 3.94056, 3.99987, 5.3658, 5.155437, 6.92275, 6.718375, 9.01025) a = kpu.init_yolo2(task, 0.5, 0.3, 5, anchor) while(True): img = sensor.snapshot() code = kpu.run_yolo2(task, img) if code: for i in code: print(i) a = img.draw_rectangle(i.rect()) a = lcd.display(img) a = kpu.deinit(task) [/mw_shl_code] (五)安装 uPyLoader 目的:为了更方便查看处理DOCK板里的文件等 运行并连接DOCK如下: 左窗口是PC文件,右窗口是DOCK板文件。 左右文件可以互传或删除。 如:选中DOCK板文件“breathLED”,点击Execute立即执行,Dock板LED-G呼吸灯亮起来! 想入深坑请钻研官方文档:https://cn.maixpy.sipeed.com/zh/ |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed