GT ideas: Difference between revisions
No edit summary |
No edit summary |
||
Line 32: | Line 32: | ||
Ansprechpartner: Jens-Peter Redlich |
Ansprechpartner: Jens-Peter Redlich |
||
== BA oder MA (Heimautomatisierung) Automatisierte Erstellung (und Ausführung) von "Plänen" in der Heimautomatisierung == |
== BA oder MA (Heimautomatisierung) Automatisierte Erstellung (und Ausführung) von "Plänen" in der Heimautomatisierung == |
||
Line 44: | Line 45: | ||
Ansprechpartner: Jens-Peter Redlich |
Ansprechpartner: Jens-Peter Redlich |
||
== MA (Heimautomatisierung) Integration von KNX und OpenHAP (1) == |
== MA (Heimautomatisierung) Integration von KNX und OpenHAP (1) == |
||
Line 56: | Line 58: | ||
Ansprechpartner: Jens-Peter Redlich |
Ansprechpartner: Jens-Peter Redlich |
||
== MA (Heimautomatisierung) Integration von KNX und OpenHAP (2) == |
== MA (Heimautomatisierung) Integration von KNX und OpenHAP (2) == |
||
Line 88: | Line 91: | ||
Ansprechpartner: [https://sar.informatik.hu-berlin.de/people/wolf_mueller.htm Wolf Müller] |
Ansprechpartner: [https://sar.informatik.hu-berlin.de/people/wolf_mueller.htm Wolf Müller] |
||
== MA (IT-Security) KNXD und KNX-IP-Secure == |
== MA (IT-Security) KNXD und KNX-IP-Secure == |
||
Line 102: | Line 106: | ||
Ansprechpartner: [https://sar.informatik.hu-berlin.de/people/wolf_mueller.htm Wolf Müller] |
Ansprechpartner: [https://sar.informatik.hu-berlin.de/people/wolf_mueller.htm Wolf Müller] |
||
== MA (Modellbasierte Softwareentwicklung) Prozessbasierte, diskrete Simulation in Rust == |
== MA (Modellbasierte Softwareentwicklung) Prozessbasierte, diskrete Simulation in Rust == |
||
Line 113: | Line 118: | ||
Ansprechpartner: Dorian Weber |
Ansprechpartner: Dorian Weber |
||
== MA (Modellbasierte Softwareentwicklung) Programmierung von eingebetteten Geräten == |
== MA (Modellbasierte Softwareentwicklung) Programmierung von eingebetteten Geräten == |
Revision as of 11:20, 1 October 2019
BA (Heimautomatisierung) Anspruchsvolles Binding für OpenHAB implementieren
Ziel der Arbeit ist es, ein "anspruchsvolles" Bindung für OpenHAB zu implementieren. Vorschlag: Überarbeitung (Neuimplementierung) des Robonect-Bindings, so dass
- die volle Funktionalität von Robonect in OpenHAB verfügbar wird
- die Push-Funktionalität von Robonect genutzt wird (so dass Geräte/Netzwerk nicht durch ständiges Polling belastet werden)
- die Zugangsdaten für Robonect sicher(er) in der Konfiguration gespeichert werden
Voraussetzungen
- Programmierung in Java (fortgeschritten)
- Einarbeitung in OpenHAB
- Einarbeitung in Robonect
- Einarbeitung in MQTT, HTTP/Rest-API
Es wäre wünschenswert, wenn das Ergebnis der OpenHAB-Community als Open Source zur Verfügung gestellt werden könnte.
Ansprechpartner: Jens-Peter Redlich
BA (Heimautomatisierung) Anwesenheitssimulation in OpenHAB
Ziel ist es, die Events in einem OpenHab Heimautomatisierungssytem über einen längeren Zeitraum aufzuzeichnen und mit deren Hilfe eine Anwesenheitssimulation zu ermöglichen. Eine Anwesenheitssimmulation wird aktiv, wenn niemand im Objekt (Haus, Wohnung) anwesend ist. Sie soll nach außen sichtbare Ereignisse selbsttätig auslösen, so dass der sich einem externen Beobachter ergebende Eindruck sich nicht von dem unterscheidet, den er haben könnte, wenn jemand anwesend wäre. Um einen guten Eindruck bekommen, was im Wohnbjekt normalerweise passiert, können Events des OpenHab aufgezeichnet werden. Die Anwesenheitssimmulation ist jedoch sinnvoll anzupassen,
- z.B. an den Sonnenauf/untergang. So sollen Lampen erst dann ein/ausgeschaltet werden, wenn es entsprechend der tatsächlichen Tageslänge angebracht wäre
- z.B. an die Lichtintensität. So sollen Lampen abhängig von der Frage geschaltet werden, ob es draußen gerade hell/bewölkt ist
- z.B. an das Wetter. So sollen Jalousien nur dann heruntergefahren werden, wenn (a) keine Sturmgefahr besteht und (b) die Sonne scheint und eine Überhitzung der Zimmer zu befürchten wäre.
Voraussetzungen
- Grundlegendes Verständnis von KNX
- Programmierung in Java (fortgeschritten)
- Einarbeitung in OpenHAB
Ansprechpartner: Jens-Peter Redlich
BA oder MA (Heimautomatisierung) Automatisierte Erstellung (und Ausführung) von "Plänen" in der Heimautomatisierung
- Erfassung von aktuellen Umgebungsparametern und von Prognosen für selbige, z.B. Umgebungstemperatur, Niederschlag, Wind, Wasserbedarf von Pflanzen (abschätzbar aus Temperatur und Wind), Wuchsgeschwindigkeit von z.B. Rasen (abschätzbar aus Temperatur und Niederschlag).
- Erfassung von Zielgrößen des Nutzers, z.B. gewünschte Zimmertemperatur (zu bestimmten Zeiträumen), gewünschtes Lüftungsvolumen
- Erstellen (und Aktualisieren) von Plänen, um die Zielgrößen zu erreichen
Voraussetzungen
- Programmierung in Java (fortgeschritten)
- Einarbeitung in OpenHAB
Ansprechpartner: Jens-Peter Redlich
MA (Heimautomatisierung) Integration von KNX und OpenHAP (1)
Integration von KNX-Systemen in OpenHAB, indem eine KNX-Beschreibung in eine (möglichst) äquivalente OpenHAB-Beschreibung überstetzt wird. Gesucht wird ein Werkzeug, mit diem diese Übersetzung beschrieben werden kann.
Voraussetzungen
- Einarbeitung in KNX (fortgeschritten)
- Programmierung in Java (fortgeschritten)
- Einarbeitung in OpenHAB (fortgeschritten)
Ansprechpartner: Jens-Peter Redlich
MA (Heimautomatisierung) Integration von KNX und OpenHAP (2)
Integration von KNX-Systemen in OpenHAB, indem eine OpebnHAB-Systembeschreibung in eine (von ETS5 importierbare) KNX-Projektdatei überstezt wird. Im Ergebnis erscheinen die in OpenHAB (in Java) implmentierten Objekte im KNX-System wie KNX-Geräte und können über die ETS5 parametriert werden.
Voraussetzungen
- Einarbeitung in KNX (fortgeschritten)
- Programmierung in Java (fortgeschritten)
- Einarbeitung in OpenHAB (fortgeschritten)
Ansprechpartner: Jens-Peter Redlich
MA (IT-Security) JavaCard als Sicherer Schlüsselspeicher
Es soll ein SmartCard-basierter Schlüsselspeicher für eine große Anzahl AES-Schlüssel erschaffen werden, der einen sicheren Schlüsselimport, eine sichere externe Schlüsselspeicherung (key wrapping) und eine Benutzung bereits geladener oder wieder importierter gewrappter Schlüssel für Berechnung von AES-CCM und AES-CMAC ermöglicht, wenn diese Funktion durch eine Authentisierung freigeschaltet wurde. Eimal im Klartext importierte Schlüssel sonnen die SmartCard nie wieder im Klartext verlassen. Ziel ist eine Sichere Schlüsselspeicherung für KNX-Data-Secure. Optional kann die Funktionalität auch auf die sichere Schlüsselspeicherung und Benutzung anderer Schlüssel (z.B. ECC) ausgedehnt werden. Die Implementierung soll auf einer JavaCard erfolgen.
Voraussetzungen:
- Kenntnisse IT-Sicherheit Grundlagen
- Basiskenntnisse zu ISO7816
- Java-Programmierung
Links:
Ansprechpartner: Wolf Müller
MA (IT-Security) KNXD und KNX-IP-Secure
knxd ist eine offene Implementierung für ein KNX-Gateway oder KNX-Router. In der Regel erfolgt die Kommunikation über IP-Pakete auf der einen Seite und andererseits über ein KNX-Modem auf der anderen Seite. Bislang wird der Standard KNX-IP-Secure noch nicht unterstützt. Machen Sie sich mit dem Standard gemäß KNX Application Note 159/13 v03 vertraut und versuchen Sie die Unterstützung in das knxd-Projekt zu integrieren.
Voraussetzungen:
- Kenntnisse IT-Sicherheit-Grundlagen
- C++-Programmierung
- Basiswissen Betrienssysteme/Administration
Links:
Ansprechpartner: Wolf Müller
MA (Modellbasierte Softwareentwicklung) Prozessbasierte, diskrete Simulation in Rust
In diesem Masterarbeitsthema geht es um die Implementation einer Rust-Bibliothek für prozessorientierte, diskrete Simulatoren, vergleichbar mit dem älteren ODEMx für C++.
Dazu sind Konzepte zur Umsetzung aktiver Klassen, der Erzeugung hochwertiger Zufallszahlen, der systematischen Sammlung statistischer Messgrößen sowie deren anpassbare Ausgabe zu entwickeln und umzusetzen. Darüber hinaus müssen wesentliche Synchronisationsstrukturen wie Prozesswarteschlangen, Kanäle, beschränkte und unbeschränkte abstrakte und konkrete Ressourcen implementiert werden. Im Gegensatz zu ODEMx wünschen wir uns die Möglichkeit, nicht nur auf zeitbasierte Ereignisse, sondern auch auf zustandsbasierte Ereignisse warten zu können sowie die Umsetzung von Intraprozessparallelität.
Wichtiger Teil der Arbeit ist auch die Dokumentation, Unit-Tests und Benchmarks typischer Szenarien im Vergleich mit alternativen Lösungen wie ODEMx und SLX.
Ansprechpartner: Dorian Weber
MA (Modellbasierte Softwareentwicklung) Programmierung von eingebetteten Geräten
Dieses Bachelorarbeitsthema soll überblicksartig die Programmierung von eingebetteten Geräten wie Mikrocontrollern, Raspberry-Pi und/oder Grafikkarten (CUDA/OpenCL) in den jeweils dafür üblichen Sprachen (Lua, Python, Rust, C) erklären und für verschiedene Anwendungsfälle miteinander vergleichen.
Dafür wählt man initial eines oder mehrere eingebettete Geräte aus, beschreibt für die unterstützten Quellsprachen die Werkzeugkette vom Quellcode bis zum ausgebrachten Binärartefakt anhand eines typischen Beispiels und vergleicht anschließend die Komplexität der unterschiedlichen Ansätze bezüglich selbstgewählter und begründeter Kriterien.
Ansprechpartner: Dorian Weber