{"id":864,"date":"2018-11-21T12:33:42","date_gmt":"2018-11-21T11:33:42","guid":{"rendered":"https:\/\/rohdewald.de\/?page_id=864"},"modified":"2021-07-16T19:32:41","modified_gmt":"2021-07-16T17:32:41","slug":"gps-forwarder","status":"publish","type":"page","link":"https:\/\/rohdewald.de\/?page_id=864","title":{"rendered":"GPS Forwarder deutsch"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/rohdewald.de\/?page_id=872\">English<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Problem<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr das Lifetracking bei den Brevets habe ich in den letzten Jahren die Lifetracking-Funktion von Oruxmaps verwendet: <a href=\"https:\/\/www.oruxmaps.com\/cs\/en\">Oruxmaps<\/a> hat die Daten direkt an meine Homepage geschickt, wo sie von einer Zusatzsoftware (WordPress-Plugin <a href=\"https:\/\/www.grendelman.net\/wp\/trackserver-wordpress-plugin\/\">Trackserver<\/a>) empfangen und angezeigt werden. Leider hat sich das als nicht sehr zuverl\u00e4ssig herausgestellt, was wohl vor allem an der Handy-Seite liegt:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Gerade bei l\u00e4ngeren Funkl\u00f6chern kam es zu oft vor, dass das Tracking nie wieder startete.<\/li><li>Bei langen Strecken sprang die GPS-Zeit um 24 Stunden in die Vergangenheit. Ob das ein Fehler von Oruxmaps oder von Android ist, wei\u00df ich noch nicht &#8211; es passiert jedenfalls auch, wenn ich das in einer Emulation mache. Es kann also nicht an Hardware oder Firmware liegen.<\/li><li>Nach Funkl\u00f6chern schickt Oruxmaps nur etwa 50 Positionen f\u00fcr die gesamte noch un\u00fcbertragene Strecke (die dadurch ungenau werden kann)<\/li><li>Manchmal schickt Oruxmaps die Meldungen in der falschen Reihenfolge. Es kommt z.B. oft vor, dass die letzte Positionsmeldung erst nach Beenden vom Lifetracking geschickt wird. Siehe <a href=\"https:\/\/www.oruxmaps.com\/foro\/viewtopic.php?f=5&amp;t=5244&amp;p=14356&amp;hilit=Life#p14356\">Oruxmaps-Forum<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">L\u00f6sung<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Darum habe ich nun selber eine Android-App geschrieben, die auf dem Handy diese Funktion \u00fcbernimmt. Sie kann die Positionen selber bestimmen, muss sie aber nicht unbedingt: Wenn irgendeine andere App eine GPS-Position bestimmt, erf\u00e4hrt GPS Forwarder das und schickt sie weiter zum Server (zum Beispiel Trackserver). Beides gleichzeitig geht aber nicht &#8211; entweder bestimmt GPS Forwarder die Positionen selber, oder es ist im Mith\u00f6rmodus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GPS Forwarder zeigt dabei Logmeldungen, die sehr genau \nzeigen, woran es liegen k\u00f6nnte, wenn es nicht funktioniert &#8211; und daf\u00fcr \ngibt es viele Gr\u00fcnde! Es wird immer schwieriger, eine Android-App so zu \nschreiben, dass sie auch im Hintergrund vern\u00fcnftig funktioniert &#8211; Google\n zieht beim Stromsparen immer mehr die Daumenschrauben an.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GPS Forwarder verwendet dabei das <a href=\"https:\/\/github.com\/MapMyTracks\/api\">von MapMyTracks definierte \u00dcbertragungsprotokoll<\/a> mit einer kleinen Erweiterung, damit es auch bei einem Problem auf dem Server zu keinen Unterbrechungen kommt &#8211; man kann sogar den Server neu starten, es wird abgesehen von der Zeitunterbrechung nachtr\u00e4glich alles korrekt \u00fcbertragen, es werden nie Daten verloren gehen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installation<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Voraussetzung ist Android 6.0 &#8222;Marshmallow&#8220; oder h\u00f6her.<br><\/li><li><a href=\"https:\/\/rohdewald.de\/wp-content\/uploads\/gpsforwarder.apk\">Hier<\/a> kann das APK heruntergeladen werden. Ich m\u00f6chte das in Zukunft gerne mit F-Droid installierbar machen.<\/li><li>Im GPS Forwarder folgende Einstellungen vornehmen:<ol><li><strong>Url<\/strong>: Die Adresse vom Server. Wenn sie mit https:\/\/ beginnt, wird die \u00dcbertragung verschl\u00fcsselt. Wenn man einen besonderen Port verwenden will, gibt man ihn nach einem Doppelpunkt an, z.B. <strong>https:\/meinehomepage.de:3456<\/strong><\/li><li><strong>Benutzername<\/strong> auf dem Server<\/li><li>das dazugeh\u00f6rige <strong>Passwort<\/strong><\/li><li>Alle weiteren m\u00f6glichen Einstellungen k\u00f6nnen sp\u00e4ter vorgenommen werden, die vorgegebenen Werte sollten schon ganz gut passen.<br><\/li><\/ol><\/li><\/ul>\n\n\n\n<h2>Benutzung<\/h2>\n<p>Das Programm soll ja m\u00f6glichst keinen Strom verbrauchen. Wenn auf dem Handy schon eine andere App l\u00e4uft, die Positionen bestimmt, ist der zus\u00e4tzliche Stromverbrauch minimal &#8211; meine h\u00f6rt dann einfach mit, statt selber die Position zu bestimmen. Ansonsten m\u00fcsste man das auf dem jeweiligen Handy testen. L\u00e4sst sich aber auch weitgehend konfigurieren, z.B. Positionsbestimmung nur alle 5 Minuten und Senden zum Server nur alle 30 Minuten. Bei mir sind das zwei Sekunden respektive 10 Sekunden.<\/p>\n<p>Wenn man mit dem Smartphone auch navigiert, wird der Verbrauch durch das Display so viel gr\u00f6\u00dfer sein, dass der von GPS Forwarder gar nicht bemerkbar ist.<\/p>\n<p>Auf Wunsch kann ich auch f\u00fcr andere (nur mir pers\u00f6nlich Bekannte) einen Lifetracker auf dieser Basis einrichten &#8211; das w\u00e4re dann auf meiner Homepage eine eigene Seite, auf Wunsch passwortgesch\u00fctzt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Integration in eine beliebige WordPress-Homepage<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dazu kann man diesen WordPress-Plugin installieren: <a href=\"https:\/\/wordpress.org\/plugins\/trackserver\/\" data-type=\"URL\" data-id=\"https:\/\/wordpress.org\/plugins\/trackserver\/\">https:\/\/wordpress.org\/plugins\/trackserver\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um einen zuverl\u00e4ssigen Betrieb zu bekommen, muss aber meine eigene Server-Software zwischengeschaltet werden. Die kann, wenn man mit einer Shell umgehen kann, auf demselben Rechner laufen wie die WordPress-Homepage. Eine entsprechende Installationsanleitung m\u00fcsste ich noch schreiben. Alternativ kann ich diese Server-Software auch auf meinem Rechner f\u00fcr andere einrichten &#8211; die Daten flie\u00dfen dann vom Handy auf meinen Server, der sie an die richtige WordPress-Homepage weiterleitet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Support<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn Sie einen Fehler finden oder einen Verbesserungswunsch haben, tragen Sie das bitte&nbsp; <a href=\"https:\/\/gitlab.com\/wrohdewald\/gpsforwarder\/issues\">hier<\/a> ein. <br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Entwicklung<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">GPS Forwarder steht unter der Open-Source-Lizenz <a href=\"https:\/\/www.apache.org\/licenses\/LICENSE-2.0.html\">Apache 2.0<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Quelltext ist auf <a href=\"https:\/\/gitlab.com\/wrohdewald\/gpsforwarder\/\">gitlab<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Server-Software<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Normalerweise wird das z.B. der erw\u00e4hnte WordPress-Plugin &#8222;Trackserver&#8220; oder <a href=\"https:\/\/www.mapmytracks.com\/\">mapmytracks.com<\/a>  sein. Ich habe aber auch hier selber etwas programmiert: <a href=\"https:\/\/rohdewald.de\/?page_id=245\">Gpxity<\/a>. Das enth\u00e4lt auch ein Serverprogramm. Untenstehendes Beispiel empf\u00e4ngt die Daten und leitet sie an zwei Ziele weiter: Ein lokales Verzeichnis \/var\/lib\/gpxity_server und die Datenbank vom WordPress-Plugin &#8222;Trackserver&#8220;. In einer separaten Datei stehen die Zugangsdaten und anzuwendende Fences (Positionen in definierten Bereichen werden nicht an das jeweilige Ziel weitergegeben). Es k\u00f6nnen beliebig viele verschiedene Ziele definiert werden, z.B. auch Mailen des gesamten Tracks alle X Minuten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Damit muss das Handy die Daten nur einmal versenden, auch wenn man sie automatisch an mehrere Ziele schicken muss &#8211; die Weiterverteilung macht Gpxity.<br><\/p>\n\n\n\n<pre>gpxity_server --certfile=\/var\/lib\/gpxity_server\/cert.pem --keyfile=\/var\/lib\/gpxity_server\/key.pem --timeout=5 --servername rohdewald.de --loglevel debug \/var\/lib\/gpxity_server wptrackserver:wolfgang<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>English Problem F\u00fcr das Lifetracking bei den Brevets habe ich in den letzten Jahren die Lifetracking-Funktion von Oruxmaps verwendet: Oruxmaps hat die Daten direkt an meine Homepage geschickt, wo sie von einer Zusatzsoftware (WordPress-Plugin Trackserver) empfangen und angezeigt werden. Leider hat sich das als nicht sehr zuverl\u00e4ssig herausgestellt, was wohl vor allem an der Handy-Seite &hellip; <a href=\"https:\/\/rohdewald.de\/?page_id=864\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eGPS Forwarder deutsch\u201c<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":3,"featured_media":857,"parent":164,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","footnotes":""},"class_list":["post-864","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/rohdewald.de\/index.php?rest_route=\/wp\/v2\/pages\/864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rohdewald.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rohdewald.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rohdewald.de\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/rohdewald.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=864"}],"version-history":[{"count":18,"href":"https:\/\/rohdewald.de\/index.php?rest_route=\/wp\/v2\/pages\/864\/revisions"}],"predecessor-version":[{"id":1353,"href":"https:\/\/rohdewald.de\/index.php?rest_route=\/wp\/v2\/pages\/864\/revisions\/1353"}],"up":[{"embeddable":true,"href":"https:\/\/rohdewald.de\/index.php?rest_route=\/wp\/v2\/pages\/164"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rohdewald.de\/index.php?rest_route=\/wp\/v2\/media\/857"}],"wp:attachment":[{"href":"https:\/\/rohdewald.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}