Hallo,
falls die 64MB Flash Speicher des TXT nicht mehr für eure Anwendungen ausreichen, könnt ihr mit einer microSD Karte die Speicherkapazität des TXT recht einfach erweitern. Solange fischertechnik die microSD Karte in ROBOPro noch nicht unterstützt, kann der Speicher allerdings nur direkt auf dem TXT genutzt werden, z.B. mit dem Python-Paket aus dem Download-Bereich (http://www.ftcommunity.de/data/download ... _fttxt.zip).
Die microSD sollte einigermassen schnell sein (ich verwende zur Zeit eine SanDisk microSDHC UHS-I Card, 16GB). Typischerweise sind diese Karten, die auch in Digital- oder Videokameras verwendet werden, bereits beim Kauf mit dem Dateisystem VFAT formatiert. Dieses Dateisystem wird in der Firmwareversion 4.2.3 vom TXT unterstützt.
Zur Vorbereitung müsst ihr euch zuerst das "root"-Passwort eures TXT besorgen. Wie das genau geht, steht auf den fischertechnik-Seiten unter http://www.fischertechnik.de/ResourceIm ... ?raid=8402
Damit könnt ihr euch auf einer root-Console des TXT einloggen (wie man sich auf der Console einloggt, ist auch im obigen fischertechnik-Dokument beschrieben):
# ssh root@192.168.7.2
Um die microSD-Karte manuell ins Dateisystem des TXT einzubinden (man nennt das auch "mounten") ist der folgende Befehl auf der Console einzugeben (das manuelle Einbinden ist noch unproblematisch, hier kann erstmal nichts passieren)
# mount -t vfat -o rw,noatime,user,umask=0022,gid=1000,uid=1000 /dev/mmcblk0p1 /mnt
Überprüfen mit:
# ls -l /mnt
(falls die SD-Karte leer ist, kommt hier kein Output, aber auch keine Fehlermeldung)
Einen neuen Ordner auf der Karte anlegen (ich verwende z.B. den Ordner "ft"):
# mkdir /mnt/ft
(sollte keinen Fehler produzieren)
testen mit
# ls -l /mnt
sollte jetzt so aussehen:
# ls -l /mnt
total 32
drwxr-xr-x 8 ROBOPro ROBOPro 32768 Jan 19 07:52 ft
Wenn bis hierher alles funktioniert hat, ist die microSD-Karte in Ordnung und kann verwendet werden.
Wenn es für euch praktikabel ist, die SD-Karte mit Hilfe der obigen Kommandos jedes mal manuell (als root) zu mounten, seid ihr jetzt fertig. Die SD-Karte ist damit voll benutzbar.
Ein Hinweis noch: die SD-Karte sollte nur bei ausgeschaltetem TXT Ein- oder Ausgesteckt werden, um eine Beschädigung des VFAT Dateisystems auszuschliessen (Experten können die Karte natürlich nach vorherigem unmounten mit "unmount /mnt" auch bei eingeschaltetem TXT entnehmen). Grundsätzlich sollte die SD-Karte am besten im Gerät verbleiben, da sich der Ein- Aussteckmechanismus schnell abnutzt und dann kaputt geht.
Wenn die SD-Karte bei jedem Einschalteten des TXT automatisch ins Dateisystem eingebunden werden soll, muss die Datei /etc/fstab modifiziert werden. Dabei ist allerhöchste Vorsicht geboten !
WARNUNG:
Die Datei /etc/fstab ist sehr wichtig für den boot-Prozess des TXT. In dieser Datei ist genau festgelegt, welche Dateisysteme wie und mit welchen Zugriffsrechten eingebunden werden. Wenn diese Datei einen Fehler enthält oder im schlimmsten Fall sogar weg ist, findet der TXT nach dem Einschalten sein Betriebssystem nicht mehr und muss zu fischertechnik eingeschickt werden.
Die folgende Anleitung wird auf eigene Gefahr angewendet, ICH ÜBERNEHME KEINE HAFTUNG !
Da wir die Datei /etc/fstab modifizieren müssen, solltet ihr zunächst eine Backup-Kopie dieser Datei anlegen:
(vorher mit ssh root@192.168.7.2 über USB-Kabel einloggen, nicht über WLAN oder Bluetooth versuchen !)
# cp /etc/fstab /root/fstab.backup
Der Befehl
# cat /root/fstab.backup
zeigt den Inhalt der kopierten Datei an (als Test, dass die Backup-Kopie angelegt wurde).
An das Ende der Datei /etc/fstab muss nun eine Zeile angefügt werden. Die anzuhängende Zeile muss genau so aussehen:
/dev/mmcblk0p1 /mnt auto rw,noatime,user,umask=0022,gid=1000,uid=1000 0 1
Das Anhängen der Zeile geschieht mit dem Befehl:
# echo "/dev/mmcblk0p1 /mnt auto rw,noatime,user,umask=0022,gid=1000,uid=1000 0 1" >> /etc/fstab
(Ganz wichtig sind die beiden spitzen Klammern ">>" ohne Leerzeichen dazwischen !)
Die Datei /etc/fstab sollte jetzt so ausssehen (anzeigen mit "cat /etc/fstab"):
(hier im Forum werden die Tabs nicht richtig angezeigt, die Datei ist in Spalten formatiert, die Formatierung dient jedoch nur der Übersichtlichkeit)
------------------------------------------------------------------------------------------------
# /etc/fstab: static file system information.
#
# <file system> <mount pt> <type> <options> <dump> <pass>
/dev/root / ext2 rw,noauto 0 1
proc /proc proc defaults 0 0
devpts /dev/pts devpts defaults,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs mode=0777 0 0
tmpfs /tmp tmpfs mode=1777 0 0
sysfs /sys sysfs defaults 0 0
/dev/mmcblk0p1 /mnt auto rw,noatime,user,umask=0022,gid=1000,uid=1000 0 1
------------------------------------------------------------------------------------------------
Zur Überprüfung eingeben:
# mount /mnt
Falls die Fehlermeldung
"mount: mounting /dev/mmcblk0p1 on /mnt failed: Device or resource busy"
erscheint, war die Karte noch manuell gemountet und muss erst wieder ungemounted werden mit:
# unmount /mnt
Danach nochmal probieren:
# mount /mnt
Das sollte jetzt ohne Fehlermeldung erfolgt sein und ein
# ls -l /mnt
sollte als Output z.B. so aussehen (falls ihr vorher den Ordner ft auf der Karte angelegt hattet):
total 32
drwxr-xr-x 8 ROBOPro ROBOPro 32768 Jan 19 07:52 ft
Wenn bis hierher alles geklappt hat, seid ihr fertig und die SD-Karte wird nun bei jedem Einschalten des TXT automatisch ins Dateisystem eingebunden.
Wenn es dagegen nicht geklappt hat, weil die Datei /etc/fstab einen falschen Inhalt hat, könnt ihr mit folgendem Befehl die original Datei, die ihr (hoffentlich) vorher gesichert hattet wieder zurückkopieren:
# cp /root/fstab.backup /etc/fstab
Auf gar keinen Fall dürft ihr den TXT mit einer korrumpierten /etc/fstab-Datei ausschalten. Er wird mit hoher Sicherheit danach nicht mehr booten.
Und nun viel Glück !
Viele Grüße
Torsten
PS: fischertechnik wird (hoffentlich) irgendwann selbst eine automatische Einbindung der SD-Karte in ROBOPro einbauen. Wenn es soweit ist, muss die hier vorgenommene Erweiterung der /etc/fstab Datei möglicherweise vor dem Einspielen des ROBOPro-Updates wieder rückgängig gemacht werden. Ich halte es z.B. für unwahrscheinlich, dass fischertechnik den Mountpoint "/mnt" dafür verwenden wird.
TXT Speichererweiterung mit microSD-Karte
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
Re: TXT Speichererweiterung mit microSD-Karte
Hallo Thorsten,
vielen Dank für deine ausführliche Beschreibung wie man eine microSD Karte am TXT einbindet.
An deine weitere Fortschritte und konkrete Anwendungen bin ich interessiert, besonders wäre schön Messdaten von RoboPro abzuspeichern. Aber ich vermute dass das in RoboPro programmiert werden muss.
Gruß
Christian
vielen Dank für deine ausführliche Beschreibung wie man eine microSD Karte am TXT einbindet.
An deine weitere Fortschritte und konkrete Anwendungen bin ich interessiert, besonders wäre schön Messdaten von RoboPro abzuspeichern. Aber ich vermute dass das in RoboPro programmiert werden muss.
Gruß
Christian