Willkommen

Herzlich willkommen auf unserer Projektseite!
Auf dieser Homepage erhalten Sie Informationen rund um das Projekt ThirdEye.

Kurzbeschreibung

Deutsch Das Ziel unseres Projekts ist es, eine einfach zu bedienende Automatisierungslösung zu entwickeln. Gesteuerte Geräte sollen sich mit einem zentralen Server verbinden, der die Konfiguration verwaltet und das Zusammenspiel mehrerer Geräte koordiniert. Zur Konfiguration des Systems dient ein Webinterface, in dem verschiedene Regeln definiert werden. Dadurch ergibt sich der Vorteil, dass der Nutzer keine spezielle Software braucht - ein Webbrowser genügt. Die Regeln geben an, wie der Server auf Änderungen der Inputs durch Geräte reagiert und die Outputs entsprechend setzen soll.

Zusätzlich müssen natürlich Geräte erstellt werden, die dann gesteuert werden können. Der ESP8266 ist die Basis für unsere Client-Geräte, ein Raspberry Pi hostet den Server.

Unser Projekt wird bearbeitet und erstellt an der HTL Mössingerstraße

English The aim of this project is to create a simple and easy-to-use automation system. The individual client devices connect to a central server that keeps track of the configuration and manages multi-device processes. The system is configured via a web interface, eliminating the need for any specialised software on the user's part. Using any web browser, the user can configure rules, defining how the system (and its outputs) should react to input changes.

Of course, the entire system would be useless without devices to control. For this purpose, we have created client devices based on the ESP8266. The server is hosted on a Raspberry Pi and only Wi-Fi is needed for all the connections.

Details

Struktur

Wie bereits in der Kurzbeschreibung erwähnt, verbinden sich die einzelnen gesteuerten Geräte mit einem zentralen Server.

Dieser besteht hierbei eigentlich aus mehreren Server-Diensten: Die Kommunikation mit den Clients erfolgt über MQTT, weshalb der Server einen MQTT-Broker bereitstellt. Zum Speichern der Konfiguration dient eine PostgreSQL-Datenbank und ein Application-Server hostet die erstellte Java-Anwendung.

Auf Seite der Clients wird ein MQTT-Client benötigt, der Teil der erstellten Firmware ist.

Die Firmware dient dazu, Befehle des Servers anzunehmen, um zum Beispiel Output-Änderungen zu ermöglichen. Außerdem werden Änderungen der Inputs an den Server gesendet, damit dieser sie verarbeiten kann.

Webinterface

Die Website zur Konfiguration und Überwachung des Systems basiert auf Angular, das Backend auf Java.

Angular ist ein Framework zur Erstellung von Single Page Applications (SPAs). SPAs haben den Vorteil, dass die Website nicht am Server aufgebaut und dann ausgeliefert wird, sondern JavaScript im Webbrowser den dynamischen Content einbettet.

Die Seite muss dadurch beim Klicken auf einen Link nicht neu geladen werden, wodurch das Erlebnis für den Benutzer flüssiger wirkt.

Dream Team

Philip Picej

Erstellung der HW, Anbindung an den Server

Michael Walkam

Erstellung der Website und des Backends

Prof. Dipl.-Ing. Norbert Hörandner

Betreuer