Konzeption und Entwicklung eines sprachgesteuerten Smart Home Systems unter Betrachtung des Internet of Things Master-Thesis für die Prüfung Master of Science (M. Sc.) der Fachhochschule Dortmund/Technische Hochschule Köln Daniel Vieth Wiedehagen 38 48163 Münster Matr. Nr.: 11108484 Erstprüferin: Prof. Dr. Heide Faeskorn-Woyke Zweitprüferin: Prof. Dr. Birgit Bertelsmeier Abgabedatum: 22.05.2018 I I Inhaltsverzeichnis I Inhaltsverzeichnis ...................................................................................................................... I II Abbildungsverzeichnis ........................................................................................................... III III Abkürzungsverzeichnis ............................................................................................................ V 1 Einleitung ................................................................................................................................... 1 1.1 Über den Autor ......................................................................................................................... 1 1.2 Motivation und Zielsetzung ...................................................................................................... 1 1.3 Vorgehensweise ........................................................................................................................ 3 2 Grundlagen des Internet of Things .......................................................................................... 5 2.1 Geschichtliche Entwicklung des Internets ................................................................................ 5 2.1.1 Ursprünge und Web 1.0 .................................................................................................. 5 2.1.2 Web 2.0 ........................................................................................................................... 6 2.1.3 Web 3.0 und weitere Entwicklung .................................................................................. 7 2.2 Begriffsabgrenzung Internet of Things ..................................................................................... 8 2.3 Entwicklung und Treiber des IoT ........................................................................................... 11 2.3.1 Sensoren und Mikrocontroller ....................................................................................... 11 2.3.2 Netzwerktechnologien ................................................................................................... 12 2.3.3 Softwareentwicklung..................................................................................................... 13 2.3.4 Wirtschaft ...................................................................................................................... 14 2.4 Einsatzgebiete ......................................................................................................................... 14 2.4.1 Übersicht ....................................................................................................................... 14 2.4.2 Public IoT ...................................................................................................................... 16 2.4.3 Industrial IoT................................................................................................................. 17 2.4.4 Consumer IoT ............................................................................................................... 19 2.5 Datenschutz & Datensicherheit .............................................................................................. 20 2.5.1 Bedrohungsszenarien für das IoT .................................................................................. 20 2.5.2 Maßnahmen und Regelungen ........................................................................................ 23 3 Technologien des Internet of Things ...................................................................................... 26 3.1 Einführung .............................................................................................................................. 26 3.2 Kommunikation vernetzter Objekte ........................................................................................ 27 3.2.1 Datenübertragung & Netzwerke .................................................................................... 27 3.2.2 Protokolle & Nachrichten ............................................................................................. 28 3.3 Betriebssysteme ...................................................................................................................... 30 3.4 Datenbanken ........................................................................................................................... 31 3.4.1 Anforderungen .............................................................................................................. 31 3.4.2 Big Data ........................................................................................................................ 32 3.4.3 Relationale und NoSQL-Datenbanken .......................................................................... 33 3.5 Cloud Services ........................................................................................................................ 36 3.6 Benutzerschnittstellen ............................................................................................................. 38 II 4 Spracherkennung ..................................................................................................................... 39 4.1 Einordnung ............................................................................................................................. 39 4.2 Chancen .................................................................................................................................. 40 4.3 Anforderungen und Herausforderungen ................................................................................. 41 4.4 Grundlegende Funktionsweise ................................................................................................ 44 4.5 Vergleich der Technologien ................................................................................................... 46 4.5.1 Online ............................................................................................................................ 46 4.5.2 Offline ........................................................................................................................... 48 4.6 Dialogverarbeitung ................................................................................................................. 50 5 Konzeption des Smart Home Systems .................................................................................... 52 5.1 Umfang ................................................................................................................................... 52 5.2 Funktionen und Anwendungsfälle .......................................................................................... 53 5.3 Grundlagen und Technologien................................................................................................ 54 5.3.1 Hardware ....................................................................................................................... 54 5.3.2 Betriebssystem - Android Things .................................................................................. 55 5.3.3 Dialogsystem ................................................................................................................. 57 5.3.4 Begleitanwendung ......................................................................................................... 65 5.3.5 Cloud Services .............................................................................................................. 65 5.4 Systemarchitektur ................................................................................................................... 67 6 Prototypische Entwicklung des Smart Home Systems ......................................................... 69 6.1 Einleitung ............................................................................................................................... 69 6.2 Grundlagen ............................................................................................................................. 71 6.3 Umsetzung .............................................................................................................................. 72 6.3.1 Funktion Wakeword ...................................................................................................... 72 6.3.2 Funktion Spracherkennung ........................................................................................... 74 6.3.3 Funktion Dialogverarbeitung ........................................................................................ 77 6.3.4 Anwendungsfall Sensordaten ........................................................................................ 82 6.3.5 Anwendungsfall Begleitanwendung.............................................................................. 87 7 Ausblick .................................................................................................................................... 92 8 Zusammenfassung und Fazit .................................................................................................. 94 9 Literaturverzeichnis ................................................................................................................ 98 IV Anhang .................................................................................................................................... A-1 A III II Abbildungsverzeichnis Abbildung 1: Gartner Hype Cycle for Emerging Technologies, 2017 .................................................. 10 Abbildung 2: IoT-Einsatzgebiete Übersicht .......................................................................................... 15 Abbildung 3: Technologien eines IoT-Anwendungsstapels ................................................................. 26 Abbildung 4: IoT-Anwendung Cloud Plattform ................................................................................... 37 Abbildung 5: Aufbau eines ASR-Systems ............................................................................................ 44 Abbildung 6: Übersicht der Funktionen und Anwendungsfälle ............................................................ 53 Abbildung 7: Android Things Plattform Architektur ............................................................................ 56 Abbildung 8: Dialogbaum Steuerung der Raumtemperatur .................................................................. 62 Abbildung 9: Sequenzdiagramm Dialogsystem .................................................................................... 64 Abbildung 10: Systementwurf der einzelnen Komponenten................................................................. 67 Abbildung 11: Klassendiagramm des Smart Home System ................................................................. 70 Abbildung 12: Auszug Berechtigungen der Manifest.xml .................................................................... 71 Abbildung 13: Instanziierung und Konfiguration des SpeechRecognizers ........................................... 73 Abbildung 14: Implementierung des WakewordListeners in der MainActivity ................................... 74 Abbildung 15: Implementierung des VoiceRecorderCallback-Interfaces in der MainActivity ............ 75 Abbildung 16: Prozesshandling für die transkribierte Spracheingabe in der MainActivity .................. 76 Abbildung 17: TemperaturIntent Training phrases und parameters ...................................................... 78 Abbildung 18: Umsetzung der Entity Raum ......................................................................................... 79 Abbildung 19: Konfiguration und Aufruf des Dialogflow-Dialogmanagers ........................................ 80 Abbildung 20: Fulfillment des TemperaturIntents in der MainActivity ............................................... 81 Abbildung 21: Verbindung Raspberry mit BMP280 Sensor ................................................................. 82 Abbildung 22: Initialisierung des Sensors und Instanziierung der Cloud PubSub-Funktion ................ 83 Abbildung 23: Registrierung des Listeners für Temperatur- und Luftdrucksensor .............................. 84 Abbildung 24: Nebenläufiger Thread zum regelmäßigen Publishing der Sensordaten ........................ 86 Abbildung 25: Auszug Manifest-Datei der Begleitanwendung ............................................................ 88 Abbildung 26: Firebase-Nachricht empfangen und verarbeiten ........................................................... 89 Abbildung 27: Einfache Update-Funktion der Realtime Database ....................................................... 90 Abbildung 28: Implementierung des Datenbank Listeners ................................................................... 90 Abbildung 29: Pocketsphinx Phonem-zu-Wort Paare........................................................................ A-2 Abbildung 30: Konsole zur Verwaltung und Konfiguration des Dialogflow-Projekts ...................... A-3 Abbildung 31: Trainingsmodell des Dialogmanagers ........................................................................ A-4 Abbildung 32: Antworten des Dialogmanagers auf den TemperaturIntent ....................................... A-4 Abbildung 33: Manifest.xml des Smart Home Systems .................................................................... A-5 Abbildung 34: Auszug der Gradle-Abhängigkeiten der eingesetzten Werkzeuge ............................. A-6 Abbildung 35: Implmentierung des RecognitionListeners in der BasePocketSphinx-Klasse ............ A-7 Abbildung 36: Validierung AccessToken und Management gRPC-Kanal ........................................ A-8 Abbildung 37: Instanziierung, Starten und Stoppen des VoiceRecorders.......................................... A-8 Abbildung 38: Konfiguration des Recognizers und Erstellung des Requests .................................... A-9 IV Abbildung 39: Temperatur- und Luftdruck-Listener ........................................................................A-10 Abbildung 40: Autorisierung HTTP-Transport im Konstruktor des PubSubPublishers ...................A-11 Abbildung 41: JSON-Objekt der Pub/Sub-Nachrichtenübertragung ................................................A-11 Abbildung 42: Android NotificationBuilder zur Anzeige einer Firebase-Nachricht ........................A-12 Abbildung 43: Realtime Database-Objekt RaumklimaPOJO ...........................................................A-12 V III Abkürzungsverzeichnis Begriff Beschreibung 6LoWPAN IPv6 over Low Power Wireless Area Networks ADB Andorid Debug Bridge API Application Programming Interface ASR Automatic Speech Recognition BLE Bluetooth Low Energy CIoT Consumer Internet of Things CoAP Constrained Application Protocol DARPA Defense Advanced Research Projects Agency DBMS Database Management System DNN Deep Neural Network GMM Gaussian Mixture Model GPIO General Purpose Input/Output gRPC (google) Remote Procedure Call GUI Graphical User Interface HMM Hidden Markov Model HTML HyperText Markup Language HTTP HyperText Transfer Protocol I2C Inter-Integrated Circuit IAM Indentity and Access Management IDE Integrated Development Environment IIoT Industrial Internet of Things IoT Internet of Things JSON JavaScript Object Notation LAN Local Area Network M2M Machine-To-Machine MQTT Message Queue Telemetry Transport NFC Nearfieldcommunication NLP Natural Language Processing VI NoSQL Not only SQL OAuth Open Authorization OS Operating System PIoT Public Internet of Things Pub/Sub Publish/Subscribe RAM Random Access Memory RDBMS Relational Database Management System RDF Resource Description Framework REST Representational State Transfer RFID Radio Frequency Identification RTOS RealTime Operating System SDK Software Development Kit SOAP Simple Object Access Protocol SPARQL SPARQL Protocol And RDF Query Language SQL Structured Query Language UUID Universally Unique Identifier UX User Experience VUI Voice User Interface WLAN Wireless Local Area Network WPAN Wireless Personal Area Network XML Extensible Markup Language 1 1 Einleitung 1.1 Über den Autor Die Fiducia & GAD IT AG ist IT-Dienstleister, Rechenzentrum und Softwarehaus für alle 1.000 Volksbanken und Raiffeisenbanken im deutschsprachigen Raum sowie zahlreiche Privatbanken. Der Verwaltungssitz des Unternehmens ist in Karlsruhe und Münster. Die Unternehmensgruppe Fiducia & GAD IT AG beschäftigt fast 6.400 Mitarbeiter, betreut mehr als 173.000 Bankarbeitsplätze und verwaltet knapp 83 Mil- lionen Konten ihrer Kunden. Die Kernbankenverfahren „agree21“ und „bank21“, welche die gesamten Bankfunktionalitäten vom Zahlungsverkehr bis zum Aktiv- und Passivgeschäft abdecken, sind die aktuell produzierten Verfahren des Unterneh- mens.1 Der Verfasser dieser Arbeit ist seit 2010 als Anwendungsentwickler im Unternehmen beschäftigt. Von 2010 bis 2013 als Dualer Student der Wirtschaftsinformatik an der Hochschule Weserbergland. Die ausgeführten Tätigkeiten sind über den gesamten Zeitraum im Bereich der querschnittlichen Basisfunktionen anzusiedeln. Der Autor ist aktuell als Berater des Oberflächenframeworks sowie in der Umsetzung eines fachlichen Frameworks zur Erstellung und Individualisierung von kundenorientierten Bankprozessen beschäftigt. Seit 2014 ist der Autor Student des Verbundstudiengangs Master Wirtschaftsinformatik an der Fachhochschule Dortmund und Technischen Hochschule Köln. 1.2 Motivation und Zielsetzung Das Internet of Things (IoT) ist aktuell eines der trendgebenden Themen der Infor- mationstechnik. Dem Thema werden dabei viele Versprechungen, aber auch Erwar- tungen auf staatlicher, wirtschaftlicher und alltäglicher Ebene zugeordnet. Dabei besteht die Frage, was ist Hype und was ist Realität? Motivation und Zielsetzung dieser Arbeit ist es, dieses Thema zu untersuchen und Aspekte daraus in einem Smart Home System umzusetzen. 1 Vgl. Fiducia & GAD IT AG o. V. (2018). 2 Durch die Vorgabe der Entwicklung eines Smart Home Systems soll jedoch nicht die Betrachtung des Themengebiets im Allgemeinen außer Acht gelassen werden. Dafür soll eine Untersuchung der aktuellen Anwendungsgebiete ebenso durchgeführt wer- den, wie die Feststellung der wichtigsten Technologien und des Status quo. Das In- ternet of Things nimmt Einfluss auf Abläufe in unserem Alltag, indem Gegenstände mit Intelligenz ausgestattet und vernetzt werden. Dabei entstehen große Datenmen- gen. Die Erfassung und Behandlung dieser Daten soll sowohl auf technologischer als auch auf Seiten des Datenschutzes betrachtet werden. Der wirtschaftlich wachsende Markt des IoT, erhält zudem Einzug in Wohnungen und Häuser der Anwender. Intelligente Wohnsysteme stehen dabei noch am Anfang ihrer Verbreitung. Bekannteste Vertreter aus diesem Umfeld sind Amazons' Alexa und Google Home. Diese können auch als grundlegende Orientierung, des in dieser Arbeit zu erstellenden Systems, gesehen werden. Die Konzeption und Umsetzung eines vollständigen Smart Home Systems, kann jedoch im Umfang dieser Arbeit kein Ziel darstellen. Die Zielsetzung ist, ein System zu konzipieren und zu entwickeln, welches Basisfunktionalitäten besitzt und zukünftig eine Plattform für erweiterte Funktionen bietet. Zu diesen Basisfunktionen gehört die Verarbeitung natürlicher Spracheingaben. Die Neu- und Weiterentwicklung von Schnittstellen zwischen Mensch und Maschine, hat in den letzten Jahren, nicht zuletzt durch die Entwicklun- gen des IoT und den Einsatz von Geräten ohne visuelle Schnittstelle, an Bedeutung gewonnen. Systeme basierend auf Spracheingaben, haben sich in diesem Zuge, in der Performanz und vor allem der Genauigkeit, deutlich verbessert. Um die Zielsetzung noch zu konkretisieren, weitere Aspekte, die bei der Erstellung dieser Arbeit berücksichtigt werden sollen. Klare Zielsetzung ist die lauffähige Ver- sion eines Prototyps zu produzieren. Dieser soll den technischen Durchstich ver- schiedener Werkzeuge, Technologien und Services, als integratives Ziel dieser Arbeit, durchführen. Eine Verknüpfung mit realen Anwendungsfällen ist zur besse- ren Veranschaulichung wünschenswert, aber für die Zielerreichung nicht zwangsläu- fig erforderlich. Gleichzeitig soll der Prototyp ein stabiles Fundament für weitere Entwicklungen auf dessen Basis bereitstellen. Der Einsatz von Technologien im Be- ta-Stadium ist dadurch aber nicht ausgeschlossen, wie der Einsatz des aktuell noch in der Entwicklervorschau befindlichen Android Things zeigt.
Description: