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

文章目录


前言

前几章我们介绍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开发人工智能应用的学习吧!

相关推荐
z44247532610 小时前
CSS Grid布局如何实现网格项目的自动增长_设置grid-auto-flow- row
jvm·数据库·python
GeLx10 小时前
从反爬角度:Playwright CDP 模式、Playwright 传统模式与 DrissionPage 的比较
python·程序人生·playwright·drissionpage·pyppeteer·浏览器自动化控制
时序之心10 小时前
ICLR 2026两篇时间序列论文新思路:都用Patch作为建模基础单元
人工智能·iclr·时间序列
天天进步201510 小时前
实时通信的艺术:OpenWork 中 SSE 与事件流驱动的 UI 交互实现
人工智能
AI_paid_community10 小时前
我花了一晚上把 Claude Code 彻底"薅羊毛"了——free-claude-code 项目深度实测
人工智能·claude
猫头虎10 小时前
如何搭建 24 小时 AI 直播平台:魔珐星云数字人打造无人值守 “AI 销冠” 全流程实战教程
人工智能·langchain·开源·prompt·aigc·embedding·agi
m0_7403524210 小时前
如何在 SvelteKit 中为动态加载的图片实现响应式悬停覆盖层
jvm·数据库·python
zandy101110 小时前
HENGSHI SENSE 6.2 架构全景解析:Data Agent、指标引擎与Headless语义层的工程实现
大数据·人工智能·架构
经济元宇宙10 小时前
全场景 AI 智能交互 专业级语音机器人推荐什么?
人工智能·机器人·语音识别
我是发哥哈10 小时前
主流AI框架生产环境性能对比:5大关键维度深度评测
大数据·人工智能·学习·机器学习·ai·chatgpt·ai-native