Rene Bierbaumer
Backend und Website
Gnadenloses Nichts
Unser Ziel ist es, ein intelligentes Flottenmanagement zu entwickeln. Dabei sollen automatisch Daten der Autos ausgelesen und gespeichert werden. Abschließend kann man diese Daten über eine Handy-App und Website einsehen und verwalten.
Die Aufgabe dieser Diplomarbeit ist es, die OBD2-Schnittstelle eines Autos zu analysieren und festzustellen, welche Daten man über MQTT auslesen kann. Danach sollen die Daten gespeichert und auf einer Webseite und in einer Handy Applikation visualisiert werden. Über diese Applikation soll die Verwaltung mehrerer Firmenautos erleichtert, verbessert und eine Fehlerquelle eliminiert werden. Die Applikation sollte unabhängig von dem Gerät und des zugrunde liegenden Betriebssystems hauptsächlich: Linux, Mac OS, Windows, Android und IOS einwandfrei funktionieren. Das Projekt ist aufgeteilt in zwei Teile: das Frontend und das Backend. Diese zwei sollten unabhängig voneinander arbeiten und nur durch eine gemeinsame Schnittstelle verbunden sein.
Die Anwendung wurde als Full-Stack-Webapplikation realisiert. Dies ermöglicht den Nutzern, die Applikation mit jedem Endgerät zu verwenden, welches einen modernen Web-Browser unterstützt. Das Backend läuft auf einem Django Server, welcher zugleich das Frontend über einen HTTP Node.js bereitstellt.
English
Our goal is to create an intelligent fleet managment system. It is supposed to automatically gather and store crucial data from every car of the fleet. This data can be managed and accessed via a Website and Mobile app.
The task of this thesis is to analyze the OBD2 interface of a car and determine which data can be read via MQTT. After that, the data should be saved and visualized on the web and on mobile phones. With this application, the process of facilitated company cars should be improved and a source of error eliminated. This application shall run on devices independent of their operating systems such as: Linux, Mac OS, Windows, Android and IOS. The project is divided into two parts: the front-end and the back-end. These two should work independently and are connected only through a common interface.
We implemented our application as a full stack Web-Application. This enables the user to access the Application on any device that has a Web-Browser. The application is running on a Django server and the front-end is served to the user by an HTTP Node.js server.
Das Frontend und das Backend sind rein über eine REST-API verbunden. Die Daten werden aus dem Auto über die OBD2-Schnittstelle ausgelesen und über MQTT auf das backend übertragen. Dort werden sie dann in eine MySQL Datenbank gespeichert. Das Fronend erhält dann die Daten rein über eine REST API.
Unser Project basiert auf vielen etablierten Technologien in der Webentwicklung.
AutoPI Gerät um Daten auszulesen
VUE Javascript Web Framework
django Python backend Framework
Axios Websocket Library
MQTT Übertragungsprotokoll
Flutter Handyapp Framework
Auth0 Login und security Framework