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.mzph.cn/news/653122.shtml

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

相关文章

TypeScript(四) 运算符

1. 运算符 1.1. 描述 运算符用于执行程序代码运算。 1.2. 运算符主要包括: (1)算术运算符 (2)逻辑运算符 (3)关系运算符 (4)按位运算符 (5)赋值…

内部类 --java学习笔记

内部类 是类中的五大成分之一(成员变量、方法、构造器、内部类、代码块),如果一个类定义在另一个类的内部,那么这个类就是内部类当一个类的内部包含了一个整体的事务,且这个事务没必要单独设计时,就可以把…

(十三)centos7案例实战——用户、用户组及用户权限管理

前言 对于完备的centos系统来说,创建一套规范的账户权限系统是十分必要的。针对不同的用户提供不同的操作权限,避免直接使用root账号,造成系统的误操作,导致一些不必要的损失,将删库跑路扼杀在摇篮中。本节内容会从用…

基于springboot校园台球厅人员与设备管理系统源码和论文

在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括校园台球厅人员与设备管理系统的网络应用,在外国管理系统已经是很普遍的方式,不过国内的管理网站可能还处于起步阶段。校园台球厅人员与设备管理系统具…

Fastbee物联网项目新手快速入门

一,前提条件 后端环境准备如下: 正式环境推荐硬件资源最低要求4c8G,硬盘40G。JDK 1.8.0_2xx (需要小版本号大于200) 。Maven3.6.3。(IDEA启动时使用IDEA默认自带的版本即可)。 启动fastbee之前,请先确定…

课时6:编程语言逻辑

1.2.2 编程语言逻辑 学习目标 这一节,我们从 语言分类、编程逻辑、小结 三个方面来学习。 语言分类 语言分类 低级编程语言:机器:- 二进制的0和1的序列,称为机器指令。- 一般人看不懂汇编:- 用一些助记符号替代机…

LPC804开发(4.ctimer使用)

1.前言 昨天晚上画完板子,还剩点时间就再翻了翻手册,大致清楚了时钟树的运行,顺带搞清楚了定时的使用,那就出一份教程吧。 如果各位在此之前没有接触过LPC单片机,还是建议先把程序直接贴进自己的项目,稍微…

“拔叔”的新片又杀疯了!

近,“拔叔”麦斯米科尔斯的新片登上口碑榜。 该片曾入围去年威尼斯金狮奖,上映后颇受好评,目前豆瓣评分8.2分。 将代表丹麦角逐2024年奥斯卡最佳外语片,目前已入15强。 作为“丹麦最性感的男人”,拔叔的实力不容小觑。…

Logistics 逻辑回归概念

1. sigmoid函数 逻辑回归算法的拟合函数,叫做sigmoid函数: 函数图像如下(百度图片搜到的图): sigmoid函数是一个s形曲线,就像是阶跃函数的温和版,阶跃函数在0和1之间是突然的起跳,…

std::for_each

std::for_each 是 C STL 中的标准函数之一&#xff0c;用于对指定的容器或序列中的元素执行指定的操作。该函数的头文件为 <algorithm>&#xff0c;定义在 namespace std 中&#xff0c;因此需要包含该头文件才能使用该函数。 std::for_each 函数是 C STL 中自 C98 就开…

【JavaSE篇】——类和对象

目录 &#x1f393;类定义和使用 &#x1f393;简单认识类 &#x1f6a9;类的定义格式 ❗注意事项 &#x1f393;类的实例化 &#x1f6a9;什么是实例化 &#x1f6a9;类和对象的说明 &#x1f393;this引用 &#x1f6a9;为什么要有this引用 &#x1f6a9;什么是thi…

【JavaScript 基础入门】02 JavaScrip 详细介绍

JavaScrip 详细介绍 目录 JavaScrip 详细介绍1. JavaScript 是什么2. JavaScript的作用3. HTML/CSS/JS 的关系4. 浏览器执行 JS 简介5. JavaScript 的组成6. JavaScript 的特点 1. JavaScript 是什么 JavaScript&#xff0c;通常缩写为 JS&#xff0c;是一种高级的&#xff0c;…

分布式技术浅见之复制

分布式技术浅见之复制 前言一、何为复制&#xff1f;1.1 主从复制和无主从复制1.2 同步复制与异步复制1.3 来点栗子1.3.1 Redis1.3.2 Mysql1.3.3 Mongo 二、复制是如何实现的&#xff1f;2.1 复制的过程2.2 来点栗子2.2.1 Redis2.2.2 Mysql2.2.3 Mongo 2.2 复制的实现方式2.4 举…

OpenHarmony—不支持解构赋值

规则&#xff1a;arkts-no-destruct-assignment 级别&#xff1a;错误 ArkTS不支持解构赋值。可使用其他替代方法&#xff0c;例如&#xff0c;使用临时变量。 TypeScript let [one, two] [1, 2]; // 此处需要分号 [one, two] [two, one];let head, tail [head, ...tail]…

MySQL十部曲之六:数据操作语句(DML)

文章目录 前言语法约定DELETEINSERTSELECT查询列表SELECT 选项子句FROMWHEREORDER BYGROUP BYHAVINGWINDOWLIMITFOR SELECT ... INTO连接查询CROSS JOIN和INNER JOINON和USINGOUTER JOINNATURE JOIN 子查询标量子查询使用子查询进行比较带有ANY、IN或SOME的子查询带有ALL的子查…

DETR解读,将Transformer带入CV

论文出处 [2005.12872] End-to-End Object Detection with Transformers (arxiv.org) 一个前置知识 匈牙利算法&#xff1a;来源于二部图匹配&#xff0c;计算最小或最大匹配 算法操作&#xff1a;在n*n的矩阵中 减去行列最小值&#xff0c;更新矩阵&#xff08;此时行或者…

搜维尔科技:【简报】元宇宙数字人赛道,优秀作品赏析《大福太郎》

这次采用亮眼的浅粉做为发色&#xff0c;为了贴合她小警察的身分 给了她一顶特制的警帽&#xff0c;上面有大福的荧光蓝叶片作为标 志&#xff0c;而在配件及裙子上也加入了许多科技元素的小巧思。 学校&#xff1a; 朝阳科技大学&#xff08;台湾&#xff09; 选手&#xff…

消息中间件之RocketMQ(二)

RocketMQ支持的消息类型 了解之前&#xff0c;首先要熟悉RocketMQ中的组件架构设计 1.顺序消息 将同一个订单(即具有相同的orderId)的消息按状态先后顺序消费的&#xff0c;所以消息生产者调用send方法发送时需要传入MessageQueueSelector接口的,实现类&#xff0c;将order…

【GitHub项目推荐--开源PDF 工具】【转载】

12 年历史的 PDF 工具开源了 最近在整理 PDF 的时候&#xff0c;有一些需求普通的 PDF 编辑器没办法满足&#xff0c;比如 PDF 批量合并、编辑等。 于是&#xff0c;我就去 GitHub 上看一看有没有现成的轮子&#xff0c;发现了这个 PDF 神器「PDF 补丁丁」&#xff0c;让人惊…

Vue+OpenLayers7入门到实战:快速搭建Vue+OpenLayers7地图脚手架项目。从零开始构建Vue项目并整合OpenLayers7.5.2

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7 前言 本章针对Vue初学者,对Vue不熟悉,甚至还不会Vue的入门学生读者。 本章会详细讲解从NodeJS环境到npm环境的各个步骤,再到使用vue-cli脚手架快速生成项目,以及添加OpenLayers7地图库依赖,编写简单的xyz高德地图显示…