AI硬件2——SIPEED MaixCube(Kendryte K210)基础使用

系列文章目录

官方网站
开发文档


文章目录

  • 系列文章目录
  • 前言
  • 一、特点介绍
    • 1、MaixPy
    • 2、KPU
    • 3、MaixPy IDE
    • 4、kmodel
  • 二、环境准备
    • 1、USB 驱动安装
      • 1)Linux
      • 2)Windows
    • 2、更新固件
    • 3、串口工具
      • 1)连接硬件
      • 2)Windows串口工具
      • 3)MaixPy IDE串口工具
      • 4)Linux串口工具
    • 4、简单测试
      • 1)实时屏幕连接摄像头进行拍摄


前言

SIPEED MaixCube(Kendryte K210)官方网站和开发文档

MaixCube嵌入式集成了摄像头、TF卡槽、用户按键、TFT显示屏、锂电池、扬声器麦克、扩展接口等, 用户可使用 Maix Cube 部署一些轻轻轻轻轻量级AI项目, 同时还预留开发调试接口, 也能将其作为一款功能强大的 AI 学习开发板。

在这里插入图片描述

在这里插入图片描述

一、特点介绍

1、MaixPy

MaixPy 是将 Micropython 移植到 K210(一款 64 位双核带硬件 FPU、卷积加速器、FFT、Sha256 的 RISC-V CPU ) 的一个项目; MaixPy 不但支持 MCU 常规操作, 还集成了硬件加速的 AI 机器视觉和麦克风阵列相关的算法。相应的高达 1TOPS 算力核心模块却不到¥50, 凭借着快速开发和较低成本与其较小的体积很适合 AIOT 领域智能应用。

2、KPU

在电脑上使用AI模型,通常是使用专用的图像加速卡即 GPU 来加速图形计算。

在一些嵌入式上则使用类似的AI硬件XPU,例如GPU, TPU, DPU, NPU, BPU等。

在 K210 上也有专门的硬件叫做 KPU 。

下面就来科普一下这些所谓的“XPU”CPU全称:Central Processing Unit, 中央处理器;GPU全称:Graphics Processing Unit, 图像处理器;TPU全称:Tensor Processing Unit, 张量处理器;DPU全称:Deep learning Processing Unit, 深度学习处理器;NPU全称:Neural network Processing Unit, 神经网络处理器;BPU全称:Brain Processing Unit, 大脑处理器。

回归正题:

KPU 实现了 卷积、批归一化、激活、池化 这 4 种基础操作的硬件加速, 但是它们不能分开单独使用,是一体的加速模块。

3、MaixPy IDE

一个类似openmv IDE的IDE,在MaixPy 中是使用 Micropython 脚本语法,所以不像 C 语言 一样需要编译,其实不用 IDE 直接使用串口终端工具编写也行,不过就没有很方便。

使用 IDE 则会方便在电脑上实时编辑脚本并上传到开发板以及直接在开发板上执行脚本,以及在电脑上实时查看摄像头图像、保存文件到开发板等。

在 MaixPy 里面,已经集成了推导模型的代码,同时使用了 KPU 进行计算加速,使用时无需编写很多代码,只需要调用几个函数即可快速运行模型。

4、kmodel

模型其实就是一组数据结构和参数数据,不同的XPU只能识别特定格式的模型, KPU 只认.kmodel格式的模型, 一般用电脑训练的模型则不是, 比如 tensorflow 是 .h5 格式或者 .tflite 格式, 要给 KPU 使用, 必须经过变成 kmodel 格式, 可以使用 nncase 这个工具来达到模型转换的目的。

在这里插入图片描述

二、环境准备

1、USB 驱动安装

正式使用 MaixPy 之前,我们需要先安装好串口驱动,才可进行下一步的开发与使用;因为板子是通过 USB 转串口设备与电脑连接(K210 没有 USB 硬件支持功能)。

根据板子的 USB 转串口芯片型号装驱动。

1)Linux

Linux 不需要装驱动,系统自带了,使用 ls /dev/ttyUSB* 即可看到设备号

2)Windows

Windows 用户需要安装 特定的驱动。

官方安装教程

2、更新固件

如果没有固件或者固件版本过于落后,需要自己烧写更新固件。

我手头的开发板已经有固件了,如果没有可以参考官方教程

打开 kflash_gui 应用

然后选择固件、设置选项, 点击下载即可, 更多特性介绍、使用说明见 kflash_gui 项目主页

使用时注意串口不能被其它软件占用,选择正确的开发板和串口号,可以适当降低波特率和使用低速模式来提高下载成功率

在这里插入图片描述

3、串口工具

1)连接硬件

连接 Type C 线, 一端电脑一端开发板

查看设备是否已经正确识别:

在 Linux 下可以通过 ls /dev/ttyUSB* 或者 ls /dev/ttyACM* 来查看, 如果没有可以 ls /dev 来找找,具体的设备名跟串口芯片和驱动有关. 也可以用sudo dmesg来看是否有设备挂载记录

在 Windows 下可以打开设备管理器来查看

在这里插入图片描述

如果没有发现设备, 需要确认有没有装驱动以及接触是否良好。

上电后出现白屏、黄屏、绿屏、蓝屏、闪屏为错误现象。

2)Windows串口工具

Windows 常用的串口终端软件有 mobaxterm,xshell,mpfshell-lite 等工具

在这里插入图片描述

3)MaixPy IDE串口工具

打开 MaixPy IDE,在 IDE 没有连接板子的时候选择通过串口终端进入开发板,cube 开发板请打开工具->选择开发板,选择 Maixduino 进行连接。

提示Permission 错误,可能是串口被占用,将使用过的串口程序关闭掉,或者重启电脑刷新串口。

点击左上角的工具栏->打开终端->新终端,可以连接串口终端。
在这里插入图片描述

点击左下角的connect图标,可以连接 MaixPy IDE,连接成功后图标变红。
在这里插入图片描述

4)Linux串口工具

Linux 常用的串口终端软件有pyserial、putty等工具

在这里插入图片描述

在这里插入图片描述

4、简单测试

1)实时屏幕连接摄像头进行拍摄

开发板有配套的摄像头和屏幕,请在上电前检查硬件连接是否正确

控制命令:Ctrl-A        --在空白行上,输入原始REPL模式Ctrl-B        --在空白行上,进入正常REPL模式Ctrl-C        --中断正在运行的程序Ctrl-D        --在空白行上,对电路板进行软复位Ctrl-E        --在空白行上,进入粘贴模式
有关特定对象的进一步帮助,请键入help(obj)
要获得可用模块的列表,请键入help('modules'

然后上电,打开串口终端, 按键盘Ctrl+E,然后粘贴以下代码:

import sensor, lcdsensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
sensor.skip_frames()lcd.init(freq=15000000)while(True):lcd.display(sensor.snapshot())

在这里插入图片描述

在使用过程中可能遇到加载模型提示错误,

可能存在的问题原因: sd 不兼容,挂载不成功

验证 sd 卡是否挂载方法:

import os
print(os.listdir("/"))
>>['flash'] # 没有挂载 SD 卡>>['flash', 'sd'] # 挂载 SD 卡成功

验证模型是否读取成功:

import KPU as kpu
task_fd = kpu.load("/sd/xxx.kmodel")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/325611.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP进阶-实现网站的QQ授权登录

授权登录是站点开发常见的应用场景,通过社交媒体一键授权可以跳过注册站点账户的繁琐操作。本文将讲解如何用PHP实现QQ授权登录。首先,我们需要申请QQ互联开发者账号获得APPID和密钥;接着,我们下载QQ官方SDK:PHP SDK v…

电商API-获取拼多多商品详情数据精准价格API测试示例

pinduoduo.item_get_app_pro获取拼多多商品详情数据 如何获取apikey? 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中&#xff…

20 太空漫游

效果演示 实现了一个太空漫游的动画效果,其中包括火箭、星星和月亮。当鼠标悬停在卡片上时,太阳和星星会变成黄色,火箭会变成飞机,月亮会变成小型的月亮。整个效果非常炫酷,可以让人想起科幻电影中的太空漫游。 Code &…

淘宝商品详情API接口(item_get-获得淘宝商品详情)主图,属性,sku,价格,搜索商品列表

淘宝开放平台提供了API接口,允许开发者获取淘宝商品的相关信息。为了获取商品详情,您可以使用 item_get API接口。以下是如何使用此API接口来获取商品的主图、属性、SKU、价格以及搜索商品列表的简要说明: 公共参数 名称类型必须描述keyStr…

面试之线程状态

1.线程有哪些状态 1.1Java线程的六种状态 Java 线程六种状态 新建 当一个线程对象被创建,但还未调用 start 方法时处于新建状态 此时未与操作系统底层线程关联 可运行 调用了 start 方法,就会由新建进入可运行 此时与底层线程关联,由操作…

【Turtle库】圣诞树

在寒冷的冬季,没有什么比一棵亮丽的圣诞树更能带给我们温暖和快乐。而现在,我们将使用Python编程语言来绘制这样一棵美丽的圣诞树。 首先,我们需要导入Python的turtle模块,它可以帮助我们绘制图形。然后,我们可以定义一…

深入Pandas(二):高级数据处理技巧

文章目录 系列文章目录引言时间序列分析可视化示例 高级数据分析技术分组与聚合操作时间序列分析 高级数据操作数据合并与重塑示例:数据合并merge示例:数据合并concat示例:数据重塑 - 透视表 高级索引技巧 结论 系列文章目录 Python数据分析…

Springcloud 微服务实战笔记 Eureka

服务治理 服务注册 在服务治理框架中,通常都会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机与端口号、版本号、通信协议等一些附加信息告知注册中心,注册中心按服务名分类组织服务清单。当服务启动后&…

docker kingbase

docker kingbase run 命令 docker run -tid \ -e ENABLE_CIyes \ -e NEED_STARTyes \ -e DB_MODEoracle \ -e DB_USERkingbase \ -e DB_PASSWORD123456 \ --privileged \ -p 4321:54321 \ -v /home/admin/SoftWare/volume/kingbase/userdata/data:/home/kingbase/userdata/da…

Unity组件开发--传送点

本组件仅实现A传送点到B传送的功能,是可以双向传送的,如果只要单向传送,可以另外改脚本实现; 先看效果: unity组件传送点演示 1.传送组件shader是怎么写的:这种效果的实现方案 shader编辑器是这样的&#…

HTML 使用 ruby 给汉字加拼音

使用 ruby 给汉字加拼音 兼容性 使用 ruby 给汉字加拼音 大家有没有遇到过要给汉字头顶上加拼音的需求? 如果有的话, 你是怎么解决的呢? 如果费尽心思, 那么你可能走了很多弯路, 因为 HTML 原生就有这样的标签来帮我们实现类似的需求. <ruby> ruby 本身是「红宝石」…

test mutation-01-变异测试 PITest PIT 是一种先进的变异测试系统,为 Java 和 JVM 提供黄金标准的测试覆盖率。

拓展阅读 test 系统学习-04-test converate 测试覆盖率 jacoco 原理介绍 test 系统学习-05-test jacoco 测试覆盖率与 idea 插件 test 系统学习-06-test jacoco SonarQube Docker learn-29-docker 安装 sonarQube with mysql Ubuntu Sonar PITest 实际应用的变异测试 …