Thẻ SD#

Giới thiệu#

Việc sử dụng thẻ SD với VEX EXP cho phép bạn lưu trữ và truy cập các tệp trên thẻ SD có thể tháo rời được cắm vào khe cắm thẻ SD của thiết bị Brain. Cho dù bạn đang lưu dữ liệu cảm biến hay tải hình ảnh tùy chỉnh, các phương pháp này đều cung cấp khả năng kiểm soát hoàn toàn các thao tác với tệp. Thẻ SD có thể tháo rời cho phép bạn dễ dàng truyền dữ liệu giữa thiết bị Brain và máy tính.

EXP Brain yêu cầu thẻ nhớ SD có dung lượng không quá 32GB, được định dạng FAT32. Thẻ nhớ SD có dung lượng lớn hơn 32GB sử dụng định dạng exFAT theo mặc định, không tương thích với EXP Brain. Hãy đảm bảo thẻ nhớ SD của bạn được định dạng đúng cách sang FAT32 trước khi sử dụng.

Tất cả các tập tin phải được đặt trong thư mục gốc của thẻ SD để có thể truy cập được.

Đối với các ví dụ bên dưới, Bộ não được xây dựng bao gồm quyền truy cập vào các phương thức thẻ SD và sẽ được sử dụng trong tất cả các ví dụ tiếp theo trong toàn bộ tài liệu API này khi đề cập đến các phương thức đó.

Dưới đây là danh sách tất cả các phương pháp:

Thao tác — Thực hiện các thao tác với tệp và hiển thị hình ảnh từ thẻ SD.

  • loadfile — Tải nội dung của một tệp từ thẻ SD vào bộ đệm bộ nhớ do người dùng cung cấp.

  • savefile — Lưu dữ liệu từ bộ đệm do người dùng cung cấp vào một tệp trên thẻ SD của EXP Brain.

  • appendfile — Thêm dữ liệu từ bộ đệm do người dùng cung cấp vào cuối tệp hiện có trên thẻ SD của EXP Brain.

  • draw_image_from_file — Hiển thị hình ảnh Bitmap từ thẻ SD.

Getters — Trả về thẻ SD và thông tin tập tin.

  • is_inserted — Trả về trạng thái liệu thẻ SD có được lắp vào Brain hay không.

  • filesize — Trả về kích thước của một tệp.

  • size — Trả về kích thước của một tệp.

  • exists — Trả về liệu có tìm thấy tệp trên thẻ SD hay không.

Hành động#

loadfile#

loadfile tải một tệp từ thẻ SD vào một mảng byte.

Usage:
brain.sdcard.loadfile(filename, buffer)

Thông số

Sự miêu tả

filename

Tên của tập tin cần tải dưới dạng chuỗi ký tự. Tên tập tin phải bao gồm phần mở rộng của tập tin.

buffer

Tùy chọn. Một mảng byte hiện có để tải nội dung tệp vào. Nếu mảng byte hiện có lớn hơn, nội dung của nó sẽ bị ghi đè. Nếu mảng byte hiện có nhỏ hơn, phương thức có thể không tải được tất cả dữ liệu. Theo mặc định, một mảng byte mới sẽ được trả về nếu không có bộ đệm nào được cung cấp.

# 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 lưu một mảng byte vào thẻ SD.

Usage:
brain.sdcard.savefile(filename, buffer)

Thông số

Sự miêu tả

filename

Tên tệp cần lưu dưới dạng chuỗi ký tự. Tên tệp phải bao gồm phần mở rộng của tệp. Nếu tệp đã tồn tại, nó sẽ bị ghi đè. Nếu tệp chưa tồn tại, một tệp mới sẽ được tạo.

buffer

Tùy chọn. Một mảng byte để ghi vào tệp.

# 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 thêm một mảng byte vào một tệp hiện có, bổ sung dữ liệu mới vào cuối tệp mà không làm thay đổi nội dung hiện tại.

Usage:
brain.sdcard.appendfile(filename, buffer)

Thông số

Sự miêu tả

filename

Tên của tập tin cần thêm vào dưới dạng chuỗi. Tên tập tin phải bao gồm phần mở rộng của tập tin.

buffer

Một mảng byte chứa dữ liệu cần thêm vào.

# 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 hiển thị một hình ảnh bitmap (BMP) được lưu trữ trên thẻ SD.

Các tệp .bmp .bmp là 5120 pixel và 6KB.

Lưu ý: EXP Brain chỉ hỗ trợ hiển thị .bmp Nên sử dụng mã hóa RLE 8-bit để giảm thiểu kích thước tập tin.

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

Thông số

Sự miêu tả

filename

Tên tệp tin của hình ảnh.

x

Tọa độ x của góc trên bên trái hình ảnh trên màn hình.

y

Tọa độ y của góc trên bên trái hình ảnh trên màn hình.

# Draw a bmp file on the Brain's screen at coordinate 0, 0
brain.screen.draw_image_from_file('test_image.bmp', 0, 0)

Người nhận#

is_inserted#

is_inserted trả về giá trị Boolean cho biết liệu thẻ SD hiện có được lắp vào Brain hay không.

  • True — Bộ não có gắn thẻ SD.

  • False — Bộ não không có thẻ SD được lắp vào.

Usage:
brain.sdcard.is_inserted()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# 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 trả về kích thước của một tệp tính bằng byte dưới dạng số thập phân (float).

Usage:
brain.sdcard.filesize(filename)

Thông số

Sự miêu tả

filename

Tên của tập tin dưới dạng chuỗi ký tự. Tên tập tin phải bao gồm phần mở rộng của tập tin.

# 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 trả về kích thước của một tệp tính bằng byte dưới dạng số thập phân (float).

Usage:
brain.sdcard.size(filename)

Thông số

Sự miêu tả

filename

Tên của tập tin dưới dạng chuỗi ký tự. Tên tập tin phải bao gồm phần mở rộng của tập tin.

# 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 trả về giá trị Boolean cho biết liệu có tìm thấy tệp trên thẻ SD hay không.

  • True — Tệp tin nằm trên thẻ SD.

  • False — Tệp không có trên thẻ SD.

Usage:
brain.sdcard.exists(filename)

Thông số

Sự miêu tả

filename

Tên của tập tin dưới dạng chuỗi ký tự. Tên tập tin phải bao gồm phần mở rộng của tập tin.

# 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)