目录
一、SD卡在Maix bit中的作用
Maix Bit 是一款基于 K210 芯片的 AIoT 开发板,它具有丰富的外设接口和强大的计算能力。SD卡在 Maix Bit 上的作用主要包括:
1.扩展存储空间:Maix Bit 板载的 Flash 存储有限,SD 卡可以提供额外的存储空间,用于存放大型文件,如模型文件、图像数据等。
2.文件系统:SD 卡可以被格式化为 FAT 文件系统,这样 Maix Bit 就可以直接读取和写入文件,方便数据的交换和存储。
3断电存储:对于需要长期保存的数据,如训练好的模型、配置文件等,可以存储在 SD 卡中,即使断电数据也不会丢失。
4.运行脚本:可以将 Python 脚本或模型文件存储在 SD 卡中,然后在 Maix Bit 上直接运行这些脚本,进行数据处理和机器学习任务。
5.自动运行:可以将开机自启动脚本放置在 SD 卡中,这样每次上电时,Maix Bit 可以自动执行 SD 卡中的脚本,实现自动化操作。
6.数据交换:SD 卡可以方便地从 Maix Bit 转移到其他设备(如电脑),用于数据交换或备份。
7.文件系统挂载:Maix Bit 支持将 SD 卡挂载为文件系统,这样开发者可以使用标准的文件操作 API 来操作 SD 卡中的文件。
8.多媒体资源扩展:对于需要处理音频、视频等多媒体内容的应用,SD 卡可以提供必要的存储空间。
注意:
使用 SD 卡时,需要注意以下几点:
确保 SD 卡已经正确格式化为 FAT 文件系统。
确保 Maix Bit 的 SD 卡槽已经正确插入 SD 卡。
在代码中正确指定 SD 卡的文件路径和操作模式。
避免在 SD 卡读写过程中断电,以免造成数据损坏。
二、怎么向SD卡写入文本或读取文本
读操作
import uos #文件操作需要导入uos这个包
#读操作
with open("/sd/Test.txt", "r") as f:
while(1):
line = f.readline()
if not line:
break
print(line)
写操作
#写操作
with open("/sd/Test.txt", "a") as f:
f.write("I Love China\n")
下面是代码关键字的详细解释: 1.with 关键字:它用于创建一个上下文环境,这可以确保代码块执行完毕后,文件会被正确地关闭,即使在读取文件时发生了异常。 2.open() 函数:这是 Python 的内置函数,用于打开一个文件。 3."/sd/Test.txt":这是文件的路径和名称。在这个例子中,文件位于根目录下的 sd 子目录中。 "r":这是文件打开模式的参数,表示“读取模式”。如果文件不存在,尝试以读取模式打开文件将导致 FileNotFoundError。 4.as f:这表示将打开的文件对象赋值给变量 f。在 with 代码块内部,可以使用变量 f 来访问文件内容。 5.reline:读取单行:每次调用 readline() 时,它只读取文件中的一行 返回值是一个字符串。如果到达文件末尾,没有更多的行可读,它将返回一个空字符串。 readline() 是一种内存效率高的读取方式,因为它一次只读取文件的一行。 用途:非常适合逐行处理文件,例如读取日志文件或文本数据。
关于文件打开关键字的类型
读取文本除了 readline()
之外,还有以下几种常用的方法
read(size)
:
- 读取指定数量的字符。如果未指定
size
,则读取整个文件。 - 返回值是读取的字符串,如果到达文件末尾,则返回空字符串。
with open('example.txt', 'r') as f: content = f.read(10) # 读取前10个字符 print(content)
readlines()
:
- 读取整个文件并返回一个列表,其中每个元素代表文件的一行。
- 通常用于较小的文件,因为它会将整个文件内容加载到内存中。with open('example.txt', 'r') as f: lines = f.readlines() for line in lines: print(line.strip())
with open('example.txt', 'r') as f:
lines = f.readlines()
for line in lines:
print(line.strip())
迭代文件对象:
- 直接迭代文件对象,每次迭代返回文件的一行
with open('example.txt', 'r') as f:
for line in f:
print(line.strip())
三、 详细操作及代码
1.首先通过读卡器在SD卡创建文本文件
2.随便在文本文件写入东西
3.拔出SD卡,插入Maix bit卡槽
4.打开MaixPy IDE
5.写入代码
import uos #文件操作需要导入uos这个包
#读操作
with open("/sd/Test.txt", "r") as f:
while(1):
line = f.readline()
if not line:
break
print(line)
代码功能:
读取SD卡的Test文本文件,f.reline()表示读取文本里面的一行,然后通过print打印在串口终端上面
如果文本没数据,则跳出
/sd表示文件路径,如果继续在sd卡里面建文件,可以写成这样
/sd/xx/Test.txt
xx表示文件名
然后就点击编译运行代码
下面是运行结果
6.继续加入写入操作的代码
import uos #文件操作需要导入uos这个包
#读操作
with open("/sd/Test.txt", "r") as f:
while(1):
line = f.readline()
if not line:
break
print(line)
#写操作
with open("/sd/Test.txt", "a") as f:
f.write("Hello World!\n")
编译运行
然后可以拔出你的sd卡查看一下Test文本文件
说明写入成功
以上就是我刚入手K210 学习的SD卡的学习笔记
后续还会更新怎么保存图片数据到SD卡,断电存储,人脸识别,模型训练等