Grin logo
de en es fr
Boutique
GRIN Website
Publier des textes, profitez du service complet
Aller à la page d’accueil de la boutique › Ingénierie - Génie Mécanique

Entwicklung einer Hausautomation auf Grundlage einer zentralen iOS App Steuerung

Titre: Entwicklung einer Hausautomation auf Grundlage einer zentralen iOS App Steuerung

Thèse de Bachelor , 2015 , 86 Pages , Note: 1,0

Autor:in: Fabian Schaffner (Auteur)

Ingénierie - Génie Mécanique
Extrait & Résumé des informations   Lire l'ebook
Résumé Extrait Résumé des informations

In der vorliegenden Bachelorarbeit wird die Entwicklung der Hausautomationsapplikation HomeControl für das mobile Betriebssystem iOS beschrieben. Diese soll drei zuvor entwickelten autonom funktionierende Einzelsysteme zusammenführen und erweitern, ohne dass sie angepasst werden müssen. HomeControl besteht aus der Integration folgender drei Systeme:

1. Applikation zur Betätigung des elektrischen Türöffners per Webbrowser mittels Physical-Computing-Plattform Arduino

2. Eine Webbrowser-basierte Funksteuerung der Zimmerbeleuchtung unter Ein- satz eines Raspberry Pi

3. Steuerung der Staubsaugroboters Roomba der Marke iRobot

Im theoretischen Teil werden die Grundlagen der eingesetzten Protokolle sowie Programmiersprachen vorgestellt und im Hinblick auf ihren jeweiligen Einsatzzweck erläutert. Anschließend werden die eingesetzten Hardwarekomponenten, im Speziellen Arduino, Raspberry Pi und Roomba, vorgestellt. Den Abschluss des theoretischen Teils bildet dabei die Einführung in die Entwicklung von iOS Apps.

Der Hauptteil erläutert zunächst die Entwicklungen der Einzelsysteme. Darauf auf- bauend wird die Entwicklung der Applikation HomeControl detailliert mit Bezug auf die im theoretischen Teile erläuterten Designkonzepte beschrieben.

Abschließend wird das Ergebnis dieser Arbeit kritisch im Hinblick auf Sicherheitsaspekte betrachtet und ein Ausblick auf Erweiterungsmöglichkeiten gegeben.

Extrait


Inhaltsverzeichnis

1 Einleitung

1.1 Voraussetzungen

1.2 Motivation

1.3 Zielsetzung

2 Theoretische Grundlagen Software

2.1 Hypertext Transfer Protrocol

2.1.1 Überblick

2.1.2 HTTP-Request

2.1.3 HTTP-Response

2.1.4 Datenübertragung

2.2 Eingesetzte Programmiersprachen

2.2.1 HTML CSS JavaScript

2.2.2 C / C++

2.2.3 PHP: Hypertext Preprocessor

2.2.4 Swift

3 Theoretische Grundlagen Hardware

3.1 Physical Computing Plattform - Arduino

3.2 Einplatinencomputer - Raspberry Pi

3.3 Staubsaugroboter Roomba

3.3.1 Überblick SCI

3.3.2 SCI Konnektor

3.3.3 SCI Protokoll

4 Theoretische Grundlagen iOS Entwicklung

4.1 iOS Design Pattern

4.2 Model View Controller

4.2.1 Model

4.2.2 View

4.2.3 Controller

4.3 Target-Action

4.4 Delegation

5 Entwicklung der Einzelsysteme

5.1 Türsteuerung Arduino

5.1.1 Zielsetzung

5.1.2 Problemstellung

5.1.3 Umsetzung

5.2 Lichtsteuerung Raspberry Pi

5.2.1 Zielsetzung

5.2.2 Problemstellung

5.2.3 Umsetzung

5.3 Steuerung Staubsaugroboter Roomba

5.3.1 Problemstellung

5.3.2 Umsetzung

6 Entwicklung der App HomeControl

6.1 Navigation

6.2 Gestaltung der View Objekte mittels Interface Builder

6.3 Das Model Objekt

6.3.1 Die Klassen RaspberryPi und Light

6.3.2 Die Klasse Arduino

6.3.3 Die Klasse Roomba

6.4 Controller Objekte

6.4.1 Die Klasse RaspberryPiViewController

6.4.2 Die Klasse ArduinoViewController

6.4.3 Die Klasse RoombaViewController

7 Schlussbetrachtung

7.1 Zusammenfassung

7.2 Fazit

7.3 Ausblick

Zielsetzung & Themen

Das Hauptziel dieser Bachelorarbeit ist die Entwicklung einer zentralen iOS-Applikation namens „HomeControl“, die drei zuvor unabhängig voneinander funktionierende Hausautomationssysteme – eine Arduino-basierte Türsteuerung, eine Raspberry Pi-basierte Lichtsteuerung und einen Roomba-Staubsaugroboter – über eine einheitliche Oberfläche integriert. Die Forschungsfrage untersucht dabei, wie eine solche zentrale Steuerung unter Verwendung moderner Webprotokolle und der Programmiersprache Swift ohne Anpassungen an den Einzelsystemen realisiert werden kann.

  • Integration autonomer Einzelsysteme in eine zentrale App-Steuerung
  • Einsatz und Funktionsweise des HTTP-Protokolls für die Hausautomation
  • Entwicklung ereignisbasierter iOS-Applikationen unter Verwendung von Swift
  • Anwendung von Design Patterns wie MVC (Model-View-Controller)
  • Sicherheitsbetrachtungen bei vernetzten Hausautomationskomponenten

Auszug aus dem Buch

6.2 Gestaltung der View Objekte mittels Interface Builder

Die Gestaltung der visuellen Repräsentation der Anwendung ist theoretisch mit reinem Programmcode möglich. Es gestaltet sich jedoch in der Praxis als umständlich, da zum Erhalt von visuellem Feedback jeweils das gesamte Programm kompiliert werden müsste. Innerhalb der IDE Xcode gibt es hierfür ein Unterprogramm namens Interface Builder, bei dem dies durch einfache Bedienung mittels Drag and Drop mit sofortiger Ausgabe des Ergebnisses auf einer Vielzahl an unterstützten Auflösungen möglich ist. Das damit erstellte Design wird in einer Datei namens Main.storyboard gespeichert. Abbildung 25 (s.S. 39) zeigt das Main.storyboard der Anwendung Home Control.

Mit der Veröffentlichung des ersten iPhone im Jahre 2007 befindet sich dieses bereits in der sechsten Generation. Gleichzeitig ist jede iOS Anwendung auch auf ebenfalls schon in vielen Variationen vorhanden iPads, lauffähig. Wenn der Entwickler eine große Anzahl an Gerätetypen unterstützen möchte, hat dies zur Folge, dass er sich mit den unterschiedlichen Auflösungen und Bildformaten beschäftigen muss. Interface Builder bietet hierfür ein Konzept namens Contraints. Der Trick hierbei ist, dass die Koordinaten nicht absolut, sondern in Beziehung zueinander bzw. zu den physischen Begrenzungen des Bildschirms festgelegt werden. So kann beispielsweise die Position eines Buttons durch Contraints so festgelegt werden, dass sich dieser immer im Bildschirmmittelpunkt befindet. Weiterhin werden View Objekte hierarchisch strukturiert. Hierfür dienen etwa Containerobjekte, deren einziger Zweck es ist Objekte, zu gruppieren. Die nun erzeugten View Objekte lassen sich mittels der Werkzeuge Identity Inspector, Attribute Inspector, Size Inspector und Connections Inspector weiter vorkonfigurieren. Mittels des Identity Inspector kann einem spezifischen View Objekt eine Klasse in Form einer .swift Datei zugewiesen werden. In dieser sind weitere Konfigurationen durch Programmcode möglich. Um die Gestaltung der View Objekte so einfach wie möglich zu gestalten, gibt es den Attribute Inspector, bei dem dies über eine Tabelle mit Auswahlmöglichkeiten für die unterschiedlichen Eigenschaften möglich ist.

Zusammenfassung der Kapitel

1 Einleitung: Beschreibt die Motivation zur Entwicklung einer zentralen Haussteuerungs-App, um bestehende autonome Einzelsysteme ohne Modifikationen zu vereinen.

2 Theoretische Grundlagen Software: Erläutert die notwendigen Software-Protokolle wie HTTP sowie die Programmiersprachen HTML, CSS, JavaScript, PHP und Swift für die Kommunikation und App-Entwicklung.

3 Theoretische Grundlagen Hardware: Stellt die eingesetzten Hardwarekomponenten vor, insbesondere Arduino als Physical Computing Plattform, den Raspberry Pi und den Roomba-Staubsaugroboter mit seinem SCI-Protokoll.

4 Theoretische Grundlagen iOS Entwicklung: Vermittelt die iOS-Design-Grundlagen wie MVC (Model-View-Controller), Target-Action und Delegation als Basis für die App-Struktur.

5 Entwicklung der Einzelsysteme: Beschreibt die Zielsetzung, Problemstellung und Umsetzung der drei Einzelsysteme (Türsteuerung, Lichtsteuerung, Saugroboter) vor deren Integration.

6 Entwicklung der App HomeControl: Detailliert die konkrete Implementierung der App inklusive Navigation, Gestaltung über Interface Builder und die Logik der Modell- und Controller-Klassen.

7 Schlussbetrachtung: Fasst die Ergebnisse zusammen, diskutiert kritisch die Sicherheitsaspekte der Systeme und gibt einen Ausblick auf zukünftige Entwicklungen wie Apple HomeKit.

Schlüsselwörter

Hausautomation, iOS, App-Entwicklung, Swift, HomeControl, Arduino, Raspberry Pi, Roomba, HTTP, MVC, Interface Builder, Physical Computing, Internet of Things, Mobile Steuerung, Webserver

Häufig gestellte Fragen

Worum geht es in dieser Bachelorarbeit grundsätzlich?

Die Arbeit befasst sich mit der Entwicklung einer zentralen iOS-App namens „HomeControl“, die verschiedene bereits vorhandene, autonom arbeitende Hausautomationssysteme über eine gemeinsame Oberfläche steuerbar macht.

Was sind die zentralen Themenfelder der Arbeit?

Die zentralen Themen umfassen die hardwarenahe Programmierung (Arduino, Raspberry Pi), die Implementierung von Netzwerkprotokollen (HTTP), das Design von iOS-Applikationen unter Nutzung von Apple-Frameworks sowie Sicherheitsüberlegungen im Bereich Smart Home.

Was ist das primäre Ziel oder die Forschungsfrage?

Das primäre Ziel ist es aufzuzeigen, wie unterschiedliche IoT-Systeme durch eine zentrale, intuitiv bedienbare App gesteuert werden können, ohne die bestehenden Einzelsysteme hardwareseitig anpassen zu müssen.

Welche wissenschaftliche Methode wird verwendet?

Es wird ein systematischer Entwicklungsansatz gewählt, der auf der Analyse der bestehenden Einzelsystem-Schnittstellen basiert und diese durch eine Implementierung nach dem MVC-Entwurfsmuster (Model-View-Controller) in eine iOS-Umgebung überführt.

Was wird im Hauptteil der Arbeit behandelt?

Der Hauptteil gliedert sich in die detaillierte Beschreibung der Hardware-Einzelsysteme, die Konzeption der App-Architektur mittels MVC sowie die schrittweise Programmierung der Modell- und Controller-Objekte in der Sprache Swift.

Welche Schlüsselwörter charakterisieren die Arbeit?

Zu den prägenden Schlüsselwörtern gehören Hausautomation, iOS, Swift, HomeControl, Arduino, Raspberry Pi, Roomba, HTTP sowie das MVC-Design-Pattern.

Warum wird für die Hausautomation das HTTP-Protokoll genutzt?

HTTP dient als universelles, standardisiertes Kommunikationsprotokoll, das es ermöglicht, die unterschiedlichen Systeme (Arduino, Raspberry Pi, Roomba) über einfache Webanfragen im Netzwerk anzusteuern, was die Integration in eine App erheblich vereinfacht.

Wie geht die Arbeit mit den Sicherheitsrisiken um?

Die Arbeit reflektiert kritisch, dass die Sicherheit bei den gewählten Implementierungen eine untergeordnete Rolle spielt. Es wird aufgezeigt, dass offene Schnittstellen und unverschlüsselte Datenübertragung Angriffsflächen für Hacker bieten und für kommerzielle Anwendungen durch Verfahren wie HTTPS ergänzt werden müssten.

Fin de l'extrait de 86 pages  - haut de page

Résumé des informations

Titre
Entwicklung einer Hausautomation auf Grundlage einer zentralen iOS App Steuerung
Université
University of Applied Sciences - bbw
Note
1,0
Auteur
Fabian Schaffner (Auteur)
Année de publication
2015
Pages
86
N° de catalogue
V383531
ISBN (ebook)
9783668588738
Langue
allemand
mots-clé
iOS Swift Raspberry Pi Arduino Genuino Roomba RooWifi Smart Lock
Sécurité des produits
GRIN Publishing GmbH
Citation du texte
Fabian Schaffner (Auteur), 2015, Entwicklung einer Hausautomation auf Grundlage einer zentralen iOS App Steuerung, Munich, GRIN Verlag, https://www.grin.com/document/383531
Lire l'ebook
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
Extrait de  86  pages
Grin logo
  • Grin.com
  • Expédition
  • Contact
  • Prot. des données
  • CGV
  • Imprint