SD 카드#
소개#
VEX IQ(2세대)의 SD 카드 API를 사용하면 Brain의 SD 카드 슬롯에 삽입된 탈착식 SD 카드에 저장된 파일에 접근할 수 있습니다. 센서 데이터를 저장하거나 사용자 지정 이미지를 불러오는 등, 이러한 API를 통해 파일 작업을 완벽하게 제어할 수 있습니다. 또한 탈착식 SD 카드를 사용하면 Brain과 컴퓨터 간에 데이터를 간편하게 전송할 수 있습니다.
IQ(2세대) 브레인은 32GB 이하의 FAT32 형식으로 포맷된 SD 카드를 필요로 합니다. 32GB보다 큰 SD 카드는 기본적으로 exFAT 형식으로 포맷되어 있어 VEX IQ(2세대) 브레인과 호환되지 않습니다. 사용 전에 SD 카드가 FAT32 형식으로 올바르게 포맷되었는지 확인하십시오.
모든 파일은 접근 가능하려면 SD 카드의 루트 폴더에 있어야 합니다.
이 페이지에서는 예시 Brain 이름으로 brain 사용합니다. 필요에 따라 구성된 이름으로 바꾸십시오.
다음은 모든 방법 목록입니다.
작업 — SD 카드에서 파일 작업을 수행하고 이미지를 표시합니다.
loadfile— SD 카드에서 파일 내용을 사용자가 제공한 메모리 버퍼로 로드합니다.savefile— 사용자가 제공한 버퍼의 데이터를 IQ(2세대) Brain의 SD 카드에 있는 파일로 저장합니다.appendfile— 사용자가 제공한 버퍼의 데이터를 IQ(2세대) Brain의 SD 카드에 있는 기존 파일의 끝에 추가합니다.draw_image_from_file— SD 카드에서 비트맵 이미지를 표시합니다.
Getters — SD 카드 및 파일 정보를 반환합니다.
is_inserted— SD 카드가 브레인에 삽입되었는지 여부를 반환합니다.filesize— 파일 크기를 반환합니다.size— 파일의 크기를 반환합니다.exists— SD 카드에서 파일을 찾을 수 있는지 여부를 반환합니다.
행위#
loadfile#
loadfile SD 카드에서 파일을 바이트 배열로 로드합니다.
Usage:
brain.sdcard.loadfile(filename, buffer)
매개변수 |
설명 |
|---|---|
|
불러올 파일의 이름을 문자열로 지정합니다. 파일 이름에는 파일 확장자가 반드시 포함되어야 합니다. |
|
선택 사항입니다. 파일 내용을 로드할 기존 바이트 배열입니다. 기존 바이트 배열이 더 크면 내용이 덮어쓰여집니다. 기존 바이트 배열이 더 작으면 메서드가 모든 데이터를 로드하지 못할 수 있습니다. 기본적으로 버퍼가 제공되지 않으면 새 바이트 배열이 반환됩니다. |
# Check for SD card and show a file's text
if brain.sdcard.is_inserted():
# Save new text to a file
brain.sdcard.savefile("Note.txt", bytearray("VEX"))
# Load the file and print it
data = brain.sdcard.loadfile("Note.txt")
brain.screen.print(data.decode("utf-8"))
else:
brain.screen.print("Insert SD card")
savefile#
savefile 바이트 배열을 SD 카드에 저장합니다.
Usage:
brain.sdcard.savefile(filename, buffer)
매개변수 |
설명 |
|---|---|
|
저장할 파일의 이름을 문자열로 지정합니다. 파일 이름에는 반드시 파일 확장자가 포함되어야 합니다. 파일이 이미 존재하는 경우 기존 파일을 덮어씁니다. 파일이 없는 경우 새 파일을 생성합니다. |
|
선택 사항입니다. 파일에 쓸 바이트 배열입니다. |
# Check for SD card and show a file's text
if brain.sdcard.is_inserted():
# Save new text to a file
brain.sdcard.savefile("Note.txt", bytearray("VEX"))
# Load the file and print it
data = brain.sdcard.loadfile("Note.txt")
brain.screen.print(data.decode("utf-8"))
else:
brain.screen.print("Insert SD card")
appendfile#
appendfile 은 기존 파일에 바이트 배열을 추가하여 현재 내용을 변경하지 않고 파일 끝에 새 데이터를 추가합니다.
Usage:
brain.sdcard.appendfile(filename, buffer)
매개변수 |
설명 |
|---|---|
|
추가할 파일의 이름을 문자열로 지정합니다. 파일 이름에는 파일 확장자가 반드시 포함되어야 합니다. |
|
추가할 데이터가 포함된 바이트 배열입니다. |
# Add more text and display file size
if brain.sdcard.exists("Note.txt"):
brain.sdcard.appendfile("Note.txt", bytearray("code"))
size = brain.sdcard.size("Note.txt")
brain.screen.print("Size: ")
brain.screen.print(size)
draw_image_from_file#
draw_image_from_file SD 카드에 저장된 비트맵 이미지(BMP)를 표시합니다.
.bmp 해상도가 5120픽셀, 크기가 6KB로 제한됩니다.
참고: IQ(2세대) Brain은 .bmp 파일 개만 표시할 수 있습니다. 파일 크기를 최소화하려면 8비트 RLE 인코딩을 권장합니다.
Usage
brain.screen.draw_image_from_file(filename, x, y)
매개변수 |
설명 |
|---|---|
|
이미지 파일 이름입니다. |
|
화면 이미지의 왼쪽 상단 모서리의 x 좌표입니다. |
|
화면 이미지의 왼쪽 상단 모서리의 y 좌표입니다. |
# Draw a bmp file on the Brain's screen at coordinate 0, 0
brain.screen.draw_image_from_file('test_image.bmp', 0, 0)
게터스#
is_inserted#
is_inserted 은 SD 카드가 현재 브레인에 삽입되어 있는지 여부를 나타내는 부울 값을 반환합니다.
True— 브레인에 SD 카드가 삽입되어 있습니다.False— 브레인에 SD 카드가 삽입되어 있지 않습니다.
Usage:
brain.sdcard.is_inserted()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Check for SD card and show a file's text
if brain.sdcard.is_inserted():
# Save new text to a file
brain.sdcard.savefile("Note.txt", bytearray("VEX"))
# Load the file and print it
data = brain.sdcard.loadfile("Note.txt")
brain.screen.print(data.decode("utf-8"))
else:
brain.screen.print("Insert SD card")
filesize#
filesize 파일의 크기를 바이트 단위로 십진수(float)로 반환합니다.
Usage:
brain.sdcard.filesize(filename)
매개변수 |
설명 |
|---|---|
|
파일 이름을 문자열로 입력하세요. 파일 이름에는 파일 확장자가 반드시 포함되어야 합니다. |
# Add more text and display file size
if brain.sdcard.exists("Note.txt"):
brain.sdcard.appendfile("Note.txt", bytearray("code"))
size = brain.sdcard.filesize("Note.txt")
brain.screen.print("Size: ")
brain.screen.print(size)
size#
size 파일의 크기를 바이트 단위로 십진수(float)로 반환합니다.
Usage:
brain.sdcard.size(filename)
매개변수 |
설명 |
|---|---|
|
파일 이름을 문자열로 입력하세요. 파일 이름에는 파일 확장자가 반드시 포함되어야 합니다. |
# Add more text and display file size
if brain.sdcard.exists("Note.txt"):
brain.sdcard.appendfile("Note.txt", bytearray("code"))
size = brain.sdcard.size("Note.txt")
brain.screen.print("Size: ")
brain.screen.print(size)
exists#
exists 파일이 SD 카드에서 발견되었는지 여부를 나타내는 부울 값을 반환합니다.
True— 파일이 SD 카드에 있습니다.False— 파일이 SD 카드에 없습니다.
Usage:
brain.sdcard.exists(filename)
매개변수 |
설명 |
|---|---|
|
파일 이름을 문자열로 입력하세요. 파일 이름에는 파일 확장자가 반드시 포함되어야 합니다. |
# Add more text and display file size if the file exists
if brain.sdcard.exists("Note.txt"):
brain.sdcard.appendfile("Note.txt", bytearray(" World"))
size = brain.sdcard.size("Note.txt")
brain.screen.print("Size: ")
brain.screen.print(size)