SD-Karte#
Einführung#
Mit einer SD-Karte und VEX EXP können Sie Dateien auf einer herausnehmbaren SD-Karte speichern und darauf zugreifen, die in den SD-Kartensteckplatz des Brain eingesetzt wird. Egal, ob Sie Sensordaten speichern oder eigene Bilder laden – diese Methoden bieten Ihnen volle Kontrolle über die Dateivorgänge. Die herausnehmbare SD-Karte ermöglicht Ihnen den einfachen Datenaustausch zwischen Ihrem Brain und Ihrem Computer.
Das EXP Brain benötigt eine SD-Karte mit maximal 32 GB Speicherkapazität, formatiert mit FAT32. SD-Karten mit mehr als 32 GB verwenden standardmäßig das exFAT-Format, welches nicht mit dem EXP Brain kompatibel ist. Stellen Sie daher vor der Verwendung sicher, dass Ihre SD-Karte korrekt mit FAT32 formatiert ist.
Alle Dateien müssen im Stammverzeichnis der SD-Karte abgelegt werden, um zugänglich zu sein.
In den folgenden Beispielen beinhaltet das konstruierte Gehirn den Zugriff auf die SD-Kartenmethoden und wird in allen nachfolgenden Beispielen in dieser API-Dokumentation verwendet, wenn auf diese Methoden Bezug genommen wird.
Nachfolgend finden Sie eine Liste aller Methoden:
Aktionen – Dateivorgänge durchführen und Bilder von der SD-Karte anzeigen.
loadfile— Lädt den Inhalt einer Datei von der SD-Karte in einen vom Benutzer bereitgestellten Speicherpuffer.savefile— Speichert Daten aus einem vom Benutzer bereitgestellten Puffer in einer Datei auf der SD-Karte des EXP Brain.appendfile— Fügt Daten aus einem vom Benutzer bereitgestellten Puffer an das Ende einer bestehenden Datei auf der SD-Karte des EXP Brain an.draw_image_from_file— Zeigt ein Bitmap-Bild von der SD-Karte an.
Getter – Geben SD-Karten- und Dateiinformationen zurück.
is_inserted— Gibt zurück, ob eine SD-Karte in das Brain eingelegt ist.filesize— Gibt die Größe einer Datei zurück.size— Gibt die Größe einer Datei zurück.exists— Gibt zurück, ob eine Datei auf der SD-Karte gefunden wurde.
Aktionen#
loadfile#
loadfile lädt eine Datei von der SD-Karte in ein Bytearray.
Usage:
brain.sdcard.loadfile(filename, buffer)
Parameter |
Beschreibung |
|---|---|
|
Der Name der zu ladenden Datei als Zeichenkette. Der Dateiname muss die Dateierweiterung enthalten. |
|
Optional. Ein vorhandenes Byte-Array, in das der Dateiinhalt geladen werden soll. Ist das vorhandene Byte-Array größer, wird sein Inhalt überschrieben. Ist es kleiner, werden möglicherweise nicht alle Daten geladen. Standardmäßig wird ein neues Byte-Array zurückgegeben, falls kein Puffer angegeben wird. |
# 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 speichert ein Bytearray auf der SD-Karte.
Usage:
brain.sdcard.savefile(filename, buffer)
Parameter |
Beschreibung |
|---|---|
|
Der Name der zu speichernden Datei als Zeichenkette. Der Dateiname muss die Dateiendung enthalten. Existiert die Datei bereits, wird sie überschrieben. Existiert die Datei nicht, wird eine neue Datei erstellt. |
|
Optional. Ein Byte-Array, das in die Datei geschrieben werden soll. |
# 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 hängt ein Byte-Array an eine bestehende Datei an und fügt neue Daten am Ende der Datei hinzu, ohne den aktuellen Inhalt zu verändern.
Usage:
brain.sdcard.appendfile(filename, buffer)
Parameter |
Beschreibung |
|---|---|
|
Der Name der Datei, die als Zeichenkette angehängt werden soll. Der Dateiname muss die Dateierweiterung enthalten. |
|
Ein Byte-Array, das die anzuhängenden Daten enthält. |
# 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 zeigt ein auf der SD-Karte gespeichertes Bitmap-Bild (BMP) an.
.bmp Dateien sind auf 5120 Pixel und 6 KB Größe beschränkt.
Hinweis: EXP Brain unterstützt nur die Anzeige .bmp Dateien. Zur Minimierung der Dateigröße wird die 8-Bit-RLE-Codierung empfohlen.
Usage
brain.screen.draw_image_from_file(filename, x, y)
Parameter |
Beschreibung |
|---|---|
|
Der Dateiname des Bildes. |
|
Die x-Koordinate der oberen linken Ecke des Bildes auf dem Bildschirm. |
|
Die y-Koordinate der oberen linken Ecke des Bildes auf dem Bildschirm. |
# Draw a bmp file on the Brain's screen at coordinate 0, 0
brain.screen.draw_image_from_file('test_image.bmp', 0, 0)
Getter#
is_inserted#
is_inserted gibt einen booleschen Wert zurück, der angibt, ob aktuell eine SD-Karte im Brain eingelegt ist.
True— Im Gehirn ist eine SD-Karte eingelegt.False— Im Gehirn ist keine SD-Karte eingelegt.
Usage:
brain.sdcard.is_inserted()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# 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 gibt die Größe einer Datei in Bytes als Dezimalzahl (float) zurück.
Usage:
brain.sdcard.filesize(filename)
Parameter |
Beschreibung |
|---|---|
|
Der Dateiname als Zeichenkette. Der Dateiname muss die Dateierweiterung enthalten. |
# 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 gibt die Größe einer Datei in Bytes als Dezimalzahl (float) zurück.
Usage:
brain.sdcard.size(filename)
Parameter |
Beschreibung |
|---|---|
|
Der Dateiname als Zeichenkette. Der Dateiname muss die Dateierweiterung enthalten. |
# 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 gibt einen booleschen Wert zurück, der angibt, ob eine Datei auf der SD-Karte gefunden wurde.
True— Die Datei befindet sich auf der SD-Karte.False— Die Datei befindet sich nicht auf der SD-Karte.
Usage:
brain.sdcard.exists(filename)
Parameter |
Beschreibung |
|---|---|
|
Der Dateiname als Zeichenkette. Der Dateiname muss die Dateierweiterung enthalten. |
# 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)