SD 카드#

소개#

VEX EXP에서 SD 카드를 사용하면 Brain의 SD 카드 슬롯에 삽입된 탈착식 SD 카드에 저장된 파일을 저장하고 액세스할 수 있습니다. 센서 데이터를 저장하거나 사용자 지정 이미지를 불러오는 등, 이러한 방법을 통해 파일 작업을 완벽하게 제어할 수 있습니다. 탈착식 SD 카드를 사용하면 Brain과 컴퓨터 간에 데이터를 간편하게 전송할 수 있습니다.

EXP Brain은 FAT32 형식으로 포맷된 최대 32GB 용량의 SD 카드를 필요로 합니다. 32GB보다 큰 SD 카드는 기본적으로 exFAT 형식으로 포맷되어 있어 EXP Brain과 호환되지 않습니다. 사용 전에 SD 카드가 FAT32 형식으로 올바르게 포맷되었는지 확인하십시오.

모든 파일은 접근 가능하려면 SD 카드의 루트 폴더에 있어야 합니다.

아래 예제의 경우 구성된 Brain에는 SD 카드 메서드에 대한 액세스가 포함되어 있으며 이 API 문서 전체의 후속 예제에서 해당 메서드를 참조할 때 사용됩니다.

다음은 모든 방법 목록입니다.

작업 — SD 카드에서 파일 작업을 수행하고 이미지를 표시합니다.

  • loadfile — SD 카드에서 파일 내용을 사용자가 제공한 메모리 버퍼로 로드합니다.

  • savefile — 사용자가 제공한 버퍼의 데이터를 EXP Brain의 SD 카드에 있는 파일로 저장합니다.

  • appendfile — 사용자가 제공한 버퍼의 데이터를 EXP 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)

매개변수

설명

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)

매개변수

설명

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)

매개변수

설명

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로 제한됩니다.

참고: EXP Brain은 .bmp 파일만 표시할 수 있습니다. 파일 크기를 최소화하려면 8비트 RLE 인코딩을 권장합니다.

Usage
brain.screen.draw_image_from_file(filename, x, y)

매개변수

설명

filename

이미지 파일 이름입니다.

x

화면 이미지의 왼쪽 상단 모서리의 x 좌표입니다.

y

화면 이미지의 왼쪽 상단 모서리의 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)

매개변수

설명

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)

매개변수

설명

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)

매개변수

설명

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)