Serial Daten von SD zum PC Uebertragen und in Datei speichern

Hallo Zusammen

Brauche mal wieder ein paar Tips

Ich moechte gerne 5 Textdateien von Arduino-SD Serial zum PC uebertragen
Meine Frage nun suche Ich die moeglichkeit sie auf dem PC zu speichern
Kennt Ihr ein Terminalprog. das Ich Befehle an den Arduino sendet der Mir dann eine
Datei uebertraegt und dann mit Dateinamen auf den Pc Speichert
gibt es dafuer eine Macro-Sprache Beispiele

oder in Virtual-Basic Beispiele

Kennt Ihr ein Terminalprog. das Ich Befehle an den Arduino sendet der Mir dann eine
Datei uebertraegt und dann mit Dateinamen auf den Pc Speichert

Mein GtkTerm macht das ("Save Raw File").

Aber wieso nimmst Du nicht einfach die SD-Karte raus und steckst sie in den PC?

Vielleicht solltest Du uns das übergeordnete Projekt beschreiben, wahrscheinlich finden wir eine bessere Lösung.

Hallo,

vielleicht hilft Dir hierbei "Processing".
hier ein Link zu serieller Kommunikation zwischen PC und Arduino: varesano.net -.

Hier die Hauptseite von Processing: http://www.processing.org
Viel Spaß
Detlef

Hallo Zusammen

Hallo pylon

Die Karte nimm Ich jeden Tag raus Steck sie dann
in den Pc kopiere 5 Dateien nenne die Dateien um
stecke die Karte wieder in den Arduino

Dann ist der Arduino noch in ein Gehaeuse eingebaut Ich komme von aussen nicht
an die Karte.
Ich moechte gern im Terminalprogramm einen Befehl eingeben oder mehrere
das er mir die 5 Dateien uebertraegt und in 5 Dateien auf dem Pc speichert

wuerde das mit GtkTerm gehen

Ich Danke dir schon mal

Hallo Thee

kann mit "Processing" 5 Dateien Uebertragen und dann auf dem Pc abspeichern

Ich Danke dir schon mal

bye juergen

Du kannst nicht die Dateien direkt übertragen, wie du in Windows eine Datei kopierst.

Du musst auf dem Arduino eine Datei öffnen. Dann liest du sie aus und überträgst die einzelnen Bytes. Auf dem PC wird dann eine neue Datei angelegt (oder eine alte überschrieben, das ist in etwa das gleiche je nach verwendeten Optionen) und die eingelesenen Daten in die Datei geschrieben.

Da Serial recht langsam ist, dauert das entsprechend.

Hallo Zusammen

Hallo Serenifly

Die Daten kann Ich zum IDE oder Terminal uebertragen
es geht mir nur darum das Ich dann das Abspeichern nicht von hand
machen muss

die groesste Datei hat 7000 Byte

Ich Danke dir schon mal

bye juergen

juergen01:
wuerde das mit GtkTerm gehen

Mal kurz nachgeschaut bei den Features unter Infrastructure/Fedorahosted-retirement - Fedora Project Wiki und sehe da:
Possible to send a file (only RAW data, no protocol)

Das bedeutet: GtkTerm kann beherrscht KEINE gesicherte Dateiübertragung mit irgendeinem Datei-Übertragungsprotokoll.

Mit GtkTerm kannst Du allenfalls folgendes machen:

  1. In Deinem GtkTerm öffnest Du eine "Logdatei" (Funktion "Logging to File" oder ähnlich) und gibst den Log-Dateinamen an.

  2. Du gibst im GtkTerm einen Befehl an den Arduino ein, um die Datei zu erhalten, z.B.

GET filename.txt
  1. Auf Deinem Arduino läuft ein Sketch, der solche Befehle auswertet und daraufhin über die serielle Schnittstelle die Datei "filename.txt" sendet, ein Byte nach dem anderen

  2. Wenn keine Bytes mehr vom Arduino kommen, beendest Du das Logging in Datei

Zum Empfang weiterer Dateien den Vorgang wiederholen.

Falls bei der Übertragung durch Störimpulse Fehler auftreten, ist die auf diese Art empfangene Datei dann nicht identisch mit der gesendeten Datei, Übertragungsfehler werden nicht erkannt.

Wenn es komfortabler werden soll, muss das Terminalprogramm als Feature "Dateiübertragung mit Protokoll" anbieten, und zwar mit mindestens einem der Protokolle:

  • XMODEM
  • YMODEM
  • ZMODEM

Und zugleich muss das Protokoll XMODEM, YMODEM oder ZMODEM im Arduino implementiert werden.

ZMODEM kommt Deinem Wunsch nach Automatisierung des Dateiempfangs wahrscheinlich am nächsten, denn es gibt Terminalprogramme, die ein "Auto ZMODEM" Feature unterstützen, so dass Downloads per ZMODEM ohne weitere Benutzereingriffe möglich sind.

XMODEM wäre aber am einfachsten zu implementieren und benötigt auch am wenigstens RAM-Speicher, da dabei die gesendeten Datenblöcke immer nur 128 Bytes groß sind. Allerdings überträgt das XMODEM-Protokoll noch nicht einmal den Namen einer Datei, sondern nur dessen Inhalt.

Oder Du denkst Dir ein eigenes Übertragungsprotokoll aus statt eines der üblichen Standardprotokolle zu verwenden. Allerdings mußt Du dann auch die PC-seitige Empfangssoftware selbst programmieren und kannst dafür kein Standard-Terminalprogramm verwenden

Hallo Zusammen

Hallo jurs

Deine Antworten sind wie immer sehr informativ
Zmodem erinnert Mich an die 300-Baud Zeiten

werde es mit einen Terminalprg. machen
habe Hterm gefunden ist ja wie eine Nullmodem verbindung
auch ohne Zmodem keine Fehler bei der Uebertragung
werde es dann so erst eimal machen

Vieleicht im naechsten Winter etwas mit Virtualbasic machen
Jetzt kommt das Haus und der Garten

jurs Ich habe dir sehr zu Danken und ach allen anderen

bye juergen