Trainingsdateien

Aison

Langsamfahrer
Registriert
18. August 2005
Reaktionspunkte
0
Ort
Zürich & Schötz
Hallo zusammen

Ich besitze ein Garmin Edge 705 und davor eine Polar 725X. Mit der aktuellen Trainingssoftware von Garmin bin ich überhaupt nicht zufrieden und bei der Polar Software fehlten mir auch einige sachen.

Nun habe ich ein eigenes Trainingsprogramm Projekt gestartet, das auf Linux, Mac, Windows und später evtl. sogar auf dem Handy und PDAs läuft. Momentan arbeite ich am Framework, es gibt also noch überhaupt gar kein Frontend.

Damit ich möglichst viele Geräte unterstützen kann, benötige ich allerdings Trainingsdateien um einen Importfilter dafür zu programmieren.

Garmin TCX Dateien hab ich genügend. Jetzt suche ich noch Polar PDD mit den dazugehörigen HRM files. Der Polar Importfilter ist zwar schon fast fertig, aber ich muss ihn mit möglichst vielen Files testen.

Cool wäre auch, wenn ich Trainingsdateien von Cyclosport Sportuhren hätte, oder von anderen Hersteller. Wenn jemand bereit wäre mir solche Daten zur Verfügung zu stellen, wäre ich dankbar.

grüsse
Ivo
 
Dort fängt es ja gerade an, SportTracks ist sicher gut und recht, läuft aber nur auf Windows, da es NET 2.0 verwendet. Ich besitze aber kein Windows Rechner.

Mein Program wird mit FreePascal programmiert sein, das lässt sich überall compilieren und ist realtiv schnell (im Vergleich zu JAVA).
 
Ich glaub das würde ich dann eher Web-basiert machen - dann läuft es überall, wo es einen Webbrowser gibt. Mit AJAX kann man da ja recht viel machen. Mir persönlich wäre Pascal ne Nummer zu oldschool - zum Parsen würde ich da definitiv Perl/PHP/Python vorziehen.
Mich selbst nervts auch, dass der ganze Kram immer nur unter Windows verfügbar ist. Allerdings muss man sagen, dass das .NET-Framework an sich wirklich ne nette Sache ist. Ich geh dann halt hin und lasse die Software für diese Zwecke in einer VM laufen. Wenn ich die Zeit rechne, die mich das Programmieren so einer Software kostet.... wenn ich die arbeiten gehe, kann ich mir einige Windows kaufen. Für ideologische Hintergründe fehlt mir die Zeit - bzw. da mache ich lieber Sport.
 
Ich verwende Freepascal & Lazarus, das ist alles andere als Oldschool ;) aktueller gehts nicht mehr. JAVA stand noch zur Diskussion (hab sogar zuerst mit JAVA begonnen). Windows Software zu programmieren ist mir einfach zu blöde. Ich hab nirgends einen Windows Rechner. Eltern und Bruder benutzen ca. 1 Jahr lang nur noch Linux, ich ca. 5 Jahre lang. Und der Vorteil ist, ich bin extrem schnell im Programmieren :D und der Code ist in der Regel äusserst sauber. Liegt wahrscheinlich daran, dass ich schon mit 10 Jahren damit begonnen habe.

Ich bin jetzt jedenfalls so weit, dass ich Trainingsdateien von Garmin und Polar schon mal anzeigen kann. Die Oberfläche ist ähnlich wie bei Polar Precision Performance.

Nächster Schritt ist die Kartenanzeige. Ziel ist, dass Garmin Karten und andere angezeigt werden können (am liebsten sogar GoogleEarth mässig). Es wird dann auch möglich sein, eine Korrelation der GPS und HF Daten zum machen, so dass man wie beim Garmin Edge alle Daten (Position, Hf, etc...) zusammen ansehen kann, auch wenn sie nicht vom gleichen Gerät stammen.

Zusätzlich kommt ein Routenplaner (nach der Idee von MapSource). Dann wird der Routerplaner auch Routenmanager sein. D.h. er erlaubt die Übersicht über alle alten gefahrenen Routen. Dabei kann man z.B. ein Zielgebiet auswählen und man kriegt die Routen von diesem Gebiet und welche Trainingseinheiten man dort fuhr.

Praktisch ist das auch wenn man eine grosse Sammlung von GPS Tracks hat, die man vom Internet geladen hat. Dann kann man schnell die richtigen Tracks in einem Gebiet suchen, bzw. wenn man eine lange Tour plant verschieden Tracks zusammenfügen.

Wer noch Ideen hat, hier schreiben! *lol* es wird alles auf die Todo liste gesetzt. Sobald ich Zeit habe, werde ich auch eine Homepage machen, damit man mal die ersten Erfolge sehen kann. Das wird aber wohl bis Winter warten müssen.

grüsse
Ivo
 
Zuletzt bearbeitet:
Hallo Ivo,

da hast Du Dir ein ambitioniertes Projekt vorgenommen, alle Achtung!
Wird deine Software dann auch die Daten von den diversen Geräten holen können? Und wie willst Du Garmin-Karten - aber auch andere - z.B. unter Linux darstellen???
Soll das über eine Dualboot-Installation laufen?

LG
Ralf

p.s. Hast Du jetzt einen Powermeter für´s Training?
 
Wird deine Software dann auch die Daten von den diversen Geräten holen können? Und wie willst Du Garmin-Karten - aber auch andere - z.B. unter Linux darstellen???
Soll das über eine Dualboot-Installation laufen?

Soweit als möglich soll die Software Daten von anderen Geräten holen können (Das Problem dabei ist, dass ich momentan nichts anderes mehr als Garmin Geräte besitze).

Ich nehme die Garmin Map files, suche die inoffizielle Dokumentierung, wie sie aufgebaut sind. Programmiere das ein und rendere die Dateien. Halt wie MapSource. Dualboot ist nicht notwendig, läuft alles nativ.

grüsse
 
Gut. Aber dann muß der User Deiner Software wohl Dualboot machen - oder wie kommen sonst die Karten auf die Platte? Mac geht ja evtl. noch - aber Linux???

Gruß
Ralf
 
Naja ich persönlich finde Pascal und all deren Derivate oldschool und ist/war noch nie mein Ding. Und ich setze auch eher auf Eclipse - aber jedem Tierchen sein Plaisierchen :-) Ich würde da Zwecks Portabilität bei Java bleiben und die Sachen mit Perl parsen. Aber gut - scheinbar bist du ja schon recht weit gekommen. Bin mal gespannt erste Ergebnisse zu sehen.

Ich hab auch mal überlegt meinen Eltern Linux zu installieren, als ich damals mit FreeBSD angefangen habe. Aber irgendwie ist es mir zu anstrengend meinen Eltern ständig zu verglickern, warum das da jetzt anders aussieht und warum Programme nicht laufen :-) Naja dem BSD bin ich nach wie vor treu - wenn auch mitlerweile von Form von OSX :-) Ansonsten Linux - und da bin ich mal sehr gespannt, wie du das mit der Oberfläche halten wirst. GTK2, QT... es gibt ja so einiges...

@Downgrade: Versteh ich jetzt nicht. Du kannst mit Linux genau so einen Dualboot machen, respektive Daten austauschen.

So - weg vom Rechner und ab ins Flugzeug in den wohlverdienten Fuerteventura-Urlaub :-)
 
Absolut erste Version der Kalenderansicht. Dargestellt werden Daten, die ich aus dem Polar Profile Verzeichnis lese:
cal.jpg


@bilogist
Ich kann viele Programmiersprachen relativ gut:
Pascal, C, C++, C#, Perl, Prolog, Haskel, Eiffel, Java, x86 Assembler, Oberon, ....

Es ist halt das ewig alte unwissen, dass Pascal rückständig sein soll. Pascal ist gleich wie C/C++, aber höher als Asm, Oberon, Prolog, Haskell. Java & Eiffel sind dann wieder extreme Hochsprachen.
 
Hallo Ivo,

ich nehme das Angebot gerne an und schreib nochmal ein paar Sachen auf die ToDo-Liste:
- Import von Ciclo HAC4-Rohdaten (File hast du ja bereits)
- bequemes Generieren und Editieren von Höhenprofilen, Markieren einzelner Geländeabschnitte (mindestens: Straße, Forstweg, Schotter, Trail, Schieben, Lift)
- Auswertung der Höhenprofile: gefahrene HM+Strecke auf/ab, Pulsdaten etc - vgl. übliche Software; nachträgliches Filtern und Kalibrieren von Höhen - und Entfernungen
- die üblichen Trainingsauswertungen nach Wochen, Monaten, Jahren etc
- Integration von Google Earth wäre weltklasse, inkl. Trackverwaltung - wichtig wäre aber, dass man die Software auch OHNE GPS-Gerät sinnvoll nutzen kann

Kommt sicher noch mehr dazu, soviel mal fürs erste...

Viel Erfolg!

LG, Heiko
 
Hier mal das Konzept des Trainingstagebuches, bei weiteren Ideen bitte hier melden!

  • Das Trainingstagebuch ist eine Datenbank mit diesen Hauptknoten: Sportarten, Sportgeräte, Trainingszonen und Kalender
  • Der Kalender wiederum umfasst Perioden, Wochen und Tage
  • Der Tag enthält die Aktivitäten
  • Die Aktivität verfügt über Aufgezeichnete Daten und Runden/Intervalle

Felder der einzelnen Entitäten:

Sportgerät
  • Name
  • Typ

Zone
  • Name
  • Gültigkeitsdatum
  • Liste der Schranken mit ihren Intervallen (z.B. GA1, GA2, etc...)
Der Gültigkeitsbereich ist wichtig, weil nach einer Leistungsdiagnostik zwar immernoch die gleiche Zone gilt, aber unterschiedliche Schranken! Man kann also festlegen, dass die Zonen fürs Radfahren sich jetzt geändert haben. Das ist auch gut, wenn man die Entwicklung dieser Änderungen über längere Zeit beobachten will.

Sportart
  • Name
  • Bevorzugtes Sportgerät (optional)
  • Trainingszone (optional)

Periode (Erlaubt die Periodisierung)
  • Name
  • AnfangsDatum
  • EndDatum
  • Typ (wie Aufbauphase 1, Aufbaufphase 2, spezielle Vorbereitungsphase, ...)

Woche (Erlaubt die Zyklisierung)
  • Name
  • Notiz
  • Flags (wie Regenerationswoche, Wettkampfwoche, etc...)
  • Wochenstatistik

Tag
  • Ruhe HF
  • Gewicht
  • Schlafstunden
  • Schlafqualität
  • Allgemeines Empfinden
  • Wetter (Temperatur u. Bedingungen
  • Flags (Wettkampftag, Regenrationstag, ....)
  • Notizen
  • Tagesstatistik
  • Aktivitäten

Aktivität
  • Name
  • Erholungsstatus vor dem Start
  • Startzeit
  • Empfinden während der Aktivität
  • Qualität der Aktivität
  • Notizen
  • Statistik

Runden
  • Name
  • Zeit
  • Länge
  • Sportart
  • Sportgerät (optional - standardmässig wird das Sportgerät von der Sportart genommen)
  • Trainingszone (optional - standardmässig wird die Zone von der Sportart genommen)
  • Notiz
  • Statistik
Bei den Runden habe ich absichtlich die Möglichkeit gegeben, pro Runde/Abschnitt ein Sportgerät, etc... zu geben. Das ist wichtig in Sportarten, wo dieses gewechselt wird (Duathlon, Triathlon, etc...)

grüsse
Ivo
 
Zuletzt bearbeitet:
Von rückständig wollte ich in Bezug auf Pascal nicht sprechen. Auch wollte ich dich nicht persönlich angreifen. Ich präferiere einfach andere Konzeptionen - von daher ziehe ich meine Aussagen zurück. Ich bin gespannt, wie sich dein Projekt entwickelt. Ehrgeizig sind die Ziele auf jeden Fall.

Demnächst kommt übrigens ein Update der Polar-Software raus. Zumindest ist davon auszugehen, da die RS800CX bald erscheint. Die Uhr bietet auch die Möglichkeit verschiedene Sportformen zu koppeln - ich gehe mal davon aus, dass dies ebenfalls entsprechend dort berücksichtigt wird. Pass auf, dass du die Software nicht zu stark an Polar anlehnst - nicht das es Ärger mit Polar gibt! Zumindest das Design erinnert mich sehr stark an ProTrainer 5.
 
Von der Oberfläche her ist es nicht gleich, von den Möglichkeiten bietet das Programm sicher mehr als das von Polar.

Einfach von dein Einstellungen und Einträgen her ist es halt ähnlich, aber ich meine, wie soll ich es unterschiedlich machen? Schlussendlich besteht ein Trainingstagebuch meistens aus ähnlichen Schwerpunkten.

Bin mir gerade am überlegen, ob ich noch Punkte der Ernährung reinnehmen soll.

gruss
Ivo
 
Ich hab vor ein paar Tagen den Thread meiner Freundin gezeigt und die meinte direkt: "Das sieht aus wie bei Polar!". Gut, es war jetzt nur eine Seite, die ich bislang gesehen hab.
Was mich mal interessieren würde: wo speicherst du die Nutzdaten (nicht Einstellungen) eigentlich ab? Hast du ne kleine DB (sqlite zB) hinten dran?
 
Habe lange gerungen zwischen xml und sqlite, ich nehme jetzt sqlite. Die Datenbank ist allerdings über COM Interfaces eingebunden. d.h. man kann sie leicht durch ein anderes Plugin ersetzen.

Ich habe momentan die Interfaces in SQLite (query & update) und Polar (query only) implementiert (Garmin tcx kommt auch noch). Man kann also einfach das Polar Profil komplett readonly anzeigen lassen, ohne dass man es importieren muss.

Will man es aber verändern, dann muss man das Profil in die sqlite Datenbank importieren. Nur diese bietet sämtliche features.


Denkbar wäre natürlich auch ein MySQL Plugin, dann kann der Trainer direkt die Aktivitäten seiner Jungs planen und überwachen ;) In einer zentralen Datenbank wären dann alle Profile gespeichert. Jeder Client hat dann zugriff auf sein Profil.
 
Zuletzt bearbeitet:
Eine gute Idee, ein Trainingstagebuch selber zu basteln. Es hält einen Fit und man bekommt das, was man will und braucht.

Ich habe meins seit 12 Jahren im Einsatz und das letzte Update war der Garmin Edge 705.

Als Vorschlag: Schau mal: Kettler.net, Ansteuerung der Ergometer mit den Profilen von HAC4, Polar und Garmin. Am schönsten wär's wie bei tacx (3D).

Und dann die ganzen Anderen: Daum, Tunturi, Elite & tacx unter einem Hut bringen.

Also wenn Du etwas lachen willst, kannst Du Dir mein Dingens anschauen unter www.timofalkhoffmann.de. Wollte auch mal was machen aber bin in Sachen veröffentlichen nur bis dahin gekommen.

Gruß, Timo
 
werds mir anschauen, besten dank ;) vieleicht kann man ja synergien nutzen? ;) Ich gehe einfach später dann insofern weiter, als dass bei mir auch noch Karten und Routen ins Spiel kommen :)

grüsse
Ivo
 
Ich geb auch mal wieder meinen Senf dazu:
- eine "echte" DB im Rücken halte ich für überaus sinnvoll. MySQL? Gerne. DO IT!
- das übliche Problem bei der Softwareentwicklung: man denkt gleich an ganz viele Details, kommt aber nicht zu Potte. Anderseits müssen die Specs natürlich von Anfang an berücksichtigt werden. Hoffe du behältst den Überblick. Hilfreich: Was soll der Nutzer mit der Software hauptsächlich anfangen können? Und genau das kommt auch zuerst dran.
- und nicht vergessen: den HAC-Import... *g*

Frohes Schaffen... Heiko!

@ Timo: sieht auch ganz schön umfangreich aus! Kann es aber leider nicht unter x64 installieren.. :(
 
Zuletzt bearbeitet:
Ivo,

schönes Projekt. Was genau fehlt dir denn bei Polar? Ich denke das einzige ist wirklich Trainingsbereiche pro Sportart.
OK, die Kalenderübersicht und Zusammenfassung rechts ist nicht informativ genug und man kann nicht auf einen speziellen Entrag an einem Tag per klick drauf gehen, sondern muss erst den Tag öffnen aber das ist nur usability.
Ich spreche mich übrigens gegen eine Webnutzung aus, es werden einfach zuviele Daten schon im Netz preisgegeben.

SW
 
@Heiko
Der Hauptaufwand bestand momentan daraus, ein brauchbares Datenbankmodell zu schaffen. Ich habe da mit ER mal ein Grunddesign gezeichnet und das dann vereinfacht und festgelegt. D.h. das interne Design der Datenhaltung steht schon mal.

Es sieht jetzt so aus, dass man vorerst sqlite oder MySQL nehmen kann, wer will auch beides. D.h. alle persönlichen Trainingsdaten auf sqlite und Eventdaten auf MySQL. D.h. man kann dann eine externe Eventdatenbank abonieren, z.B. die vom Team.

Importsachen wie HAC4, Polar, iCAL (Kalenderdaten), Garmin, usw... hab ich momentan zurückgestellt. Jetzt kommt das Hauptprogramm zuerst. Das Plugininterface ist aber definiert, d.h. man kann diesen Support ohne rumgebastell nachträglich einfügen.

@Skunkworks
Es werden keine Daten übers Internet geschickt, etc. Es ist ein komplettes Standalone Tool (ausser man will es anders). Polar fand ich nie schlecht, das Programm ist recht i.O., deswegen sind die Grundzüge von meinem Programm ähnlich. Es gibt aber erhebliche Schwächen in der Bedienung und in der Portabilität.

Und wenn man kein Windows hat wie ich, dann ist man erst recht angeschissen. Ok, hab jetzt ein XP auf VirtualBox installiert. Auf meinem QuadCore AMD64 mit 8gb RAM läuft das nur unmerklich langsamer. Hab 3 LCD Screens angeschlossen mit je 1600x1200. Auf einen hab ich jetzt halt zum Testen WinXP gelegt.

grüsse
 
Zurück