DeinHaus 4.0 (DH40) — Projektübersicht

English version · Datenfluss · DEINHAUS4-0 Analyse · Architektur · Deployment · VPS-Demo

Frontend-Mockups: Statische HTML-Vorschauen der Benutzeroberflächen liegen in mockups/.

Forschungsplattform für Smart Home / Ambient Assisted Living (AAL) der Technischen Hochschule Deggendorf (tcf_deinhaus40 auf GitLab).

Jeder teilnehmende Haushalt betreibt einen Raspberry-Pi-Edge-Stack (Sensoren, MQTT, lokale Speicherung). Eine Tablet-App ermöglicht Bewohnern die Protokollierung von Aktivitäten. Die Daten fließen zu THD-Servern zur Analyse, für Machine Learning und die Studienauswertung.

Hinweis: Dieser Workspace enthält ZIP-Snapshots von 39 Repositories, keine aktiven Git-Klone. Datei-Zeitstempel spiegeln den Archivstand wider, nicht die aktuelle GitLab-Aktivität.


Kernarchitektur

flowchart TB subgraph home["Zuhause (Raspberry Pi)"] SENS[Sensoren / Z-Wave / ESP32] MQTT[Mosquitto MQTT] INFL[InfluxDB + Telegraf] CFG[config-provider] APP[dh40-app Tablet-PWA] SENS --> MQTT MQTT --> INFL APP --> MQTT APP --> INFL APP --> CFG end subgraph thd["TH Deggendorf"] HIVE[HiveMQ] MDB[(MariaDB)] H2D[MQTT → DB-Konnektoren] HIVE --> H2D --> MDB end subgraph access["Zugang & Sicherheit"] CA[dh40-ca Zertifikatsgenerator] CAWEB[dh40-ca-web Download-UI] VPN[OpenVPN pro Haushalts-ID] CA --> CAWEB CA --> VPN end MQTT --> HIVE VPN --> home

Referenzarchitektur: dh40-software-and-hardware-architecture-master — Docker-Stack für den Haushalt (wohnung/) und THD-Server-Stack (thd/).

Ausführlicher Datenfluss: data-flow_de.md — Z-Wave, App, Withings, Kamera-ML (Jetson), VPS-Demo.

Kamera- / Sturzerkennungs-ML läuft auf Jetson (nur Forschung), nicht im Produktions-Pi-Stack — siehe data-flow §4.

data_transfer_prototype1-master ist ein früherer Vorläufer desselben Designs.


Projekte nach Status

Aktiv / Referenz

Verzeichnis Zweck
dh40-software-and-hardware-architecture-master Systemdesign, Docker Compose, Datenpipelines
dh40-app-master Haupt-Tablet-PWA (React/Ionic) — Button-Logging, Diagramme, Schulungsvideos
dh40-ca-main OpenVPN-Zertifikatserstellung pro Haushalt
dh40-ca-web-master Web-UI zur Verteilung von Haushalts-Zertifikat-ZIPs
dh40-withings-mariadb-master Überträgt Withings-Gesundheitsdaten in MariaDB
dh40-laborvisualisierung-main Live-Sensor-Dashboard für die Laborwohnung (React + MQTT)
dh40-emergency-detection-main Edge-basierte Audio-Sturz-/Notfallerkennung (laufende Forschung)
dh40-spark-main Große Studiendatenanalyse mit Apache Spark
sensor-data-science-main ML-Feature-Engineering auf Sensor-/Schlafstudien-Daten

Demo / Showcase

Verzeichnis Zweck
dh40-showcase-xxl-tablet-main Messe-Demo: Pi-Services + XXL-Tablet mit dh40-app + dh40-laborvisualisierung
dh40-smart-mirror-2-main Jetson-basierter Smart Mirror mit Emotionserkennung
dh40_radar_demo-master Infineon-24-GHz-Radar-Demo zur Präsenzerkennung
klickdummy-angehoerigen-app-dh4.3-main UI-Klickdummy für eine Angehörigen-App
video-feedback-master UX-Forschung zur Tablet-App

POC / Prototyp

Verzeichnis Zweck
dh40_config_provider_poc-main HTTP-API für Haushalts-/Withings-OAuth-Konfiguration
dh40-app-withings-poc-master React-POC für Withings-Herzfrequenzdaten
dh40-withings-auth-server-main Withings-OAuth-Grundgerüst
dh40-pki-playground-master PKI-Tool-Evaluierung → führte zu dh40-ca
dh40_mqtt_broker-master Frühes Mosquitto-MQTT-Broker-Setup
dh40_mqtt_mariadb-master Frühe Python-Skripte MQTT → MariaDB
hivemq2db-master HiveMQ-Erweiterung zum Schreiben von MQTT in die Datenbank
dh40_noise_recognition-master Umgebungsgeräusch- und Spracherkennung (RPi + Coral TPU)
dh40_speechrecognition-master Sprachmodul → MQTT-Gateway für AAL-Befehle
esp32motionshield-master ESP32-IMU-Bewegungsanalyse (Tür/Fenster)
dh40_data_playground-master Frühes Datenübertragungs-Notebook
dh40_example_node_raspi-master RPi-Autostart-Stub für Node/Jupyter-Beispiel

Akademisch / Abschlussarbeit

Verzeichnis Zweck
ba_meiler-master Bachelorarbeit — ML auf HF-Signalen
dh40-streamlit-main Studiendatenanalyse (Forschungsfragen RQ1–RQ5)
dh40_object_recognition-master TensorFlow-Objekterkennung
dh40-camera-module-master Video-Sturzerkennung (MediaPipe auf Jetson)

Archiviert / Veraltet / Abgelöst

Verzeichnis Status
dh40-pki-ARCHIVED-main VERALTETdh40-ca verwenden
data_transfer_prototype1-master Abgelöst durch dh40-software-and-hardware-architecture
smart_mirror-master Ältere RPi-Spiegel-Demo (2019)
cms50dplus-master Pulsoximeter-Seriell-Leser
energymeter-master Stromzähler-Auslesung (Finder 7E46 via m-Bus)

Unklar / Gerüst

Verzeichnis Zweck
deinhaus40-app-main Flutter-App-Gerüst
deinhaus-4.0-app-v2.0-app-main Flutter-v2-Frontend (teilweise umgesetzt)
deinhaus-4.0-app-v3.0-main Flutter-v3-Gerüst (weitgehend leer)
deinhaus-4.0-v2.0-backend-main Laravel-API-Backend für native v2-Apps

App-Generationen

Es existieren drei parallele App-Linien:

  1. dh40-app (React/Ionic PWA) — eingesetzte Tablet-App in Studien und Showcases
  2. deinhaus-4.0-app-v2.0 (Flutter) + deinhaus-4.0-v2.0-backend (Laravel) — geplanter nativer Neuaufbau, teilweise umgesetzt
  3. deinhaus40-app / deinhaus-4.0-app-v3.0 — neuere Flutter-Gerüste, weitgehend leer

Der Flutter/Laravel-Stack scheint der angestrebte Nachfolger zu sein, aber dh40-app bleibt das vollständigste und am häufigsten referenzierte Artefakt.


Sensor- & ML-Cluster

Edge-Intelligence-Projekte. Einige publizieren per MQTT auf dem Pi (ESP32, Sprach-Gateway); Jetson-Kamera-/Audio-Projekte sind Forschungs-Nebenprojekte — nicht an den Produktions-Studienstack angebunden. Siehe data-flow §4.

Verzeichnis Schwerpunkt
dh40-emergency-detection-main Audio-Sturz-/Notfallerkennung
dh40-camera-module-master Video-Sturzerkennung (MediaPipe auf Jetson)
dh40_object_recognition-master Objekterkennung (TensorFlow)
dh40_noise_recognition-master Umgebungsgeräuscherkennung
dh40_speechrecognition-master Sprachbefehle via MQTT
esp32motionshield-master Tür-/Fensterbewegung via ESP32-IMU
dh40_radar_demo-master Radar-Präsenzerkennung
cms50dplus-master Pulsoximeter-Daten

Zentrale Beziehungen

Ebene Repositories
Architektur dh40-software-and-hardware-architecture
Benutzeroberfläche dh40-app (+ Bundle dh40-showcase-xxl-tablet)
Sicherheit dh40-ca, dh40-ca-web
Datenplattform MQTT → InfluxDB (Zuhause), HiveMQ/MariaDB (THD)
Gesundheitsdaten dh40-withings-mariadb, Withings-POC-Kette
Forschung dh40-spark, sensor-data-science, dh40-streamlit, Notfall-/Kamera-ML
Nächste App-Generation Flutter v2 + Laravel-Backend (unvollständig)
Demo / Betrieb _demo/ (öffentliche HTTPS-Demo), vps-operations_de.md, demo-production-parity.md

Gemeinsames Docker-Compose-Muster

Dasselbe wohnung/docker/-Layout findet sich in:

Git-Submodule-Verknüpfungen


Abkürzungsverzeichnis

Projekt & Organisation

Abkürzung Bedeutung
DH40 DeinHaus 4.0 — Smart-Home-/AAL-Forschungsplattform
DEINHAUS4-0 React-Web-Dashboard (THD → GitHub, TelemedAllianz); siehe DEINHAUS4-0.md
THD Technische Hochschule Deggendorf
TCF Technologie Campus Freyung (THD-Standort)
tcf_deinhaus40 GitLab-Gruppe mit den DH40-Repositories auf mygit.th-deg.de
BTA Bayerische TelemedAllianz GmbH (GitHub-Host von DEINHAUS4-0)
AAL Ambient Assisted Living — ambientes, technisch unterstütztes Wohnen

Software & Architektur

Abkürzung Bedeutung
API Application Programming Interface — Programmierschnittstelle
PWA Progressive Web App — installierbare Web-App (z. B. dh40-app)
POC Proof of Concept — Machbarkeitsnachweis / Prototyp
UI User Interface — Benutzeroberfläche
UX User Experience — Nutzererlebnis
OAuth Offenes Autorisierungsverfahren (z. B. Withings-Anbindung)
MQTT Message Queuing Telemetry Transport — IoT-Messaging-Protokoll
REST Representational State Transfer — HTTP-API-Stil
IoT Internet of Things — vernetzte Geräte und Sensoren
ML Machine Learning — maschinelles Lernen
EDA Exploratory Data Analysis — explorative Datenanalyse
RQ Research Question — Forschungsfrage (z. B. RQ1–RQ5 in dh40-streamlit)

Infrastruktur & Daten

Abkürzung Bedeutung
VPN Virtual Private Network — verschlüsselter Fernzugriff (OpenVPN pro Haushalt)
PKI Public Key Infrastructure — Zertifikatsinfrastruktur (dh40-ca)
CA Certificate Authority — Zertifizierungsstelle
DB Datenbank
InfluxDB Zeitreihen-Datenbank am Haushalt (Edge)
MariaDB Relationale Datenbank am THD-Server
HiveMQ MQTT-Broker am THD-Server
Mosquitto MQTT-Broker am Raspberry Pi (Edge)
Telegraf Metrik-Agent (InfluxDB-Stack)
Docker Container-Plattform für Edge- und Server-Stacks
Z-Wave Funkprotokoll für Smart-Home-Sensoren (z. B. Fibaro)
m-Bus Meter-Bus — Auslesung von Stromzählern (energymeter)
Git LFS Git Large File Storage — große Dateien (z. B. Schulungsvideos)

Hardware & Edge

Abkürzung Bedeutung
RPi Raspberry Pi — Edge-Computer im Haushalt
ESP32 Mikrocontroller mit Wi-Fi/BT (z. B. Motion Shield)
IMU Inertial Measurement Unit — Beschleunigungs-/Gyrosensor
Jetson NVIDIA Jetson — Edge-AI-Plattform (Kamera, Spiegel)
TPU Tensor Processing Unit — KI-Beschleuniger (Google Coral)
CMS50D+ Pulsoximeter-Modell (Seriell-Auslesung)
RF / HF Radio Frequency / Hochfrequenz — Funksignale (Bachelorarbeit ba_meiler)

Gesundheit & Sensoren

Abkürzung Bedeutung
SpO₂ Periphere Sauerstoffsättigung (Pulsoximetrie)
bpm beats per minute — Schläge pro Minute (Herzfrequenz)
mmHg Millimeter Quecksilbersäule — Blutdruckeinheit
CO₂ Kohlendioxid (Raumluft-Sensor)
VOC Volatile Organic Compounds — flüchtige organische Verbindungen (Luftqualität)
BMI Body Mass Index — Körpermasseindex

Frameworks & Technologien (in Repos)

Abkürzung Bedeutung
React JavaScript-UI-Framework (dh40-app, Laborvis)
Ionic Mobile-UI-Framework für die Tablet-PWA
Flutter Cross-Platform-App-Framework (v2/v3-Apps)
Laravel PHP-Framework (deinhaus-4.0-v2.0-backend, dh40-ca-web)
Vue JavaScript-Framework (Inertia-Dashboard im v2-Backend)
TensorFlow ML-Framework (Objekterkennung, Geräusche)
MediaPipe Google-Framework für Pose-/Gesichtserkennung (Sturzerkennung)
Streamlit Python-Framework für Daten-Apps (dh40-streamlit)
SSD Single Shot Detector — Objekterkennungs-Architektur
ESC-50 Audio-Datensatz für Umgebungsgeräusche (Notfallerkennung)
DTW Dynamic Time Warping — Ähnlichkeitsmaß für Zeitreihen
CFSSL Cloudflare SSL — PKI-Tool (dh40-ca)
Easy-RSA OpenVPN-Zertifikats-Toolkit

Akademisch

Abkürzung Bedeutung
BA Bachelorarbeit (z. B. ba_meiler)
MA Masterarbeit (z. B. dh40-emergency-detection)

Verzeichnis-Kürzel in der Architektur

Abkürzung Bedeutung
wohnung/ Docker-/Konfigurations-Stack für den Haushalt (Edge)
thd/ Docker-/Server-Stack an der Technischen Hochschule Deggendorf

Verzeichnisstruktur

Jedes ZIP wird in einen Ordner mit dem Archivnamen entpackt:

dh40/
├── _docs/                       → Dokumentation (diese Datei, Datenfluss, Deployment, …)
│   ├── readme.md / readme_de.md
│   └── data-flow.md / data-flow_de.md
├── _demo/                       → öffentliche IONOS-VPS-Demo (Caddy, mqtt-simulator, Influx)
├── mockups/                     → statische HTML-UI-Mockups
│   └── index.html
├── dh40-app-master/             → aus dh40-app-master.zip
├── dh40-software-and-hardware-architecture-master/
└── … (39 Projekt-Archive insgesamt)

Die meisten Repositories nutzen eine verschachtelte Wurzel: /<archivname>/<archivname>/.