AI嵌入式K210项目(19)-安装CanMV IDE开发软件

文章目录

  • 前言
  • 一、软件下载安装
  • 二、软件简介
  • 三、设备连接
  • 四、在线模拟
  • 五、开机运行程序
  • 附录:MicroPython固件烧录
  • 总结


前言

前几章我们介绍K210使用C语言裸机开发方法,大家对K210内部的硬件和各种加速器有了初步的了解,但是开发人工智能相关程序,使用C语言的话复杂度比较高,因此接下来我们逐步学习基于K210芯片使用python开发人工智能相关程序,包含颜色识别,人脸识别,口罩识别等,也包括一些分类应用;

一、软件下载安装

CanMV IDE的GitHub地址,根据自己的系统下载对应的软件安装包:https://github.com/kendryte/canmv_ide/releases
在这里插入图片描述
如果被墙了,也可以到嘉楠官网下载:https://developer.canaan-creative.com/resource
在这里插入图片描述
下载后得到canmv-ide-windows-vx.x.x-gxxxxxx.exe文件,双击打开安装包
在这里插入图片描述
按照个人情况修改安装路径
在这里插入图片描述
在这里插入图片描述
安装完成
在这里插入图片描述

二、软件简介

在这里插入图片描述

区域①菜单栏:操作文件,使用工具等。

区域②快捷按钮:区域①中的文件和编辑中部分功能的快捷方式。

区域③连接设备:连接设备和程序控制按钮。

区域④代码编辑区:编辑要运行的代码。

区域⑤串行终端:显示串口打印的调试信息。

区域⑥图像预览:显示摄像头的图像预览。

区域⑦固件信息:显示连接的串口号以及固件的相关信息。

三、设备连接

将K210开发板通过TYPE-C数据线连接到电脑USB口。

然后点击CanMV IDE左下角连接按钮。

注意,如果你是刚做完裸机开发的开发板,需要先烧录MicroPython镜像后再使用canMV,烧录方法见下一小节。
在这里插入图片描述
弹出选择串口,选择K210开发板对应的串口号。如果有多个串口请先确定对应的串口号再点击OK打开。
在这里插入图片描述

如果连接不上,可以点击高级设置,选择Mode-3(这里可能开发板有差异,如果依旧不行,可以更换其他模式试一下)

连接成功会将图标变为已连接状态,同时灰色播放键变为绿色。
在这里插入图片描述

四、在线模拟

如果对程序进行真机在线调试,可以直接单次运行即可

提示:此步骤运行的程序,断开连接、按复位键或者关机后,程序丢失不保存

连接完成后,可以看到左下角的连接图标变成已连接符号。

如果没有打开例程,可打开文件->示例->Basics->helloworld.py
在这里插入图片描述
点击绿色按钮直接运行即可
在这里插入图片描述
此时可以看到LCD显示摄像头画面,同时IDE右上角也有显示摄像头画面。

绿色播放键图标变成红色停止键,点击一下可以停止运行的程序。
在这里插入图片描述

五、开机运行程序

如果调试后的程序符合预期,可以让其在开发板上保留,待下次开机后自动运行

提示:此步骤的程序重新上电后会自动运行

在保持连接的情况,点击工具->保存当前打开的脚本为(main.py)到CanMV Cam
在这里插入图片描述
点击Yes保存程序,完成后,断开连接或者按一下复位按键,程序会自动运行。

如果有插入TF卡,程序优先保存到TF卡,并且优先运行TF卡里的main.py文件。
在这里插入图片描述

附录:MicroPython固件烧录

K210官方裸机版本SDK并不支持MicroPython,需要下载CanMV支持的固件才可以使用MicroPython来使用。

K210开发板出厂不烧录microPython版本的出厂固件,如果要使用microPython版本的要自己下载烧录最新的固件才可以用。

出厂固件只提供bin烧录文件,不提供源码。如果需要学习K210的MicroPython底层固件源码,可以打开以下网址学习官方CanMV项目:

https://github.com/kendryte/canmv

为了恢复出厂固件设置,在烧录出厂固件前,请先执行一次全片擦除操作。

注意:此步骤会清空K210开发板的Flash程序空间,清空后程序空间后,请重新烧录固件才能连接CanMV IDE。

CanMV IDE点击工具->K210烧录工具->切换到擦除。
在这里插入图片描述
在这里插入图片描述
在擦除设置中选择模式为全片擦除,选择K210开发板的串口号,点击擦除开始清空程序空间
在这里插入图片描述

等待擦除完成后,切换到烧录界面重新烧录固件。
在这里插入图片描述
切换到烧录后,点击下载。
在这里插入图片描述
完成写入即可
在这里插入图片描述
写入后,将K210开发板连接串口助手,用串口助手查看打印的信息,重启开发板得到如下信息,标识固件已经正确烧录,这样再和CanMV连接通讯就可以了
在这里插入图片描述

总结

本章介绍了CanMV IDE的安装,Python固件的烧录方法,Python代码的烧录方法,为我们后面学习做个铺垫。好了下面一起开始MicroPython开发人工智能应用的学习吧!

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

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

相关文章

24.1.24 DAY1 C++

思维导图&#xff1a; 1. 提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数&#xff0c;要求使用C风格字符串完成 代码&#xff1a; #include <iostream> #include <array> using namespace std;int main(…

c++day1作业

思维导图 提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数 要求使用C风格字符串完成 #include <iostream> #include <iomanip> using namespace std; int main() {string a;cout<<"输入一个字符…

CFD-POST如何使用Expression计算某一点处的物理量

简介 CFD-POST是ANSYS Workbench通用的计算流体力学后处理软件&#xff0c;有时我们需要编写表达式Expression计算阻力系数或升力系数&#xff0c;这时就需要获取出口附近某一点处的气体密度&#xff08;或其他任何物理量&#xff09;。接下来将介绍如何操作 操作方法 Step1…

使用axios库创建实例的示例,(创建实例时,传入了一个配置对象)同时还包含了请求拦截器和响应拦截器

第一步&#xff1a; 在vue项目中src目录下创建utils>request.js 第二步&#xff1a; 在 request.js中&#xff0c;使用axios.create方法创建了一个名为request的axios实例&#xff08;设置基本配置信息&#xff09;通过request.interceptors.request.use方法添加了请求拦…

数据结构<1>——树状数组

树状数组&#xff0c;也叫Fenwick Tree和BIT(Binary Indexed Tree)&#xff0c;是一种支持单点修改和区间查询的&#xff0c;代码量小的数据结构。 那神马是单点修改和区间查询&#xff1f;我们来看一道题。 洛谷P3374(模板): 在本题中&#xff0c;单点修改就是将某一个数加上…

【MySQL故障】主从延迟越来越大

问题背景 研发执行了一个批量更新数据的操作&#xff0c;操作的表是个宽表&#xff0c;大概有90多个字段&#xff0c;数据量有800多w&#xff0c;但是研发是根据ID按行更新。更新开始后&#xff0c;该集群的主从延迟越来越大。 问题现象 1 从库应用binlog基本无落后&#xf…

Hbas简介:数据模型和概念、物理视图

文章目录 说明零 BigTable一 Hbase简介二 HBase 访问接口简介三 行式&列式存储四 HBase 数据模型4.1 HBase 列族数据模型4.2 数据模型的相关概念4.3 数据坐标 五 概念&物理视图 说明 本文参考自林子雨老师的大数据技术原理与应用(第三版)教材内容&#xff0c;仅供学习…

SQL 系列教程(二)

目录 SQL DELETE 语句 DELETE 语句 演示数据库 DELETE 实例 删除所有行 SQL TOP, LIMIT, ROWNUM 子句 TOP 子句 演示数据库 SQL TOP、LIMIT 和 ROWNUM 示例 SQL TOP PERCENT 实例 添加WHERE子句 SQL MIN() 和 MAX() 函数 MIN() 和 MAX() 函数 演示数据库 MIN() …

热压机PLC数据采集远程监控物联网解决方案

热压机PLC数据采集远程监控物联网解决方案 热压机是制造行业中重要的设备之一&#xff0c;广泛应用于木材加工、纸制品生产、塑料加工等领域。随着工业自动化技术的发展&#xff0c;热压机的自动化程度也越来越高。然而&#xff0c;热压机的远程监控仍然是制造企业普遍面临的问…

OpenGL ES 实现图像腐蚀、膨胀、边缘检测

前文我们详细讲了图像锐化的基本原理,本文再介绍一下图像基本处理之腐蚀、膨胀和边缘检测,它们在图像处理和计算机视觉领域有着广泛的应用。 图像腐蚀(Image Erosion):用于缩小或消除图像中物体的边界。主要用于去除图像中的小细节、噪声或不规则物体。 实现图像腐蚀的片…

代码随想录刷题

数组篇 704. 二分查找 class Solution:def search(self, nums: List[int], target: int) -> int:left 0right len(nums) - 1while(left < right):mid (left right) // 2if nums[mid] target:return midelif nums[mid] > target:right mid - 1elif nums[mid] &l…

力扣日记1.21-【回溯算法篇】77. 组合

力扣日记&#xff1a;【回溯算法篇】77. 组合 日期&#xff1a;2023.1.21 参考&#xff1a;代码随想录、力扣 终于结束二叉树了&#xff01;听说回溯篇也是个大头&#xff0c;不知道这一篇得持续多久了…… 77. 组合 题目描述 难度&#xff1a;中等 给定两个整数 n 和 k&#…