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?
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?
Hallo
Ich habe für so etwas den hier verwendet: https://www.saleae.com/logic
TTL Pegel geht so, für RS232 +/- 12V muss man einen MAX232 vorschalten.
da1l6
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.
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.
Welche Datenrate schafft ein ATmega kontinuierlich auf eine SD-Karte zu
schreiben?
Muss nicht unbedingt FAT formatiert sein und am PC lesbar, die Ausgabe /
Umrehnung kann der AVR ja auch übernehmen.
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.
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...
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.
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.
Wie rückständig ist das denn? Gleitschirme steuert man doch heute rein
mental :D
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
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.
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)
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.
Hannes Gruber schrieb:> oder sie auf> dem PC in einem anständig lesbaren Format (CSV ist toll...)> darzustellen?
Wie gesagt ist das nicht schwer, aber was in aller Welt fängst du dann
mit einer 40 Megabyte grossen Datei von Hexzeichen an?
Georg
@ 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.