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 |
VERALTET → dh40-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:
dh40-app (React/Ionic PWA) — eingesetzte Tablet-App in Studien und Showcases
deinhaus-4.0-app-v2.0 (Flutter) + deinhaus-4.0-v2.0-backend (Laravel) — geplanter nativer Neuaufbau, teilweise umgesetzt
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:
dh40-software-and-hardware-architecture-master
data_transfer_prototype1-master
dh40-showcase-xxl-tablet-main
Git-Submodule-Verknüpfungen
dh40-showcase-xxl-tablet bündelt dh40-app + dh40-laborvisualisierung
dh40-app-withings-poc bindet dh40_config_provider ein
dh40-ca-web nutzt Zertifikat-ZIPs aus dh40-ca
smart_mirror verweist auf cms50dplus
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>/.