尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

【CanMV K210】编程基础 文件系统与资源管理

【CanMV K210】编程基础 文件系统与资源管理 CanMV K210 不只是运行一段临时代码开发板内部还有自己的文件系统。脚本、配置文件、图片资源和 kmodel 模型文件都需要按照路径规则保存和读取。很多 K210 实验失败并不是代码逻辑错误而是文件路径写错、模型文件缺失、main.py自动运行旧程序或者资源没有放到正确位置。本篇重点解决资源管理问题。文章目录理论基础硬件设施软件代码扩展应用总结理论基础实验原理CanMV K210 运行程序时代码文件和资源文件需要存放在开发板能够访问的位置。常见存储位置包括开发板内部 Flash 和外部 Micro SD 卡。Flash 更适合保存基础脚本和配置文件Micro SD 卡更适合保存较大的图片、模型和实验资源。在 CanMV 中文件系统的作用类似电脑中的项目目录。代码运行时如果需要加载模型、读取图片、保存日志或检查配置都需要通过文件路径找到对应资源。路径写错、文件名不一致、文件没有上传成功都会导致程序运行异常。CanMV 文件系统中经常会看到main.py、config.json和freq.conf这类文件。main.py通常用于上电自动运行开发板启动后会优先执行其中的代码。config.json多用于保存基础配置freq.conf与运行频率或系统参数有关。后续 AI 视觉实验还会接触.kmodel模型文件。例如人脸检测、YOLO 目标检测、MNIST 手写数字识别、口罩识别等项目都需要先把模型文件放到开发板可以访问的位置再通过代码加载模型。如果路径不正确模型就无法正常运行。硬件设施实验所需硬件本篇主要围绕文件系统和资源管理展开不需要外接复杂传感器。只需要 CanMV K210 开发板、Type-C 数据线和电脑即可完成基础实验。如果需要验证 SD 卡资源管理可以额外准备 Micro SD 卡。文件管理实验看起来不像 LED、蜂鸣器那样有明显硬件动作但它是 AI 视觉课程的基础。后续加载.kmodel、读取测试图片、保存识别结果都依赖文件系统。尤其是模型文件较大时使用 SD 卡会比全部放入 Flash 更方便。Type-C 数据线需要支持数据传输不能只支持充电。如果 CanMV IDE 无法连接开发板文件系统代码也无法执行。SD 卡插入后如果代码无法读取需要检查卡槽方向、SD 卡格式和文件路径。程序运行后CanMV IDE 串口终端会打印开发板文件列表。如果文件系统正常可以看到当前目录下的文件名称。若存在main.py、config.json或模型文件也会在输出结果中显示。软件代码实验所需软件环境本篇需要使用 CanMV IDE 运行 MicroPython 文件系统代码。开发板需要已经烧录 CanMV 固件并且电脑能够正常识别串口。若需要管理 SD 卡资源还需要提前准备好 SD 卡中的文件。文件系统实验中不建议直接删除默认文件。尤其是main.py、config.json、freq.conf这类文件应先查看、备份再决定是否修改。对于临时测试可以新建一个测试文件再对测试文件进行读取和删除。下面程序用于查看 CanMV K210 文件系统创建测试文件读取文件内容再删除测试文件。它不会删除默认系统文件适合作为文件系统管理的入门实验。# CanMV K210 文件系统 main.py config.json 与资源文件管理实验# 功能查看文件列表创建测试文件读取文件内容删除测试文件importosimporttimeprint(CanMV K210 file system test start)# 查看当前目录文件print(\n[1] 当前文件列表)try:filesos.listdir()print(files)exceptExceptionase:print(读取文件列表失败,e)# 创建一个测试文件test_filek210_test.txtprint(\n[2] 创建测试文件,test_file)try:withopen(test_file,w)asf:f.write(CanMV K210 file system test\n)f.write(This file is created by MicroPython.\n)print(测试文件创建成功)exceptExceptionase:print(测试文件创建失败,e)# 再次查看文件列表print(\n[3] 创建后的文件列表)try:print(os.listdir())exceptExceptionase:print(读取文件列表失败,e)# 读取测试文件内容print(\n[4] 读取测试文件内容)try:withopen(test_file,r)asf:contentf.read()print(content)exceptExceptionase:print(读取测试文件失败,e)# 检查常见默认文件print(\n[5] 检查常见文件)common_files[main.py,config.json,freq.conf]try:filesos.listdir()fornameincommon_files:ifnameinfiles:print(name,存在)else:print(name,未发现)exceptExceptionase:print(检查默认文件失败,e)# 删除测试文件print(\n[6] 删除测试文件,test_file)try:os.remove(test_file)print(测试文件删除成功)exceptExceptionase:print(测试文件删除失败,e)# 最后查看文件列表print(\n[7] 删除后的文件列表)try:print(os.listdir())exceptExceptionase:print(读取文件列表失败,e)print(\nCanMV K210 file system test finish)这段代码围绕os模块和文件读写操作展开。os.listdir()用于查看当前目录文件open()用于创建、写入和读取文件os.remove()用于删除指定文件。实验只操作k210_test.txt不会影响默认配置文件。扩展应用常见问题文件系统相关问题在 AI 视觉实验中非常常见。模型文件路径写错、文件名大小写不一致、SD 卡没有识别、main.py自动运行旧代码都会让程序表现为“代码没错但就是运行不了”。这类问题需要先看文件列表再看路径再看资源是否存在。扩展实验掌握文件系统管理后可以继续扩展到资源检测和项目启动管理。比如 AI 模型运行前先检查.kmodel是否存在LCD 显示项目前先检查字体文件是否存在项目部署前先确认main.py中保存的是最新稳定版本。对于课程项目来说文件系统管理不只是辅助内容而是后续 AI 视觉实验的基础能力。只要涉及模型文件、图片资源、字体文件、配置参数和自动运行程序都需要先把文件路径和资源位置处理清楚。总结本篇围绕 CanMV K210 文件系统、main.py、config.json和资源文件管理进行了梳理。掌握文件列表查看、文件读写、测试文件删除和默认文件识别后后续实验会更稳定。K210 的很多运行异常都与文件路径和资源缺失有关。完成本篇后后续加载 kmodel 模型、保存项目脚本、管理 SD 卡资源和部署 main.py 自动运行程序都会更清晰。
返回列表