Posts: 2
Threads: 1
Joined: Jan 2020
Hallo!
da BMW ja leider das Portal zum erstellen von Routenfiles für BMW Navis abgeschaltet hat (bmw-routes.com), wäre es möglich, das Format in den Converter aufzunehmen?
Falls notwendig, kann ich gerne ein paar Files zur Verfügung stellen um das korrekte Format zu bekommen.
Vielen Dank schon mal!
Posts: 7,465
Threads: 223
Joined: Aug 2007
Hallo lanc0r,
ich hatte schon einige Anfragen zu Formaten von BMW. Bitte schick mir mal Beispiele per email.
Eine Spezifikation des Formats gibt es nicht, oder?
--
Christian
Posts: 7
Threads: 0
Joined: Jan 2020
11.01.2020, 18:31
(This post was last modified: 11.01.2020, 18:31 by Organized.)
Hi,
soll keine Werbung sein, eher ein Angebot: Ich bin aktuell dabei einen Konverter von GPX zu diesem BMW Format zu schreiben. Ist unter der MIT Lizenz veröffentlicht, darf also gerne von euch benutzt werden: https://github.com/Organized92/route2bimmer
Aktueller Entwicklungsstand ist, dass die XML-Datei für den BMW fertig generiert wird. Sie muss nur noch in die passende Ordnerstruktur in einer ZIP- und TAR-Datei verpackt werden (+ eine zusätzliche Datei). Wird vermutlich soweit sein, dass man das Ergebnis mal ausprobieren könnte
Christian, falls Interesse besteht, schreib mir gern eine PN.
Gruß,
Andy
Posts: 2
Threads: 1
Joined: Jan 2020
Hi Christian,
Vielen Dank erstmal für die schnelle Antwort ! *cool*
Eine spec des Formats gibt es leider meines Wissens nach nicht, aber Andy hat ja schon gut "vorgearbeitet"
Link zu den Demo-Files schick ich dir via PN.
VG
Flo
Posts: 7,465
Threads: 223
Joined: Aug 2007
(11.01.2020, 18:31)Organized Wrote: soll keine Werbung sein, eher ein Angebot: Ich bin aktuell dabei einen Konverter von GPX zu diesem BMW Format zu schreiben. Ist unter der MIT Lizenz veröffentlicht, darf also gerne von euch benutzt werden: https://github.com/Organized92/route2bimmer
Hallo Andy,
vielen Dank für den Hinweis auf den BMW-Converter.
Die MIT-Lizenz ist gut, da sollte es keine Probleme geben.
Und go-Binaries lassen sich ja für Windows, Linux und macOS bauen.
Bei der Einbettung Deines route2bimmer ist es für mich praktischer, wenn keine temporären Dateien geschrieben werden. Also wenn Dein Programm von stdin lesen und nach stdout schreiben kann. Dann könnte ich versuchen, den Integrationscode für GPSBabel weiterverwenden.
Hast Du das vor?
(11.01.2020, 18:31)Organized Wrote: Aktueller Entwicklungsstand ist, dass die XML-Datei für den BMW fertig generiert wird. Sie muss nur noch in die passende Ordnerstruktur in einer ZIP- und TAR-Datei verpackt werden (+ eine zusätzliche Datei). Wird vermutlich soweit sein, dass man das Ergebnis mal ausprobieren könnte 
Planst Du auch die tar/zip-Matroschka zu implementieren? Und auch das Schreiben?
(11.01.2020, 18:31)Organized Wrote: Christian, falls Interesse besteht, schreib mir gern eine PN.
Spricht etwas dagegen, die Diskussion hier im Forum zu führen?
--
Christian
Posts: 7,465
Threads: 223
Joined: Aug 2007
(11.01.2020, 20:35)lanc0r Wrote: Link zu den Demo-Files schick ich dir via PN.
Hallo Flo,
die Dateien sind angekommen. Diese Archiv-Matroschka kommt mir bekannt vor.
Ist es richtig, dass aus dem ZIP ABC.zip die Dateistruktur
BMWData/Nav/ABC.tar.gz
BMWData/Navigation/Routes/ABC.tar.gz
auf die USB-Karte kopiert werden muß?
Und beide Tarballs enthalten jeweils dieselben Dateinamen? Wobei 3339020 einfach irgendeine Zahl ist?
3339020.xml
routepicture_3339020.jpg
Beide XML-Dateien sind größtenteils identisch. Die Datei unter Routes... enthält noch ein paar mehr Elemente
Quote: <Length Unit="km">21.897572919927057</Length>
<Duration Unit="h">0.4625</Duration>
<CostModel>2</CostModel>
<Criteria>0</Criteria>
<AgoraCString>AYc2A[..]TEUgUEE=</AgoraCString>
Seltsam. Ist das eine die geplante Route und das andere die tatsächlich absolvierten Wegpunkte davon?
--
Christian
Posts: 7
Threads: 0
Joined: Jan 2020
12.01.2020, 10:47
(This post was last modified: 12.01.2020, 11:05 by Organized.)
Hallo Christian
(11.01.2020, 22:15)routeconverter Wrote: Bei der Einbettung Deines route2bimmer ist es für mich praktischer, wenn keine temporären Dateien geschrieben werden. Also wenn Dein Programm von stdin lesen und nach stdout schreiben kann. Dann könnte ich versuchen, den Integrationscode für GPSBabel weiterverwenden.
Hast Du das vor? Das hatte ich so jetzt nicht vor (das Programm sollte eigentlich eine Datei von der Festplatte lesen und auf die Festplatte schreiben), aber das lässt sich natürlich noch mit implementieren. Ich würde einfach beide Möglichkeiten anbieten - lässt sich dann über ein Argument beim Aufruf steuern.
(11.01.2020, 22:15)routeconverter Wrote: Planst Du auch die tar/zip-Matroschka zu implementieren? Und auch das Schreiben? Genau, die Datei die dabei herauskommt, soll identisch zu der von der bmw-routes.com sein, also die .tar in der passenden Ordnerstruktur in einer .zip-Datei. Die .zip-Datei muss dann vom Benutzer auf einen USB-Stick extrahiert werden. Das ist denke ich das einfachste, damit die Ordnerstruktur direkt passt und der User nicht umständlich die Ordner selbst erstellen muss
(11.01.2020, 22:15)routeconverter Wrote: Spricht etwas dagegen, die Diskussion hier im Forum zu führen? Nein, da spricht nichts gegen
(11.01.2020, 22:28)routeconverter Wrote: Wobei 3339020 einfach irgendeine Zahl ist?
3339020.xml
routepicture_3339020.jpg Ich bin mir ziemlich sicher, dass dies tatsächlich einfach nur eine fortlaufen nummerierte ID ist. Sie wird höchstwahrscheinlich als Identifier für die Route verwendet, weshalb sie nicht mehrfach verwendet werden darf. Ich habe hier aktuell vor eine 7-stellige Zufallszahl zu generieren, was besseres bleibt mir lokal nicht übrig, zumindest ist mir noch nichts besseres eingefallen
(11.01.2020, 22:15)routeconverter Wrote: Beide XML-Dateien sind größtenteils identisch. Die Datei unter Routes... enthält noch ein paar mehr Elemente
Quote: <Length Unit="km">21.897572919927057</Length>
<Duration Unit="h">0.4625</Duration>
<CostModel>2</CostModel>
<Criteria>0</Criteria>
<AgoraCString>AYc2A[..]TEUgUEE=</AgoraCString>
Seltsam. Ist das eine die geplante Route und das andere die tatsächlich absolvierten Wegpunkte davon? Diese Routen-Funktion gibt es seit dem BMW CIC (Nachfolger vom Navigationssystem CCC). Inzwischen gibt es schon das BMW NBT und das NBT Evo, sowie in den ganz neuen Modellen wieder eine neue Generation (dessen Name ich nicht kenne).
Ich vermute stark, dass die Route 2 mal aus Gründen der Kompatibilität abgelegt wird. Soweit ich das bisher erkennen konnte folgen beide XMLs dem gleichen Schema, werden aber etwas anders befüllt (z.B. die Waypoint-IDs). Der AgoraCString wird nur bei dem im Ordner "Navigation/Routes" gefüllt, da konnte ich leider noch nicht interpretieren was das sein soll, außer dass es höchstwahrscheinlich irgendwas Base64-enkodiertes ist.
Die XML in "Nav" beinhaltet nur eine Route, die mehrere Waypoints mit der Wichtigkeit "always" haben kann. In "Navigation/Routes" endet eine Route immer mit "always" kann dazwischen aber nur "optional"s haben. Dieses Verhalten ist für meinen Konverter eher irrelevant, da ich erstmal keine "always"-Punkte innerhalb der Route vorgesehen habe (diese Information gibt eine GPX nicht her).
Gruß
Andy
Posts: 941
Threads: 55
Joined: Jan 2011
Posts: 7
Threads: 0
Joined: Jan 2020
12.01.2020, 12:58
(This post was last modified: 12.01.2020, 13:40 by Organized.)
Danke für den Tipp, Hans, das kannte ich noch nicht. Leider ist keine Lizenz angegeben, weshalb ich an route2bimmer dennoch weiterarbeiten werde. Nichts desto trotz hilft das natürlich sehr, um das BMW-Format besser zu verstehen. Soweit ich das im Code sehe wird hier der AgoraCString aber auch nicht gefüllt - vielleicht kommt das Navi auch ohne diese Information klar.
EDIT: route2bimmer ist nun soweit, dass eine ZIP-Datei erstellt wird. Aktuell aber noch nicht über stdin und stdout. Die erstellte Datei muss nun getestet werden, ob der BMW sie auch frisst  Das übernimmt ein Bekannter im laufe des Tages.
Posts: 7
Threads: 0
Joined: Jan 2020
13.01.2020, 17:22
(This post was last modified: 13.01.2020, 17:32 by Organized.)
Hallo zusammen,
kurzes Update, inzwischen ist eine im NBT Evo funktionierende Route dabei rausgekommen. Der "AgoraCString" wird hier anscheinend nicht benötigt, wie es mit anderen Generationen der Navis aussieht weiß ich aktuell noch nicht.
Christian, soll ich dir ein (Windows) Binary zukommen lassen, oder möchtest du selbst kompilieren? Weißt du schon, wann du dazu kommst route2bimmer einzubauen (zumindest probehalber)? Davon würde ich abhängig machen, ob ich vorher schonmal ein Release rausgebe, oder noch auf dein Feedback warte.
Achso noch ein Hinweis: Ich habe noch nicht geprüft, ob der Konverter auch unter Linux oder OSX lauffähig ist. Linux kann ich selbst kompilieren, einen Mac habe ich nicht zur Hand
Gruß, Andy
|