[OpenSeaMap-develop] Hardwarelogger, die 1.
Brought to you by:
al_friede
From: Wilfried K. <W....@gm...> - 2013-10-10 10:13:07
|
<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>Ein freundliches Hallo an alle,</div> <div> </div> <div>als erstes, ja ich weiß, die Mailingliste ist in Englisch, aber mein Englisch ist ziemlich eingerostet. Deswegen verzeiht, daß ich in deutsch schreibe.</div> <div> </div> <div>Zu meiner Person:</div> <div>Ich bin derjenige, der sich um den angekündigten Hardwarelogger sowohl Hardwaretechnisch wie auch Firmwaretechnisch kümmert. Für diejenigen, die es intererssiert. Wir haben einen ganz klaren recht engen Rahmen, sowohl zeitlich wie auch preislich, für das Projekt. </div> <div>Der Logger macht nix weiteres als die Daten von 2 NMEA Eingänge sowie den eingebauten Lage- und Beschleunigungssensor auf eine SD Karte zu schreiben. Es wird nichts gefiltert, analysiert oder sonst wie bearbeitet.</div> <div>(Seatalk ist hardware technisch zwar vorgesehen, habe ich aber aufgrund des doch recht engen Zeithorizontes erstmal nur rudimentär implementiert.)</div> <div> </div> <div>Kurzbeschreibung Hardware:</div> <div>- Prozessor Atmel ATMega328 SMD</div> <div>- Lage/Beschleunigung MPU 6050</div> <div>- 2 optisch getrennte NMEA 0183 Eingänge</div> <div>- 1 optisch getrennte SeaTalk Eingang (Muss im Gerät üebr einen Jumper aktiviert werden.)</div> <div>- SD Kartenleser</div> <div>- Spannungsversorgung 12V. Mit Reserve über Goldcap. (Die brauchen wir, damit der Logger beim Abschalten noch die Dateien auf der SD Karte sauber schliessen kann. Sonst ist das Dateisystem ganz schnell defekt.)</div> <div>- Anschluss alleine über RJ45.</div> <div> </div> <div>Software:</div> <div>- Bootloader mit Firmware Updatemöglichkeit über SD Karte (Nur FAT 16)</div> <div>- Firmware schreibt FAT16 und FAT 32 Karten</div> <div>- zu jedem Datensatz wird ein interner Zeitstempel zugefügt.</div> <div>- Änderung der Basiskonfiguration über Datei auf der SD Karte möglich. (Baudrate, Aktivierung der Eingänge)</div> <div> </div> <div>Status:</div> <div>Hardware: 90% getestet, es fehlen noch elektrische Tests der NMEA 0183 und des SeaTalkanschlusses. (Die Schnittstellen selber sind bereits getestet.)</div> <div>Software: 90% fertig und getestet. Was fehlt ist das Zeitstempelformat, aber dazu späte rmehr.</div> <div>Felderprobung,Langzeittests: 10%, wir sind erst im 1. Prototypenstadium.</div> <div> </div> <div>Nächste Schritte:</div> <div>- Felderprobung, Schnittstellentests.</div> <div>- Vorserie</div> <div>- Vorserientests mit ausgewählten Personen<br/> </div> <div>Weswegen ich mich an euch wende, ist, weil ich gerade an dem Datenformat für die Datensätze sitze. Da ihr später mit den Daten arbeiten müßt, wäre es sinnvoll, über das Datenformat zu reden.</div> <div>(Bitte keine Diskussion mehr über RJ45, oder weitere Schnittstellen oder die Hardware.) </div> <div>NMEA ist ja ein zeilenorientiertes Protokoll. D.h. jeder Datensatz ist eine Zeile lang. max 80 Zeichen und wird mit einem CRLF abgeschlossen. Nun muss/will ich natürlich einen internen Zeitstempel hinzufügen. Dieser ist auch recht einfach gehalten, denn das sind die ms seit dem Start des Systems. (das ein 32-bit Longwert und läuft nach ca. 49 Tagen über. Sollte man nur wissen, ist kein Problem.)</div> <div>Vor dem jeweiligen Datensatz steht nun der Zeitstempel als HEXWert. Also so:</div> <div>2A9$POSMST,Start NMEA Logger<br/> 3ED$POSMGYR,-620,-224,17628<br/> 3EE$POSMACC,-658,-335,12<br/> 484$POSMVCC,4940<br/> 7D8$POSMGYR,-592,-60,17772<br/> 7D9$POSMACC,-642,-345,9<br/> 7E5$POSMVCC,4918<br/> ...</div> <div>BBD3$POSMGYR,-764,44,17912<br/> BBD4$POSMACC,-680,-526,-8<br/> BBE1$POSMVCC,4897<br/> BE65$POSMVCC,3444<br/> BE66$POSMSO,Stop NMEA Logger</div> <div>Wie man sieht, ist der ZEitstempel kein Festformat, sondern wird einfach als Hexzahl davor gesetzt. Erkennbar sind die Daten allerdings recht einfach, denn das NMEA Format beginnt immer mit einem $</div> <div> </div> <div>Ist das Format so ok oder soll ich das anders kodieren?</div> <div> </div> <div>Für den Logger selber habe ich 5 zusätzlich NMEA Datensätze "erfunden"</div> <div>$POSMST: Startmeldung des Loggers. Hier fehlt noch die Firmwareversion. Wird dann in der Endgültigen Version so aussehen 2A9$POSMST,Start NMEA Logger, V 1.0.003</div> <div>$POSMSO. Stoppmeldung des Loggers.</div> <div>$POSMVCC, aktuelle Versorgungsspannung in mV. Brauche ich für Debugzwecke. Wird in der endgültigen Version aber wegfallen.</div> <div>Für den Lage und Beschleunigungssensor habe ich 2 weitere NMEA Datensätze erzeugt. Ich habe in der NMEA Definition leider nichts vergleichbares gefunden.</div> <div>$POSMGYR,-592,-60,17772 Daten des Gyrosscopes in 16Bit Auflösung x,y,z<br/> $POSMACC,-642,-345,9 Daten des Beschleunigungssensors in 16Bit Auflösung x,y,z</div> <div>Die 6 Werte müssen dann mit den jeweiligen Einstellungen des Sensors verarbeitet werden. (Lage: ±250°/sec und Beschleuningung: ±2 g.)</div> <div>Die x-Achse ist quer zum Gerät (also links/rechts), die y-Achse ist die Längsseite (also vor/zurück) und die z-Achse dementsprechend hoch/runter.</div> <div> </div> <div>Ist das für euch brauchbar, oder soll ich ein anderes Format wählen? (Zur Erklärung, ich kann wegen der geringen Prozessorleistung keine großartigen Umrechnungen machen. Aber ich könnte natürlich noch ein zusätzliches Programm schreiben, mit dem ich Daten aufbereitet. Würde ich aber gerne vermeiden.)</div> <div>Oder gibt es evt. ein fertigen Datensatz, den ich verwenden kann?</div> <div> </div> <div>Beim Dateneinlesen über das Webfrontend muss die aktuelle Einbaulage natürlich berücksichtigt werden.</div> <div>Die Daten von GPS und Sonar werden nicht bearbeitet, liegen also in dem Format vor, wie Sie aus den Geräten kommen. Einzig der Zeitstempel ist davor gesetzt.</div> <div> </div> <div>Achja, es kann natürlich sein, das sich auf einer Karte mehrere Dateien befinden. </div> <div>Müssen diese einzeln hochgeladen werden, oder kann man die in einem Rutsch hochladen?</div> <div> </div> <div>Achja, ich muss noch dazu sagen, daß ich weder ein aktiver Wassersportler bin, noch das ich ein Boot besitze. Zumindest keines, in das ich mich selber setzen könnte.</div> <div> </div> <div class="signature">--<br/> mit freundlichen Grüßen<br/> <br/> Dipl.-Ing. Wilfried Klaas<br/> Tel.: 02324 200504<br/> Mobil: 0170 2970164<br/> EMail: Mailto:w....@gm...<br/> Home: http://www.wk-musik.tk, http://rcarduino.tk</div></div></body></html> |