Samstag, 22. Mai 2021

E-Bike wird Smart

Die Android App

Als letzten Teil dieser Reihe will ich auf die Android App eingehen.
Sie besteht aus 4 Fragments, 
Home (links), History (Mitte), Map (rechts) und Settings (hier nicht dargestellt)


Eigentlich selbsterklärend. Im Home Fragment werden alle Daten angezeigt die in der Summary.txt abgespeichert sind.  {"tick":"1","tour":"19.65 km","since":"1:05","max":"23.00", "year":"1249.19 km","total":"7319 km","lastkm":"31.37","duration":"1:37", "datelast":"20.05.2021"}

Im letzten Teil hatte ich erklärt, wie sich die Dateien mit den GPS Daten zusammensetzten
Diese sind im Verzeichnis "Tours" auf dem Handy gespeichert. Die Dateinamen setzten sich dann so zusammen, dass sie alle Informationen für den Aufbau der History Liste enthalten.
für den ersten Eintrag ist der Dateiname "2021-05-20_1112_3137_097.txt". Spontan kann ich nicht mehr erklären warum ich definiert habe, dass hier dann 097 also 97 Minuten anstatt 137 also 1Std 37Minuten stehen. Ich werde mir was bei gedacht haben. 

In der MAP Darstellung kann ich mir dann anschauen, wo ich mit dem Rad lang gefahren bin.
Je nachdem wie lange das Rad ausgeschaltet war, dauert es etwas bis die GPS Satelliten korrekt ausgewertet werden. daher ist hier eine Lücke in der Darstellung erkennbar. Vielleicht ist es auch ein Schwäche des GPS Moduls. Mir reicht die Genauigkeit aus.

In der Ansicht der Settings ist nicht viel zu sehen daher auch kein Screenshot. Hier kann man die Anzahl der Kilometer eintragen die man ab Jahresanfang gefahren ist. i.d.R. mache ich dass so, dass ich die Anzahl der Jahreskilometer am 01. Januar auf 0 stelle. Damit diese zum E-Bike übertragen wird, ist eine Bluetooth Verbindung zum E-Bike notwendig. Hinter dem Admin Button verbirgt sich die Funktion die den ESP Controller im E-Bike in den OTA Modus versetzt. Hierzu ist das E-Bike in den SSID Bereich des im OTA Script hinterlegten Netzwerkes zu positionieren. Auch diese Funktion ist nur  mit Bluetooth Verbindung zum E-Bike verfügbar

Nun bin ich nicht der Android Programmier Spezialist und habe mir viel Techniken erst selber aneignen müssen. Das Arbeiten mit Fragments, die Darstellung der Listen funktioniert komplett anders als z.B. mit jQuery Mobile. Das Herstellen einer Bluetooth Verbindung zum Android mit entsprechender Datenübertragung war eine größerern Herausforderungen. Aber dennoch, ich habe das Projekt mit viel Geduld umsetzen können und habe noch vor einiges zu verändern.

Ich habe die App mit Android Studio 4.12 auf einem Linux System erstellt. Sollte sich jemand den Code herunterladen und die App installieren wollen, so muss man die Pfade auf dem Handy manuell anlegen, und die Summary.txt in den Pfad kopieren. Darüber hinaus braucht die App die Berechtigung für Bluetooth und SD Schreibberechtigung. Ich habe bewusst nicht eine kompilierte Version hochgeladen.
Es gibt sicherlich genügende Spezis die es besser / anders machen würden, aber diese APP funktioniert auf meinem Handy sehr zuverlässig. Für jeden Ratschlag bin ich dankbar, Kritik gerne, aber dann sollte auch gleich ein konstruktiver Teil dabei sein.

Was ist als nächstes geplant? Da ich nicht immer mein Handy dabei habe, will ich umsetzen, dass sich die Mein Home Webserver die Dateien vom E-Bike holt. Also wenn es zu Hause angekommen ist, wird über ein Raspberry eine BT Verbindung zum E-Bike hergestellt, der dann alle neu GPS Dateien und die Summary.txt dann auf den Server kopiert. Rufe ich zu Hause dann die E-Bike App auf, holt sich die APP die Dateien vom Server.

Wenn Du Fragen zum Quellcode der App hast, dann kannst Du mir gerne eine Mail schreiben.

Viel Spaß beim Nachbauen / Programmieren.

Keine Kommentare:

Kommentar veröffentlichen