Smart Kitchen: App zur Bedienung von Küchengeräten

Ausgangssituation

Kochen ist ein Fertigungsprozess, der bisher noch stark von manuellen Verarbeitungsschritten geprägt ist. Besonders die Zubereitung gesunder Mahlzeiten erfordert erheblichen Zeitaufwand, Planung und den Einsatz frischer Zutaten wie Obst und Gemüse, was im hektischen Alltag oft vernachlässigt wird. Zwar existieren bereits technische Lösungen, die den Kochvorgang erleichtern (z.B. Thermomix, Nicer Dicer), jedoch unterstützen diese lediglich Teilprozesse der Zubereitung. Die Anwesenheit des Menschen in der Küche für manuelle Zubereitungsschritte bleibt weiterhin unabdingbar. Um den Zeitaufwand beim Kochen weiter zu reduzieren und langfristig eine vollautomatisierte Küche zu ermöglichen, ist eine verstärkte Automatisierung in der Küche erforderlich.

Ein zentraler Aspekt hierbei ist die Möglichkeit, Küchengeräte aus der Ferne zu bedienen. Eine Möglichkeit zur Realisierung ist die Entwicklung einer Web-Anwendung, mit der Nutzer über einen Browser bequem Küchengeräte steuern können (beispielsweise das Einschalten eines Ofens, die Temperatureinstellung und die Überwachung der aktuellen Temperatur über die Web-Oberfläche).

Aufgabenstellung

Das Ziel der Arbeit besteht in der Entwicklung, Programmierung und Implementierung eines Prototyps einer Web-Anwendung zur Bedienung von Küchengeräten über den Browser.

Als Frontend wird eine Website entwickelt, die auf mobilen Endgeräten über den Browser aufgerufen werden kann. Diese Website ermöglicht es den Nutzern, den aktuellen Status von Geräten (wie etwa die Temperatur eines Ofens) abzurufen sowie die Steuerung dieser Geräte vorzunehmen (beispielsweise das Ein- und Ausschalten des Ofens oder die Festlegung der Temperatur). Die Kommunikation zwischen den Geräten und der Anwendung erfolgt dabei über einen MQTT-Broker (Die Anbindung der Küchengeräte selbst (wie z.B. des Ofens) ist NICHT Teil dieser Arbeit). Das Webinterface soll dann auf die MQTT-Daten zugreifen und so die Anzeige und Steuerung der Geräte ermöglichen. Als Framework für die Frontend-Entwicklung wird React.js verwendet.

Die zugehörige Datenbank, in der unter anderem Benutzer und Geräteinformationen gespeichert werden, wird als relationale Datenbank (z.B. MySQL) implementiert. Benutzer müssen sich in der Webanwendung anmelden und erhalten nur Zugriff auf die ihnen zugewiesenen Geräte.

Die Interaktion des Frontends mit der Datenbank erfolgt über ein Backend, welches eine REST-API bereitstellt. Als Framework für die Backend-Entwicklung wird Node.js verwendet.

Der Webserver zur Bereitstellung der Webanwendung, das Backend sowie die Datenbank werden in einer Cloud-Umgebung (z.B. AWS) gehostet, um eine skalierbare und zuverlässige Bereitstellung der Anwendung sicherzustellen.

Die grundlegenden IT-Architekturen, Anforderungen an die einzelnen Komponenten sowie die Datenbankbeschreibung und das ER-Modell sind vorhanden und werden zu Beginn der Arbeit detailliert besprochen, überprüft und bei Bedarf angepasst. Der Fokus der Arbeit liegt anschließend auf der Programmierung des Frontends mit React.js, der Programmierung des Backends mit Node.js sowie der Bereitstellung der Anwendung in der Cloud.

Deine Tätigkeiten

  • Durchdringen der Aufgabenstellung und Einarbeitung in das bestehende Konzept
  • Erstellung eines Mockups für das Frontend (z.B. mit Adobe XD oder Figma; im ersten Schritt wird nur ein Interface für mobile Endgeräte erstellt)
  • Programmierung des Backends (REST-API) mit Node.js
  • Programmierung des Frontends (Web-App) mittels React.js
  • Dokumentation der Arbeitsergebnisse und Ausblick auf mögliche Weiterentwicklungen

Deine Fähigkeiten

  • Fundierte Programmierkenntnisse in JavaScript, HTML, CSS zwingend notwendig
  • Erfahrung in der Entwicklung von Web-Anwendungen (idealerweise mit React.js) zwingend notwendig
  • Praktische Erfahrung mit SQL-Datenbanken zwingend notwendig
  • Erfahrung mit Websockets/MQTT erwünscht
  • Erfahrung mit Cloud-Diensten wie AWS erwünscht

Bewerbung

  • Selbständige und gewissenhafte Arbeitsweise
  • Regeltermine finden per Teams sowie am FAPS-Standort in Nürnberg “Auf AEG” (Fürther Straße 246b, 90429 Nürnberg) statt
  • Studiengänge: Informatik, Mechatronik, Maschinenbau, WING
  • Bewerbungen per E-Mail mit Lebenslauf und aktueller Fächerübersicht an andreas.morello@faps.fau.de

Ansprechpartner:

Andreas Morello, M.Sc.

Kategorien:

Forschungsbereich:

Automatisierungstechnik

Art der Arbeit:

Masterarbeit

Studiengang:

Informatik, Maschinenbau, Mechatronik, Wirtschaftsingenieurwesen

Technologiefeld:

Software Engineering und Deployment

Kontakt:

Andreas Morello, M.Sc.

Department Maschinenbau (MB)
Lehrstuhl für Fertigungsautomatisierung und Produktionssystematik (FAPS, Prof. Franke)