K210上手和训练数据集加串口输出

这篇具有很好参考价值的文章主要介绍了K210上手和训练数据集加串口输出。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

K210是一款 64 位双核带硬件 FPU、卷积加速器、FFT、Sha256 的 RISC-V CPU 。
因此,它在硬件上集成了机器视觉和机器听觉能力, 是一款定位 AI 和 AIOT 市场的 SoC,同时也是一颗性能强劲的同时却有着极低的价格的 MCU 。
基于 K210 的系列MAIX板子到底能做什么?
支持 MCU 常规操作, 集成了机器视觉和麦克风阵列, 通过Micropython 编程以快速开发具有极低成本和体积实用的 AIOT 领域智能应用。

基本外设

K210上手和训练数据集加串口输出

K210上手和训练数据集加串口输出

 基本端口

K210上手和训练数据集加串口输出
第一列为板载IO口,Maix Bit 引出来了36个引脚,另外的12各引脚分配给了LCD、摄像头。
第三行是缺省功能,为原始固件上电默认功能。在此也可以看出,0-3号引脚上是JTAG;4、5号引脚为默认串口;12-14号是RGB灯;16号引脚是BOOT键,接了10kΩ的上拉电阻;18-20号引脚接的是麦克风;26-28号引脚是用SPI协议实现的的读写TF card功能。
第五行为IO电压,IO引脚都是3.3V,Reset引脚电压为1.8V

上手步骤一

安装驱动ch340:

正式使用 Dock板之前,我们需要先安装好串口驱动,才可进行下一步的开发与使用;
因为板子是通过 USB 转串口设备与电脑连接(K210 没有 USB 硬件支持功能)。
根据板子的 USB 转串口芯片型号装驱动。
Maix Dock板需要装 CH340(WIN10可能自动安装),如果没有就在网上搜索 CH340 驱动 下载安装即可,
然后可以在 设备管理器 中看到串口设备(COMXX)。
下载驱动链接

链接:https://pan.baidu.com/s/1Vql2qkjVgqHJmy-fYh4U9g 
提取码:0lpm 
--来自百度网盘超级会员V3的分享

K210上手和训练数据集加串口输出

上手步骤二

安装刷固件软件

下载链接:https://pan.baidu.com/s/1y79rxnqfDbi5djyvuTCd_A 
提取码:duw4 
--来自百度网盘超级会员V3的分享

K210上手和训练数据集加串口输出

 下载固件

更新固件,相当于给手机装个系统,对于Maix Bit这款产品,当我们用到不同功能的时候,也许就得另装一个固件。可以说是客制版K210,我们在spieed 下载站可以找到所有版本各类固件,

这里我随便选了第一个

K210上手和训练数据集加串口输出

 进入画面

K210上手和训练数据集加串口输出

 安装这个表来下载固件

K210上手和训练数据集加串口输出

 上图框选内容为readme.txt,与上面表格类似,但较之丰富,相当于说明书,解答了上面不同固件之间的区别与各自支持什么功能。当然也提到了如何定制自己的固件等等。
下载好之后,接着打开 kflash_gui 应用,然后选择固件、设置选项, 点击下载即可。
使用时注意串口不能被其它软件占用,选择正确的开发板和串口号,可以适当降低波特率和使用低速模式来提高下载成功率。
K210上手和训练数据集加串口输出

 点击下载,之后就可看到屏幕上面、串口打印显示出对应版本号。

上手步骤三安装编译环境MaixPy IDE

下载链接:https://pan.baidu.com/s/1xfbzMDdpzbY5RhYu_oBx9g 
提取码:gzzz 
--来自百度网盘超级会员V3的分享 

K210上手和训练数据集加串口输出

1.首先需要弄清: MaixPy 使用 Micropython 脚本语法,所以不像 C 语言 一样需要编译,其实不用 IDE 也能愉快使用: 使用串口终端工具,前面已经安装了

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

3.当然, 使用 IDE 因为压缩、传输需要耗费一部分资源,所以性能会有所降低,而且如果MaixPy宕机也没有串口终端好发现问题

4.要使用 MaixPy IDE , 固件必须是 v0.3.1 版本以上, 否则MaixPyIDE 上会连接不上, 使用前尽量检查固件版本和 IDE 版本,都更新到最新版以保障能正常使用
 

Maix Py IDE 使用

K210上手和训练数据集加串口输出

连接成功之后,链接按钮会由绿变红;连接按钮下方是运行按钮,会执行当前编辑区的py文件;再次点击运行按钮(红色), 停止运行当前代码。

 常见问题及解决方法

1.MaixPy IDE 无法成功连接开发板
现象:
​开发板到手之后,一直无法连接 MaixPy IDE,首先检查:
检查固件是否支持 IDE, 早期的固件以及名字带minimum的固件都不支持;
检查串口是否被占用(其它软件也打开了串口);
点击连接后,不用和终端工具同时使用,否则会出现串口占用无法打开;

如果一直无法成功连接成功,再检查:
开发板型号是否选择错误;
观察开发板屏幕是否有变化,如果没有反应可能是串口选择错误;
尝试升级到最新的 master 分支固件, 以及最新的 MaixPy IDE 软件;
MaixPy 版本号低于 0.5.0_v0 不支持连接 MaixPy IDE。

2.Micro SD 卡读取不到

Micro SD 读取不到现象及解决方法:
确认 SD 能否在电脑上正常使用,如果不能即 SD 已损坏,电脑能够正常使用,读取 SD,但 MaixPy 开发板无法使用:
1.SD 卡未格式化为 MBR 分区 FAT32 格式。
2.电脑能够正常使用 SD 卡,也确认 SD 卡的磁盘格式为 FAT32,但 MaixPy 开发板依旧无法使用。
可能存在的原因:部分 SD 出厂时,sd 中没有磁盘分区表,或者磁盘分区表类型不是 MBR
解决的方法:使用第三方磁盘管理软件,将 sd 分区表类型转换为 MBR, 并且将 sd 格式格式化为 FAT32

上手步骤四数据识别串口输出

1.训练数据集

2.分类

3.训练模型传入开发板

4.加入串口通讯

下载标注软件

一、下载与安装Anaconda3

1.下载Anaconda3

Anaconda | The World's Most Popular Data Science Platform

下载好之后点击安装,出现如下界面
(尽管版本不同,但是安装形式仍然符合) 

K210上手和训练数据集加串口输出

如果第一步已有python环境变量,
只需要点第一个勾 Add Anaconda to …path
这一步操作是将anaconda添加路径,就不用自己手动配置。

如果第一步没有python环境变量,两个勾都要点上
因为anaconda本身就有python环境(图中版本3.7,不同版本显示不同的数字),它会把这个python版本加到电脑路径里面,替换掉原来的python版本。

这时候有朋友问了,如果自己本身已有python环境亮两个勾都点上了,会出现什么情况?
当然是以前的python版本被顶替掉了。你之前依赖之前版本的程序有部分可能无法在此版本下运行。

上面两步选根据实际情况选完之后,打开cmd
输入python检测环境变量出现相关版本
再输入 conda

K210上手和训练数据集加串口输出

二、检测python环境变量

搜索框输入anaconda回车输入python

K210上手和训练数据集加串口输出

出现上图所示,python 3.8.5说明电脑python环境已有,且是3.8.5版本。

如果没有,则显示no such file 相关字样

不管有还是没有都无伤大雅,重点是影响安装anaconda后面一步。

三、安装labelimg

1.下载labelImg

链接:https://pan.baidu.com/s/1Xz5jsUZWY2ZQVAvRkevrFg 
提取码:1111 
--来自百度网盘超级会员V3的分享

2.安装

将下载的包解压到一个路径,随便都好。

K210上手和训练数据集加串口输出

 点击上方搜索框输入cmd按下回车,出现以下界面

K210上手和训练数据集加串口输出

这样一下子就进入到了labelImg这个路径,不用cd命令行一步一步实现。
在此基础上输入 conda install pyqt=5
等待1到2s会出现一大堆东西,最后一行为【Y/N】
再输入一个y就好。如果没有出现,最后会自动安装完成。

K210上手和训练数据集加串口输出

 因为我已安装,所有会出现,all requested packages already installed。说明这一步已经安装好了。
安装完成后,再输入:pyrcc5 -o resources.py resources.qrc
这个执行完成是没有任何返回结果的
最后输入:python labelImg.py
K210上手和训练数据集加串口输出

 出现应用

K210上手和训练数据集加串口输出

 之后的打开方式

都需打开这个文件夹按照上面的方式在搜索框输入cmd

后输入python labelImg.py回车

 三、图片处理压缩

链接:https://pan.baidu.com/s/1_IpXMO1CA6ygfh31dml7bg 
提取码:tir0 
--来自百度网盘超级会员V3的分享

K210上手和训练数据集加串口输出

K210上手和训练数据集加串口输出

压缩后将out外的文件夹删除,后再将out的文件夹中的—out删掉

 安装好后用手机拍照一个物体或者多个物体最少40张,为什么要这个软件是因为k210只使用244的照片所以要压缩,或者直接k210使用脚本拍照。之后便是标注数据集

 四、图片标注

打开刚才的标注软件

K210上手和训练数据集加串口输出

K210上手和训练数据集加串口输出

设制调整为自动保存,快捷键w标注,d下一张

K210上手和训练数据集加串口输出

标注的文件夹格式
K210上手和训练数据集加串口输出

 images是图片xml是标注出来的数据集

之后压缩zip格式,一定要把压缩前的路径全删了,不然不成功。

其格式

K210上手和训练数据集加串口输出

 上传数据集进行训练

到这训练   Sipeed MaixHub – sipeed AI 模型平台

  • 选择训练类型

  • 填写邮箱地址, 用于接收结果, 包括成功(模型等文件) 和 失败 (失败原因)结果

  • 如果要求填写机器码(不要求则跳过此步骤):

    • 警告: 由于需要进行模型加密,运行key_gen.bin 将永远关闭 JTAG端口,并写入一次性 AES KEY,请确认对自己开发没有影响再进行烧录。(如果不使用JTAG调试开发或者仅使用MaixPy开发不影响)

  • 训练前要获取板子的机器码

  • Maixhub 模型训练平台使用说明

在官网的教程下进行

之后训练出的模型直接放入sd卡,板子重新擦除固件,烧录刚才我推荐的固件然后插入sd卡就可以进行识别物体

 串口通讯

串口通信方法

头文件

from machine import UART    #导入UART模块
1
设置串口通信引脚(这里我设置10为TX,11为RX)

fm.register(10, fm.fpioa.UART1_TX, force=True) #10为tx接rx
fm.register(11, fm.fpioa.UART1_RX, force=True) #11为rx接tx

设置串口的波特率,数据位,停止位,奇偶校验位

uart_A = UART(UART.UART1, 115200, 8, 1, 0, timeout=1000, read_buf_len=4096)

串口发送数据(这里我发送的识别物体名称)

 uart_A.write(classes[i.classid()]+'\r\n')

将以上代码加入到你的代码里,就可以实现串口通信了
 

代码

import sensor,image,lcd,time  #导入sensor、image、lcd、time模块
import KPU as kpu
from machine import UART
from fpioa_manager import fm

lcd.init(freq=15000000) #初始化LCD

sensor.reset()   #初始化单目摄像头
sensor.set_pixformat(sensor.RGB565) #设置帧格式
sensor.set_framesize(sensor.QVGA)   #设置帧大小
sensor.set_hmirror(0)
sensor.run(1)
task = kpu.load("/sd/yolov2.kmodel")
f=open("anchors.txt","r")
anchor_txt=f.read()
L=[]
for i in anchor_txt.split(","):
    L.append(float(i))
anchor=tuple(L)
f.close()
f=open("classes.txt","r")
lable_txt=f.read()
lable = lable_txt.split(",")
f.close()
fm.register(10, fm.fpioa.UART1_TX, force=True)
fm.register(11, fm.fpioa.UART1_RX, force=True)

uart_A = UART(UART.UART1, 115200, 8, 1, 0, timeout=1000, read_buf_len=4096)

anchor = (0.32,0.68,0.7,0.73,0.75,0.75,0.8,0.96,1.1,1.63)

sensor.set_windowing((224, 224))
#初始化yolo2网络
a = kpu.init_yolo2(task, 0.5, 0.3, 5, anchor)
classes=["apple","banana","oranges" ] #标签名称要和你训练时的标签名称顺序相同

while(True):

     img = sensor.snapshot()    #使用摄像头拍摄一张照片
     #lcd.display(img) #在液晶屏上显示一张 image

     code = kpu.run_yolo2(task, img)  #task为 kpu_load 返回的 kpu_net 对象
                                      #img为从sensor 采集到的图像
                                      #run_yolo2返回的值为kpu_yolo2_find 的列表

     if code:
         for i in code:
             a=img.draw_rectangle(i.rect()) #在图像上绘制一个矩形。此处为作为元组传递回坐标框出矩形
                                            #传回的是检测到的图像的四个坐标
             a = lcd.display(img) #在液晶屏上显示被框框框起来的image

             for i in code:
                 lcd.draw_string(i.x(), i.y(), classes[i.classid()], lcd.RED, lcd.WHITE)

                 lcd.draw_string(i.x(), i.y()+12, '%f'%i.value(), lcd.RED, lcd.WHITE)

                 lcd.draw_string(50, 200,str(b), lcd.RED, lcd.WHITE)

                 lcd.draw_string(110, 200,str(c), lcd.RED, lcd.WHITE)

                 uart_A.write(classes[i.classid()]+'\r\n')

     else:
         a = lcd.display(img) #如果没有识别出物体,则继续呈现图像
uart_A.deinit()
del uart_A
a = kpu.deinit(task) #反初始化。kpu_load 返回 kpu_net 对象

就可以啦!文章来源地址https://www.toymoban.com/news/detail-417318.html

到了这里,关于K210上手和训练数据集加串口输出的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 勘智k210(MaixDock)开发环境搭建(快速上手)

    本文使用的开发板是sipeed的MaixDock 这个是官方文档(其实官方文档写的蛮清楚的!) 官方文档地址 第一步 首先我们先确保有ch340的驱动,随后在官方文档中下载固件,这个固件的网址是github的所有这里贴出百度网盘的链接(1.8.1版本) 百度网盘 提取码:5k39 第二步 下载一下固

    2024年02月13日
    浏览(37)
  • K210(1)解决一些新上手出现的问题

    openmv官方给出了它的包,可以在文档中找到 sipeed官网给出的操作手册 MaixPy 精简版入门教程(AI视觉向) 这个错误出现的原因是没有下载固件到开发板上 打开flash_gui,添加固件,(下载链接)这个固件版本不能太低 烧录地址默认为 0x00000 即可。选择开发板和串口 COM,串口选

    2024年02月10日
    浏览(36)
  • Maix Bit(K210)保姆级入门上手教程---环境搭建

    Maix Bit(K210)保姆级入门上手教程—外设基本使用 Maix Bit(K210)保姆级入门上手教程—自训练模型之云端训练 这是K210快速上手系列文章,主要内容是,设备连接,环境准备,运行第一个程序 阅读文章前提: python基础 ,K210是使用Micropython脚本语法的,因此需要一些python基础,

    2024年01月16日
    浏览(57)
  • k210——maix bit串口通信

    k210 一共有 3个 uart ,每个 uart 可以进行自由的引脚映射。 一、API函数介绍 1.1 register(pin, function, force=True) K210 可以通过映射来改变引脚功能,设置引脚(pin)对应的外设功能(func),默认启用强制绑定参数(force=True) pin: 功能映射引脚 function: 芯片功能 force: 默认为Tru

    2024年02月15日
    浏览(48)
  • STM32与K210串口通信

    目录 1.前言  2.接线部分 3.代码部分 1.k210部分 1.调用自带的库文件 2.将I/O18设置为UART1_TX功能并设置串口 3.数据发送函数 4.主函数 4.程序现象 2.STM32部分 1主函数 2.串口接收程序 3.程序现象  4.完整代码 5.总结         这篇文章是为了填上一篇k210的简单PID巡线埋下的坑,k2

    2024年02月06日
    浏览(50)
  • Maix Bit(K210)保姆级入门上手教程---外设基本使用

    Maix Bit(K210)保姆级入门上手教程—环境搭建 Maix Bit(K210)保姆级入门上手教程—自训练模型之云端训练 这是K210快速上手系列文章,主要内容是,介绍K210的基本外设的使用、通过简单介绍一两个基本的硬件使用来掌握K210的外设开发(K210GPIO使用教程、K210串口使用教程) 阅

    2024年02月03日
    浏览(45)
  • k210单片机的串口交互实验

    先来看看实验的结果吧,k210的9口为RX,10口为TX。接线:                                                         9口接usb转ttl的TX                                                         10口接usb转ttl的RX  下面介绍一下k210需要使用的模块:

    2024年02月13日
    浏览(45)
  • K210和STM32串口通信(亲测有效)

    最近想做一个K210数字识别和寻迹,方便完成2021年电赛F题,完成了数字训练和脱机运行就想赶紧进行一次通信,调了好几天(郁闷+自闭几天),按照官方的历程看,配置的没问题但是会一直出现乱码,得不到自己想要的数据,所以准备发一下这个文章,希望帮助一下道友。 代码

    2024年02月14日
    浏览(42)
  • AI嵌入式K210项目(5)-串口通讯

    串口通讯是平时大家进行调试最常用的方法,嵌入式应用通常要求一个简单的并且占用系统资源少的方法来传输数据。通用异步收发传输器 (UART)即可以满足这些要求,它能够灵活地与外部设备进行全双工数据交换,那么本章我们来了解下,本节课主要学习K210的串口通讯。 串

    2024年01月16日
    浏览(60)
  • K210 UART串口通信介绍与 STM32通信

    目录 K210-UART串口通信相关函数: 使用K210串口的时候需要映射引脚: K210与STM32串口通信  发送单字节: K210端 STM32端 发送数据包 K210端 STM32端  K210的UART模块支持全双工通信,可以同时进行数据的发送和接收。在K210上使用UART串口通信,你可以连接外部设备,如传感器、显示器

    2024年03月23日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包