Es wird ein verteiltes System mit verschiedenen Komponenten wie Services, einem Frontend sowie einer Datenbank erstellt, welches über zu entwickelnde Schnittstellen miteinander kommuniziert.
Kursbeschreibung
ESP-Module sind WIFI-fähige, kleine und günstige Mikrocontroller, mit denen man zahlreiche Projekte im Bereich Internet der Dinge umsetzen kann. Mit mehreren ESP-Modulen erfassen wir Daten von angeschlossenen Sensoren und übertragen diese an einen selbst programmierten Server, der mit Hilfe von nodeJS implementiert wird. Dieser Server speichert die empfangenen Daten in einer Datenbank, für die zunächst entsprechende Datenmodelle erstellt werden. Um den Zugriff auf diese Daten zu ermöglichen, entwickeln wir eine Schnittstelle, auch API genannt. Durch diese API können andere Dienste, und insbesondere das Frontend (der für den Benutzer sichtbare Teil der Anwendung), Daten abrufen und darstellen. Die beiden Kurse “Technische Grundlagen 2” und “Datenbanken” wurden als zusammenhängendes Modul durchgeführt.
Zielsetzung
Das Hauptziel dieses Kurses ist es, den Studierenden Kenntnisse moderner Softwarearchitekturen zu vermitteln und ihnen die notwendigen Tools bereitzustellen, um diese Architekturen praktisch umzusetzen. Das Endergebnis ist ein Fullstack-Entwicklungsprojekt, das skalierbar, erweiterbar und professionell realisiert werden kann.
Aufgabenstellung
Die Aufgabe der Studierenden ist es, ein verteiltes System zu erstellen, das prototypisch und funktional ist, eine Datenbankanbindung hat und voll funktionsfähig sowie testbar ist. Dieses System soll Sensordaten über ESP-Module erfassen, speichern und für den Benutzer visuell darstellen.
Herbert - Bewässerungssystem für Kräuter und Pflanzen
Herbert ist ein Bewässerungssystem für Kräuter und Pflanzen, das aus einem Frontend und einem Backend besteht. Es verwendet drei Töpfe, die jeweils mit einem Feuchtigkeitssensor und einem Lichtsensor ausgestattet sind. Jeder Topf ist mit einem NFC-Chip versehen, der in Zukunft Informationen über die Position des Topfes auf der Basisstation liefern kann. Die Basisstation beherbergt einen ESP32, Wasserstandssensor und drei NFC-Reader sowie Pumpen für jeden Topf. Die gesammelten Daten werden dann via eines MQTT Brokers auf MongoDB gespeichert, von wo sie dann von dem userService an das Frontend weitergegeben werden.
Das Herbert-Bewässerungssystem bietet folgende Funktionen:
Benutzerregistrierung: Neue Benutzer können sich in der Anwendung registrieren.
Benutzeranmeldung: Registrierte Benutzer können sich in der Anwendung anmelden.
Abfrage der aktuellen Sensorwerte:
Lichtintensität: Ruft die aktuelle Lichtintensität von den Lichtsensoren der Töpfe ab.
Wasserstand: Ruft den aktuellen Wasserstand von den Wasserstandssensoren der Töpfe ab.
Luftfeuchtigkeit: Ruft die aktuelle Luftfeuchtigkeit von den Feuchtigkeitssensoren der Töpfe ab.
UV-Lichtstatus: Ruft den aktuellen UV-Lichtstatus von den Töpfen ab.
NFC-Chip-Integration: Der NFC-Chip auf jedem Topf ermöglicht in Zukunft die Identifizierung und Positionierung der Töpfe auf der Basisstation.
API-Endpunkte
Die API stellt folgende Endpunkte zur Verfügung:
POST /api/register: Registriert einen neuen Benutzer.
POST /api/login: Meldet einen Benutzer an.
GET /api/light_intensity: Ruft die aktuelle Lichtintensität ab.
GET /api/water_level: Ruft den aktuellen Wasserstand ab.
GET /api/humidity: Ruft die aktuelle Luftfeuchtigkeit ab.
GET /api/uv_light_status: Ruft den aktuellen UV-Lichtstatus ab.
Hinterlasse einen Kommentar