Für die Ansicht der Fahrten, der Administration der Fahrzeuge und Nutzer sowie der Erstellung der Fahrtenbücher wird eine Web-Oberfläche auf einem externen Server genutzt.

 

Per REST-Schnittstelle soll der RaspberryPi im Auto die aufgezeichneten Daten an eine Datenbank senden. Der Webserver greift auf diese in Statusbereicht 1 beschriebene zu.

 

Die Web-Oberfläche ist über https://track.mrzo.de erreichbar.

 

Die Web-Oberfläche bietet fünf Navigationspunkte:

  • Home
  • Historie
  • Fahrtenbuch
  • Fahrzeuge
  • Nutzer

Die Seite nutzt das Bootstrap-Framework. Damit ist es verhältnismäßig einfach, eine saubere und konsistente Oberfläche zu gestalten. Die gespeicherten Fahrten werden mithilfe der Google-Maps-Api dargestelt.

Die Wegpunkte werden so auf die Straßen gelegt und die kürzeste Route zwischen diesen ermittelt. Ebenso berechnet die Google-Maps-Api die gefahrene Strecke und die dafür verwendete Zeit. In der Datenbank ist eine Fahrt in json-Format gespeichert. Diese kann die Google-Maps-Api direkt interpretieren und darstellen:

{

„origin“:{„location“:{„lat“:49.0544412,“lng“:7.433808999999997}},

„destination“:{„location“:{„lat“:49.115484,“lng“:7.550617999999986}},

„avoidTolls“:false,

„avoidHighways“:false,

„waypoints“:[

{„location“:{„location“:{„lat“:49.0974009,“lng“:7.477826600000071}},

„stopover“:false}

],

„travelMode“:“DRIVING“

}

Für das dynamische Laden der Daten wird AJAX verwendet. Mithilfe des JS-Frameworks jQuery ist dies einfach möglich (https://api.jquery.com/jquery.get/). Somit können Ladezeiten minimiert werden, da erst beim Aufklappen der Kartenansicht die Datenbankabfrage gestartet wird. Bei statischen Abfragen, z.B. die Anzeige der Fahrzeuge, wird die mySql-Verbindung direkt mittels PHP hergestellt.

 

Fahrtenbuch (4): Web-Oberfläche