UART Datenlogger / Recorder

Gast #3863086
Lesenswert?

Welcher Datenlogger (erstmal egal ob gekauft oder Selbstbauprojekt) ist 
geeignet, um eine 112500Bd 8N1 Datenkommunikation (max 1h) incl. 
Timestamps aufzuzeichnen und entweder wieder abzuspielen oder sie auf 
dem PC in einem anständig lesbaren Format (CSV ist toll...) 
darzustellen?
Gast #3863092
Lesenswert?

Hannes Gruber schrieb:
> Welcher Datenlogger (erstmal egal ob gekauft oder Selbstbauprojekt) ist
> geeignet, um eine 112500Bd 8N1 Datenkommunikation (max 1h) incl.
> Timestamps aufzuzeichnen und entweder wieder abzuspielen oder sie auf
> dem PC in einem anständig lesbaren Format (CSV ist toll...)
> darzustellen?

das einfachste wir do sein ein mini-Computer wie den Raspi zu verwenden.

Aber wie soll man ohne das Protokoll zu kennen, etwas in CSV umwandeln?
Gast #3863232
Lesenswert?

Hannes Gruber schrieb:

> Welcher Datenlogger (erstmal egal ob gekauft oder Selbstbauprojekt) ist
> geeignet, um eine 112500Bd 8N1 Datenkommunikation (max 1h) incl.
> Timestamps aufzuzeichnen und entweder wieder abzuspielen oder sie auf
> dem PC in einem anständig lesbaren Format (CSV ist toll...)
> darzustellen?

Schönes Eigenbau-Projekt für nicht-mehr-ganz-Anfänger. Ein kleiner 
ATMega+MAX232+olle SDCard. Das kann man notfalls sogar frei verdrahten 
und mit ein paar Klecksen Heißkleber zusammentackern, so wenig Aufwand 
ist das.
(Firma: Vescomp) #3863486
Lesenswert?

Hannes Gruber schrieb:
> Welcher Datenlogger (erstmal egal ob gekauft oder Selbstbauprojekt) ist
> geeignet, um eine 112500Bd 8N1 Datenkommunikation (max 1h) incl.
> Timestamps aufzuzeichnen und entweder wieder abzuspielen oder sie auf
> dem PC in einem anständig lesbaren Format (CSV ist toll...)
> darzustellen?
 Mega328+MAX232 oder Mega328+1 Transistor + SDCard wären schon genug.
 Nur sind das mehr als 11KByt pro Sekunde, SDCard will in Blocks a 512
 Bytes beschrieben werden, da kann es schon eng werden. Interrupts an
 beiden Enden und RingBuffer für Empfang sind zwingend.

Peter II schrieb:
> Aber wie soll man ohne das Protokoll zu kennen, etwas in CSV umwandeln?
 Ganz einfach. Jedes empfangene Byte als Hex2ASCII ausgeben, mit Kommas
 trennen.
 Aber wie schon oben gesagt: - Es kann knapp werden, besonders da hier
 3 Mal soviel geschrieben werden muss, wie Bytes empfangen werden.
 Plus Umrechnung.
(Firma: Vescomp) #3864076
Lesenswert?

Hannes Gruber schrieb:
> Welche Datenrate schafft ein ATmega kontinuierlich auf eine SD-Karte zu
> schreiben?
 Max. fCPU / 2.
 Plus Umrechnung und notwendiger Arithmetik = mit 150KB/Sec. kannst du
 in etwa rechnen.

> Muss nicht unbedingt FAT formatiert sein und am PC lesbar, die Ausgabe /
> Umrehnung kann der AVR ja auch übernehmen.
 Am PC auf der SDCard eine einzige lange ASCII Datei erstellen, Daten
 mit ATMega Sector für Sector einschreiben, erster Sector zum schreiben
 gleich nach zweiter FAT.
 Mache ich so für GPS-Aufzeichnungen, FAT-Umrechnungen und sonstiger
 Kram interessiert dich somit nicht.
Gast #3864084
Lesenswert?

Warum nicht einfach FT232 und an dem PC nen mini Script schreiben?
Dafür brauch ich doch keine HArdware bauen - FT232 Platinen gibts für 
kleines Geld auf Ebay und csv ist ja kein Akt zu erzeugen.

Halbe Stunde und man hat was man braucht...
Gast #3864096
Lesenswert?

ennen schrieb:
> Halbe Stunde und man hat was man braucht...

... und ist immer drauf angewiesen, dass man einen PC am Messort zur 
Verfügung hat.

p.s. Ich stelle mir gerade einen Gleitschirmflieger vor, der seine 
Flugaten loggen möchte, mit der rechten Hand den Schirm steuert und in 
der linken locker den Laptop für die Aufzeichnung hält.
(Firma: Vescomp) #3864167
Lesenswert?

Tom Thomsen schrieb:
> p.s. Ich stelle mir gerade einen Gleitschirmflieger vor, der seine
> Flugaten loggen möchte, mit der rechten Hand den Schirm steuert und in
> der linken locker den Laptop für die Aufzeichnung hält.

Michael Köhler schrieb:
> Wie rückständig ist das denn? Gleitschirme steuert man doch heute rein
> mental :D

 Richtige Männer könnten sich da auch anders behelfen ;-D
Gast #3864249
Lesenswert?

Hannes Gruber schrieb:

> Welche Datenrate schafft ein ATmega kontinuierlich auf eine SD-Karte zu
> schreiben?

Nach meiner Erfahrung ist das eher eine Beschränkung der SD-Karte als 
des ATmega. Irgendwann fangen die Dinger alle an, für das wear-leveling 
völlig unvorhersehbar mehr oder weniger lange Gedenkpausen einzulegen. 
Hier bist du natürlich mit einem ATmega mit möglichst viel RAM, der sich 
als Datenpuffer einsetzen läßt, am besten bedient.

> Muss nicht unbedingt FAT formatiert sein und am PC lesbar, die Ausgabe /
> Umrehnung kann der AVR ja auch übernehmen.

Das ist eine gaaaanz schlechte Idee.

Die Flash-Controller der Teile sind ganz offensichtlich extrem stark auf 
genau das Filesystem optimiert, mit dem die Karten ausgeliefert 
werden. Schon eine simple Änderung der FAT-Parameter kann mittelfristig 
einen katastrophalen Einbruch der Schreibperformance in Form extremer 
Gedenkpausen sowie frühzeitiges Ableben der Karte (sehr oft auch noch 
unter vollständigem Datenverlust) nach sich ziehen.

De facto hast du, wenn du die durch das vorgegebene Filesystem 
definierten Zugriffsmuster verläßt, nur sehr wenige Male die Chance, die 
Karte wirklich schnell und mit konstanter Geschwindigkeit vollständig zu 
beschreiben.

RasPi-Nutzer, die gewöhnlich Images nutzen und damit zwangsläufig 
oftmals mit "falschen" FAT-Varianten arbeiten, können ein Lied davon 
singen...

Was nun den Zugriff von einem ATmega aus betrifft, fährst du am besten, 
wenn du das originale FS benutzt und den benötigten Speicher 
"präallozierst", also: ein Datei einmalig zum Schreiben öffnen, knapp 
vor die Kapzitätsgrenze seeken, ein Byte schreiben und die Datei wieder 
schließen.

Im normalen Betrieb bewegst du dich dann nur noch innerhalb dieser 
Datei. Damit hast du den Effekt, daß keinerlei FS-Verwaltungsmaßnahmen 
mehr bremsen können, denn der gesamte Speicherplatz für die Datei ist 
bereits in der FAT alloziert. Das wear-leveling kannst du damit zwar 
auch nicht ausschließen, aber es wird wesentlich später erstmalig 
erfolgen und die Gedenkpausen werden, zumindest anfänglich, auch 
deutlich kürzer sein.

Irgendwann ist die Scheiße aber trotzdem praktisch unbrauchbar.

Kurzfassung: Flash-Medien sind als Verbrauchsmaterial designed, nicht 
als zuverlässige Datenträger mit berechenbaren Zugriffszeiten.
#3864314
Lesenswert?

Hannes Gruber schrieb:
> Welcher Datenlogger (erstmal egal ob gekauft oder Selbstbauprojekt) ist
> geeignet, um eine 112500Bd 8N1 Datenkommunikation (max 1h) incl.
> Timestamps aufzuzeichnen und entweder wieder abzuspielen oder sie auf
> dem PC in einem anständig lesbaren Format (CSV ist toll...)
> darzustellen?

Ich würde einfach ein normales USB-Seriell-Kabel nehmen und es in die 
Leitung hängen die abgehört werden soll.
Die Daten loggst du dann einfach mit einem Laptop/Desktop-Computer mit.

Also Programm nutze ich moserial, das schreibt die Daten auch direkt in 
eine Datei.

Dieses .CSV Format lohnt sich nur wenn du weißt was das für Daten sind.
Wenn es Daten sind die nicht druckbar sind (z.B. 0x00 bis 0x09) und die 
Daten auch nicht so aufgebaut sind, also mit Kommas/Semikolons getrennt, 
dann bringt dieses Format nichts.

Also lass dir die Daten einfach in eine Textdatei schreiben.
Dein Serielles Kabel muss nur die 112500Bd 8N1 können ...

Meintest du nicht vielleicht eher 115200 Baud ? (Zahlendreher)
Persönliche Seite #3864862
Lesenswert?

Mike J. schrieb:
> ch würde einfach ein normales USB-Seriell-Kabel nehmen und es in die
> Leitung hängen die abgehört werden soll.
> Die Daten loggst du dann einfach mit einem Laptop/Desktop-Computer mit.

Das zeichnet aber nur eine Seite der Kommunikation auf. Kommunikation 
ist aber üblicherweise kein Selbstgespräch, sondern bidirektional.

Um so etwas aufzuzeichnen, braucht man zwei Schnittstellen.
#3865168
Lesenswert?

@ Georg (Gast)
Ich hatte auch mal eine Datei auf einer SD-Karte "verloren", es gab auch 
kein Tool mit dem ich sie wiederherstellen konnte, also habe ich mir ein 
Image der Karte mit dd gemacht, dieses Image dann in einem Hex-Editor 
geöffnet und nach Zeichen gesucht die in der Datei vorhanden sein 
müssen.

Vielleicht gibt es bei ihm ja einen Fehler der jede Stunde ein mal 
auftritt und er will jetzt wissen was da intern passiert und wie die 
Kommunikation in diesem fehlerhaften Bereich aussieht.


@ Hannes
Willst du das mal genauer erläutern?
Vielleicht kann man dir dann etwas besser helfen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren