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)

매개변수

설명

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

참고: IQ(2세대) 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)