Home
Dokument 1 - Dokumentenserverhosting der SUB
Contents
1. a IOHL L dAyo O14 siseyyojeyoeg ayuyeg ue ge4 Bunseneyssney LO Add Hinweis Die Eagle Datei sowie der Schaltplan im PDF Format sind ebenfalls auf der CD DVD enthalten Anhange 87 A2 Schaltplan Prototyp 2 D1 DZad0a7KOR D2 N I poao Ao Ast NLOESOAS l D3 u Door sza 87 toe EF S e3 S seed re 2 A TLELI a Se 30 E 8 m 2 D t Q o gt S S ayseneue z ee iii ifi f 5 IE a Side Input Header Output Header x8 X7 LO ASU Hinweis Die Eagle Datei sowie der Schaltplan im PDF Format sind ebenfalls auf der CD DVD enthalten Anhange 88 A3 Bedienungsanleitung 23 Seiten Be
2. Detaillierung manuelle berpr fung Abbildung 35 verwendetes Vorgehensmodell V Modell Die vorherigen Spezifizierungsphasen Anforderungsanalyse Kapitel 3 1 3 funktionaler Systementwurf technischer Systementwurf Kapitel 3 2 3 3 f hr ten zur endg ltigen Realisierungsphase W hrend der Spezifizierungsphasen wurden die einzelnen Punkte mehrfach verifiziert um Fehler im Vorhinein aus schlie en zu k nnen Nach der Realisierungsphase folgten mehrere Testpha sen um die vorher spezifizierten Punkte zu berpr fen Sind w hrend dieser Phasen Fehler entdeckt worden wurden diese beseitigt und w hrend der Test phasen erneut berpr ft Das V Modell ist ein Vorgehensmodell in der Softwareentwicklung bei dem der Entwicklungs prozess in Phasen aufgeteilt ist Es basiert auf dem Wasserfallmodell und erweitert es um meh rere Testphasen zur Qualit tssicherung 4 Entwicklung und Umsetzung 59 4 2 2 Verwendete Frameworks Im Zuge dieser Arbeit wurden verschiedenste Software Frameworks verwendet In diesem Kapitel werden die wichtigsten Frameworks naher erlautert jQuery Mobile jQuery Mobile ist ein touch optimiertes Open Source Framework MIT zum Erstellen von HTML5 basierten Benutzeroberflachen Mithilfe dieses Frame works lassen sich sehr einfach responsive Webseiten und Webapplikationen erstellen die sowohl auf mobilen Geraten als auch auf Desktop Geraten gleich erma en gut bedienbar
3. 12 Juni 2014 http docs mongodb org manual core server side javascript 34 Google V8 ChangeLog Online Abgerufen am 12 Juni 2014 https code google com p v8 source browse branches 0 1 ChangeLog 35 Google Inc Google Developers Introduction Online Abgerufen am 12 Juni 2014 Zitat https developers google com v8 intro 36 Google Developers Online Abgerufen am 15 Mai 2014 Zitat https developers google com v8 design 37 Node js Node js Online Abgerufen am 17 Mai 2014 http nodejs org 38 Node js About Online Abgerufen am 12 Juni 2014 http nodejs org about 7 Literaturverzeichnis 85 39 Hughes Croucher Tom und Wilson Mike Node Up and Running ISBN 978 1 4493 9858 3 Sebastopol O Reilly Media 40 Node js Node js v0 10 29 Manual amp Documentation Modules Online Abgerufen am 12 Juni 2014 http nodejs org api modules html 41 CommonJS Getting CommonJS Online Abgerufen am 21 Mai 2014 http www commonjs org impl 42 Understanding the node js event loop Online Abgerufen am 12 Juni 2014 http blog mixu net 20 11 02 01 understanding the node js event loop 43 Socket IO Socket IO Online Abgerufen am 10 Mai 2014 http socket io 44 Traco Electronic TSR 1 Serie Datenblatt Online Abgerufen am 27 Mai 2014 http www tracopower com datasheet_g tsr1 d pdf 45 NXP Semiconducto
4. Beispiel 3 2 Eignung von Node js als Serverplattform Node js wurde speziell f r den Serverbetrieb entwickelt Seine ereignisgesteu erte JavaScript Architektur bietet den Vorteil dass pro bestehender Verbindung weniger Arbeitsspeicher verbraucht wird als bei L sungen die f r jede neue Verbindung einen separaten Thread starten 38 Dieser Single Threading Betrieb hat zur Folge dass Kommandos nacheinan der abgearbeitet werden und im ersten Schritt keine Parallelisierung erlaubt 3 Analyse und Konzeptentwurf 34 Um dennoch zu gewahrleisten dass Prozesse nicht durch Anfragen blockiert werden besitzt Node js ein ausgelagertes O System Dies bedeutet dass Schreib und Leseoperationen in Node js asynchron durchgefuhrt werden 38 Alle Anfragen an I O und deren Cal backs werden in einer Event Loop gespei chert und durch einen externen Prozess abgearbeitet Ist die jeweilige O Anfrage fertiggestellt werden die abgerufenen Daten an die vorher definierte Callback Funktion bergeben und die Bearbeitung l uft regul r weiter 42 Ein Nachteil an dieser Architektur ist dass eine Verwendung von Mehrkernpro zessoren wie es bei Servern in der Regel blich ist kaum Einfluss auf die Aus f hrungsgeschwindigkeit von Node js hat Diese Einschr nkung st rt bei dem Einsatz auf dem Raspberry Pi nicht da dieser nur einen Prozessorkern besitzt Dennoch bietet Node js weitere Vorteile gegen ber anderen Systemen Es sind unt
5. Slaves ziehen den Bus f r mindestens 60 us auf Low im Overdri ve Mode sind es 7 5 us Darauf folgen die ROM Funktion die Adresse des je weiligen Ger tes und der Aufruf der gew nschten Funktion Danach k nnen die Daten je nach Funktion vom Master gelesen oder geschrieben werden 20 2 Technische Grundlagen 19 8 Bit 48 Bit 8 BIT Family Code Seriennummer CRC Prasenz l 7 Puls Lesen Schre E Master U Slave s Abbildung 10 1 Wire Ubertragungsschema ROM Funktionen Nachdem der Slave den Prasenzpuls gesendet hat sendet der Master die ge wunschte ROM Funktion Zu den ROM Funktionen zahlen Skip ROM Auf dem Bus befindet sich nur ein Slave der Master braucht keine ID zu senden um das gewunschte Gerat zu adressieren Er kann direkt nach dem Ausf hren dieser Funktion mit dem Senden des Funkti onskommandos beginnen Read ROM Auf dem Bus befindet sich ebenfalls nur ein Slave dieser sendet nach dem Ausf hren dieser Funktion seine ROM ID an den Mas ter Match ROM Auf dem Bus befinden sich mehrere Slaves Mit dieser Funktion kann der Master direkt ein Ger t nach dem Senden der ROM ID ansprechen Resume ROM Wurde bereits ein Ger t ausgew hlt so kann der Mas ter nach dem Senden dieser Funktion ein weiteres Funktionskommando an den jeweiligen Slave senden ohne eine Verbindung erneut aufzu bauen Overdrive Skip ROM Auf dem Bus befindet sich nur ein Slave der Master braucht keine ID zu senden um
6. Toleranz 5 08 mm Raster 3 Anschl sse UTP Platinenmontage 2 54 mm Raster 8 Pins 2 54 mm Raster 5 Pins 15 mm M3 Nylon M3 Nylon M3 Nylon Tabelle 7 Bauteilliste Prototyp 1 3 Analyse und Konzeptentwurf 40 Aufgrund der Entwicklung eines zweiten Prototypen weitestgehend basierend auf SMD Technologie wurde die Auswahl leicht verandert Prototyp 2 Anzahl 1 Bauteil Raspberry Pi TSR 1 2450 FDC6301N MCP23017 E SO ULN2803ADW DS2482S 100 DS9503P Funkmodul RaZberry Kondensator 100nF Widerstand 1000hm CAY16 103J4LF 4816P T01 223LF 4816P T01 473LF DZ4J047KOR Beschreibung Modell B 512 MB Ram Step Down Schaltregler Mosfet N Kanal Dual 25V 0 22A I C 16 Bit I O Erweiterung Darlington Transistor Netzwerk I C 1 Wire Bridge 1Wire Protection Diode Z Wave Funkmodul Keramik 16 V SMD 0805 10 Ya W SMD 0805 5 Toleranz Widerstandsnetzwerk 10 kOhm Widerstandsnetzwerk 22 kOhm Widerstandsnetzwerk 47 kOhm Dual Zenderdiode 4 7 V 0 2 W Schraubkontakt 1 5 mm 5 mm Raster 2 Anschl sse Schraubkontakt 1 5 mm 5 mm Raster 3 Anschl sse Schraubkontakt 1 5 mm 5 mm Raster 4 Anschl sse Schraubkontakt 1 5 mm 5 mm Raster 9 Anschl sse RJ45 Buchse STP ESQ 113 13 T D Female Header 2x13 Pins 2 54 mm Raster erh ht 826925 5 Male Header 2x5 Pins 2 54 mm Raster Abstandsbolzen 15 mm M3 Nylon Sechskantmutter M3 Nylon Schraube M3 Nylon Tabelle 8 Bauteilliste Prototyp 2 3 Analyse u
7. bedeutet es dass dieses System zum ersten Mal aufgerufen wurde und der Browser wird aufgefordert zur Seite 1stStart http node js server 1stStart umzuleiten Ist das Ergebnis ungleich O wird die Loginseite von EJS gerendert und durch das Modul Express an den Webbrowser ausgeliefert nicht korrekt Login eingerichtet Login nicht eingerichtet Login korrekt Dashboard nicht Dashboard eingerichtet eingerichtet Kurzanleitung Dashboard anzeigen anzeigen Abbildung 38 Programmablaufplan Login 4 Entwicklung und Umsetzung 68 Dabei wurden ber die Funktion render folgende Parameter bzw JavaScript Objekte an EJS Ubergegeben Zum einen der String login sowie ein Ja vaScript Objekt bestehend aus zwei Strings Der erste Parameter ist der Name des Views der zweite k nnen diverse Ja vaScript Objekte oder Referenzen auf diese sein die beim Rendern der Web seite benotigt werden EJS sucht daraufhin im Ordner views nach der entsprechenden View Datei mit dem Namen login ejs Diese View oder auch Template Dateien werden in erster Linie in HTML pro grammiert JavaScript Code der mit lt gt umschlossen ist wird ausgef hrt Wird dieser Code jedoch mit lt gt umschlossen so wird das Ergebnis dem HTML Code an der demensprechenden Stelle angef gt Die zuvor durch die Funktion render bergebenen Objekte stehen im JavaScript Code ebenfalls zur Verf gung Des Weiteren ist
8. en des Vorgangs Room Light Location UMingroom v 2 3 2 Dashbaord bearbeiten Zum bearbeiten des Dashboardes die Startseite mit den meistgenutzten Funktionen dr cken Sie im Men auf Settings gt Dashbaord Danach verfahren Sie wie in 2 3 1 beschrieben Anhange 97 2 4 Szenen Szenen k nnen dazu genutzt werden um bestimmte licht Stimmungen herzustellen oder mehrere Ger te ein oder auszuschalten Eine Szene k nne sein Alle Ger te im Wohnzimmer aus oder Sende eine Push Nachricht Diese Szenen k nnen in den jeweiligen R umen durch Schaltfl chen oder durch festgelegte Regeln und Timer aufgerufen werden Um in die Einstellungen dieser Szenen zu gelangen dr cken Sie im Men auf Settings gt Scenes Hier k nnen Sie Szenen hinzuf gen diese bearbeiten oder durch Add Scene dr cken auf das X wieder entfernen Make Coftee Normal light Comore in Langom Push Boll 2 4 1 Szene hinzuf gen bearbeiten Um eine Szene hinzuzuf gen dr cken Sie auf Add Scene Zum Bearbeiten dr cken sie auf die jeweilige Schaltfl che der zuvor angelegten Szene Sie gelangen nun in die Maske zum bearbeiten der Szene Scene Setings measo enter ne sewngs ror your scene Geben Sie im Feld unterhalb von Scene name einen Scene namo gew nschten Namen f r diese Scene ein Optional k nnen Sie diese Scene unter Comment mit einem Kommentar versehen Sie k nnen der Scene nun durch dr cken auf Add in
9. http www raspberrypi org 1 75 million sold and 1 million made in the uk 6 Upton Eben Raspberry Pi Foundation ABIRTHDAY PRESENT FROM BROADCOM Online 28 Februar 2014 Abgerufen am 7 Juli 2014 http www raspberrypi org a birthday present from broadcom 7 Broadcom Online Abgerufen am 18 Mai 2014 http www broadcom com products BCM2835 8 Rapberry Pi Online Abgerufen am 17 Mai 14 http www raspberrypi org help fags 9 Raspberry Pi Foundation Downloads Online Abgerufen am 7 Juni 2014 http www raspberrypi org downloads 7 Literaturverzeichnis 83 10 Upton Eben Raspberry Pi Foundation ANDROID 4 0 IS COMING Online 31 Juli 2012 Abgerufen am 7 Juni 2104 http www raspberrypi org android 4 0 is coming 11 Atmel AVR315 Using the TWI module as I2C master Online 2010 Abgerufen am 7 Juni 2014 http www atmel com Images doc2564 pdf 12 Irazabal Jean Marc und Irazabal Steve AN10216 01 I2C Manual Online 24 Marz 2003 Abgerufen am 7 Juni 2014 http Awww nxp com documents application_note AN10216 pdf 13 Schroder Joachim Gockel Tilo und Dillmann Rudiger Embedded Linux Das Praxisbuch ISBN 978 3 540 78619 1 Berlin Heidelberg Springer 2009 14 Embedded Systems Academy Overview of the Different Versions of the I2C Specification Online Abgerufen am 11 Juni 2014 http www esacademy com enl library technical articles an
10. werden mit positiver Logik bertragen Most Significant Bit first C ist nicht als Feldbus geeignet und beschr nkt sich durch die maximal erlaubte Buskapazit t von 400pF auf nur 2 bis 3 Meter 12 13 15 Die gesamte Kommunikation wird ber nur zwei Signalleitungen abgewickelt Davon ist eine Takt SCL und eine Datenleitung SDA Beide Leitungen sind ber Pull Up Widerst nde mit der Versorgungsspannung Vcc typischerweise 5 V verbunden S mtliche am Bus angeschlossene I C Ger te besitzen einen Open Collector Ausgang Im Zusammenhang mit den Pull Up Widerst nden ergibt dies eine sogenannte Wired And Schaltung erm glicht unter anderem die Arbitrierung 16 17 Der High Pegel sollte mindestens 0 7 x Vcc betragen der Low Pegel h chstens 0 3 x Vcc Der High Pegel entspricht dabei einer logi schen 1 der Low Pegel einer logischen 0 das hei t der I C Bus arbeitet mit einer positiven Logik 13 S 134 135 15 S 9 Abbildung 3 I C Bus mit einem Master und 3 Slaves 15 S 8 Wie oben erw hnt wird das Taktsignal auf dem I C Bus von dem Master vorge geben F r die verschiedenen Modi wird die jeweils in der Spezifikation vorge gebene Taktrate verwendet Ben tigt einer der Slaves mehr Zeit kann er zwi 2 Technische Grundlagen 15 schen der Ubertragung der einzelnen Bytes die SCL Leitung auf Low ziehen Clock Stretching und den Master dadurch ausbremsen Der Bus Master rea giert und richtet sich nun for
11. 56 Abbildung 32 Platinenlayout Prototyp 2 rot Vorderseite blau R ckseite Massefl chen ausgeblendet 04 nn 56 Abbildung 33 Unbest ckte Platine uu 24444444444RR Rn nnnnnnnnnnnn 57 Abbildung 34 Fertig best ckte Platine mit Anschlussbelegung 57 Abbildung 35 verwendetes Vorgehensmodell V Modell 58 Abbildung 36 Projek Struktursen zusehen 65 Tabellenverzeichnis 8 Abbildung 37 Screenshot der YUIDoc Source Code Dokumentation 66 Abbildung 38 Programmablaufplan Login 24444mmnnnnnnneeennennnnnn 67 Abbildung 39 Benutzeroberfl che Desktop und Mobil 69 Abbildung 40 Benutzeroberfl che Men 22444444snnnnnnnneeenennnnnnnn 70 Abbildung 41 Zufalls URL generieren 4444444440nnnnnnnnnnnennnnnnnnnnnnnn 72 Abbildung 42 Ergebnis Geschwindigkeitstest Webseitenaufbau 78 Abbildung 43 fertiggestellte Haussteuerung Prototyp 2 Raspberry Pi 80 Tabellenverzeichnis Tabelle 1 Versionshistorie I C Spezifikationen 13 14 13 Tabelle 2 Hardwarespezifikation Prototyp 1 eseeeeeeeeeeeeeeeeeeeeeeeeeees 28 Tabelle 3 Hardwarespezifikation Prototyp 2 eeseeeeeeeeeeeeeeeeeeeeeeeeeaes 29 Tabelle 4 Vorab Softwar
12. Datenbanken als Session Store mangelt es bei allen drei Datenbanken nicht Ergebnis Allgemein waren alle Datenbanken fur dieses System geeignet gewesen Die Wahl viel schlussendlich auf MongoDB Der etwas geringere Entwicklungsauf wand und der Geschwindigkeitsvorteil fuhrten zu dieser Wahl 3 4 Wahl einer geeigneten Open Source Lizenz Der komplette Quellcode der im Zusammenhang mit dieser Arbeit entwickelten Software soll nach Fertigstellung im Internet ver ffentlicht und kostenlos zur Verfugung gestellt werden Um mich als Entwickler vor m glichen rechtlichen Konsequenzen zu sch tzen sollte nun eine geeignete Open Source Lizenz gefunden werden Da es mir bei dieser Arbeit darum geht dass jede Person einschlie lich juristi scher Personen wie Firmen die M glichkeit haben soll meinen Quellcode un eingeschr nkt nutzen zu k nnen sollte die verwendete Lizenz diese Klausel beinhalten Wird mein Quellcode oder Teile dessen in einem anderen Projekt verwendet so sollte es m glich sein dieses Projekt auch unter einer anderen Lizenz zu ver ffentlichen als der verwendete Quellcode Auch wenn der Quellcode uneingeschr nkt nutzbar ist so sollte es nicht m g lich sein dass z B Firmen behaupten k nnen sie h tten den Quellcode kom plett selber geschrieben Das hei t ein Urheberrechtsvermerk mit meinem Na men sollte weiterhin bestehen bleiben Des Weiteren sollte mich die gew hlte Open Source Lizenz vor Datenverlust
13. Dritter und jeglicher Rechtsverletzung sch tzen Alle vorher genannten Punkte werden z B durch die MIT Lizenz oder BSD Lizenz abgedeckt Der Unterschied beider Lizenzen liegt darin dass die BSD Lizenz ausschlie t den Namen des Urhebers zu Werbezwecken zu verwenden 3 Analyse und Konzeptentwurf 38 Da ich kein Problem darin sehe dass mit meinem Namen geworben wird und ich die gr tm gliche Anzahl an Entwickler erreichen m chte wird die hier ent standene Software unter MIT Lizenz ver ffentlicht Lizenztext The MIT License MIT Copyright c lt year gt lt copyright holders gt Permission is hereby granted free of charge to any person obtaining a copy of this software and associated documentation files the Software to deal in the Software without restriction including without limitation the rights to use copy modify merge publish distribute sublicense and or sell copies of the Software and to permit persons to whom the Software is furnished to do so subject to the following conditions The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software THE SOFTWARE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND EXPRESS OR IMPLIED INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM DAMAGES OR OTHER LIA
14. Gelb Fehler in Rot Verwendung in diesem Projekt Alle Fehler werden zusammen mit einer kurzen Beschreibung und der Modul bezeichnung an Winston Ubergeben So lasst sich spater schnell herausfinden an welcher Stelle und in welchem Modul dieser Fehler aufgetreten ist Im Un terschied zum Produktivbetrieb verfugt man wahrend der Entwicklungszeit in der Regel Uber eine Konsole Winston wurde so konfiguriert dass die Umge bungsvariable process env NODE ENV dahingehend gepr ft wird ob es sich um ein Produktivsystem oder ein Entwicklungssystem handelt Wahrend des Entwicklungsbetriebs wird die Ausgabe in der Konsole vorgenommen im Produktivbetrieb werden die Fehler im JSON Format zusammen mit Uhrzeit Fehlerbeschreibung und diverser Metainformationen in eine Datei geschrieben 5 Erprobung 77 5 Erprobung 5 1 Performance Tests Verschiedenste Browser wurden bez glich des Seitenaufbaus sowie der Reak tionsgeschwindigkeit bei System nderung getestet Der Testrechner besitzt folgende Hardware und Softwarekonfiguration Prozessor Intel Core i7 2600K 4 x 3 4 GHz RAM 16 GB DDR3 1333 MHz Festplatte SSD 240 GB OCZ Vertex 2 Betriebssystem Windows 8 Getestet wurden folgende Browser e Mozilla Firefox Version 29 0 1 e Google Chrome Version 35 0 1916 114 e Apple Safari Version 7 0 3 e Internet Explorer 11 0 9000 16384 Webseitenaufbau Zur Zeitmessung des Webseitenaufbaus wurden die browsereigenen Mess werkzeuge ver
15. Node js oder als JScript ASP auf dem Microsoft IIS Microsoft Internet Informa tion Services 31 Teilweise wird die Sprache JavaScript in einigen Spiele und Anwendungsprogrammen als Skriptsprache verwendet 32 Die NoSQL Datenbank MongoDB setzt ebenfalls Javascript ein und kann unter anderem f r Abfragen und Aggregationsfunktionen verwendet werden 33 2 Technische Grundlagen 23 In der Spezifikation von Ecma wird die Verwendung von ECMAScript als Skript sprache wie folgt erlautert A scripting language is a programming language that is used to manipulate customise and automate the facilities of an existing system In such systems useful functionality is already available through a user interface and the scripting language is a mecha nism for exposing that functionality to program control 28 S 2 Die Verwendung einer serverseitigen Anwendung findet in dieser Spezifikation ebenfalls eine Erwahnung A web server provides a different host environment for server side computation including objects representing requests clients and files and mechanisms to lock and share data By using browser side and server side scripting together it is possible to distribute computation between the client and server while providing a cus tomised user interface for a Web based application 28 S 2 2 2 2 Google V8 Google V8 ist eine auf Ausf hrungsgeschwindigkeit optimierte Open Source Javascript Laufzeitumgebung Si
16. der Dimmer 1 Location Out of the window v Add jeweiligen Kategorie Z Wave Ger te Interne Ausg nge oder HTTP Psudo Devices hinzu Ambiente light peaton Lvngocn Stellen Sie die gew nschten Werte der Ger te ein die bei 28 Aufruf dieser Szene angenommen werden sollen Es l sst sich au erdem durch dr cken auf Create webhook URL eine sogenannte Webhook URL generieren die genutzt werden kann die ausgew hlte Szene in Drittanbieter Anwendungen ausf hren zu lassen Dr cken Sie Save zum Abschlie en des Vorgangs 10 Anhange 98 2 5 Regeln Regeln k nnen dazu genutzt werden Szenen in Abh ngigkeit von Ger tezust nden auszuf hren Um in die Einstellungen dieser Regeln zu gelangen dr cken Sie im Men auf Settings gt Rules Hier k nnen Sie Regeln hinzuf gen diese bearbeiten oder durch dr cken auf das X wieder entfernen 25 1 Regeln hinzuf gen bearbeiten Um eine Regel hinzuzuf gen dr cken Sie auf Add Rule Zum Bearbeiten dr cken sie auf die jeweilige Schaltfl che der zuvor angelegten Regel Sie gelangen nun in die Maske zum bearbeiten der Regel input 1 postion Geben Sie im Feld unterhalb von Rule name einen gew nschten Ir Namen f r diese Regel ein Optional k nnen Sie diese Regel unter Rule Comment mit einem Scenes which should be triggered Kommentar versehen Ai ofl Comment in Uviegoom v Add Sie k nnen der Regel nun durch dr cken auf Add in der jew
17. durch das komplette Haus gelegt werden zu k nnen muss die Schaltung zus tzlich gegen eventuell auftretende elektrostatische Aufladung gesch tzt werden Um diesen Schutz zu gew hrleisten wurde das Bauelement DS9503 der Firma Maxim Integrated verwendet Ein integriertes SMD Bauteil bestehend aus einer Zenerdiode und zwei 5 Q Widerst nden zur Isolation der Anode und Kathode Diese geringen Widerst nde sind w hrend der Kommunikation vernachl ssig bar doch stellen sie eine hohe Impedanz in Bezug auf die leitende Diode w h rend eines ESD Ereignisses dar Kommt es zu einer Entladung so absorbiert die Zenerdiode die bersch ssige Energie w hrend die Widerst nde die Schal tung isolieren und sch tzen Wird dieses Bauteil an I O Ports verwendet die schon einen ESD Schutz besitzen so k nnen Entladungen oberhalb von 27 kV abgefangen werden 52 Abbildung 27 DS9503 im TSOC Package N here Informationen zu den oben genannten Bauteilen k nnen den Datenbl t tern 51 52 entnommen werden Hinweis Die Anschl sse des 1 Wire Bus wurden auf der Platine zum einen auf Schraubanschlussbuchsen und zum anderen auf eine RJ45 Anschlussbuchse ausgef hrt Belegung siehe Abbildung 34 Kapitel 4 1 11 4 Entwicklung und Umsetzung 54 4 1 8 Schaltplan Anhand der Spezifikation und der verwendeten Bauteile wurde mithilfe der PCB Design Software Eagle ein Schaltplan erstellt Der Schaltplan des ersten Prototypen ist im Anhang A1 zu fin
18. durch diesen Timer ausgef hrt werden soll Durch dr cken auf Add wird die gew hlte Scene hinzugef gt Dr cken Sie Save zum Abschlie en des Vorgangs Anhange 100 Bedienungsanleitung Webint 2 7 Benutzeraccount 2 7 1 Benutzeraccount bearbeiten Um Ihren Benutzernamen und oder das Passwort zu ndern w hlen Sie im Men Settings gt Useraccount Hier k nnen Sie nun Ihren Benutzernamen und Ihr Passwort ndern Edit useraccount 2 5 x Geben Sie nun im Feld unterhalb von User name einen gew nschten User name Benutzernamen ein admin Password Daraufhin tragen im Feld unterhalb von Password Ihr gew nschtes COMPLEXITY SE Passwort ein COMPLEXITY zeigt an ob Ihr gew hltes Passwort sicher repre pemon genug ist Es muss mindestens eine Komplexit t von 20 erreicht werden Verwendenden Sie am besten eine Kombination aus Buchstaben in Gro und Kleinschreibung Zahlen und Sonderzeichen Wiederholen Sie die Eingabe des Passworts im Feld Unterhalb von Repeat Password Schlie en sie den Vorgang durch dr cken auf Save ab 2 8 Webcams Besitzen Sie eine Webcam die MJPG Codierte Video Streams liefern kann so haben Sie die M glichkeit diese durch das System verschl sseln zu lassen Der Stream wird dann ber die selbe verschl sselte Verbindung durchgereicht ber die auch ihr Webinterface verbunden ist Um in die Webcam Einstellungen zu gelangen rufen Sie im Men Settings gt We
19. eos nannten dee nahen udn 2 Hinweisen ic tecnica ea aa EA EEEa E LAE AA E E aS 3 Inhaltsyverzeichnis ass a ee 4 Abbildungsverzeichnis s amp 000000G000sonaietoseenan nun annnannnnnaen ann unnanen anne hann nen 7 Tabellenverzeichnis PERPBERPRSPENEREBEREFFEREFPEEHTIEFOBLNEETDEFCEBESPERFEESTEFTEEECPELFTEFFPECPERLPEEFFREFARER 8 Abk rzungsverzeichnis 4440004440000000nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nn 9 1 MPU RUNG EARRRRERE SAN E REN DEERNHERORPRERERREEREHERE Aaaa aa NEE SEERENERERERSEUEREREHRERE 10 121 MIO EIWALIGIN 35 Sack chee isc see 10 1 2 Zielsetzung dieser Arbeit cccccccccecececceeedeeedeeeecccecccneedeceseteneeeeeeeenese 10 2 Technische Grundlagen ec tcecciisicsscdcccecccne ts vatntanccadelaceceasicpussbedcnk cecaunnaceeaanct 11 2 1 Hardware nee Renee hehe arte ts 11 2 121 Raspberry Pia 2 22 ea 11 212 VO Biester hr A ee le 18 2 13 IE Wire BUS lee rennen kenne 16 2 14 ZW AVG essen 20 2 2 SOIWal en ee 22 221 JavaScripti eenaa tise siesta nals alate ee bee 22 2 2 2 Google VB ee SENA 23 2 2 9 Node nassen 25 3 Analyse und Konzeptentwurf unnsssssssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nn 27 3 1 Spezifikation und Anforderungsanalyse ccseeceeeeeeeeeeeeeeeeeeeeeees 27 3 1 14 Moruberllegungsessn 2 23 nase 27 31 2 SPeziIKalon esse 28 3 1 3 Anlorderungsanalysei 22 22 e Kl 29 3 2 Eignung von Node js als Serverplattform uusssneeenn essen 33 3 3 Wah
20. gen zwave includeDevice true Schalter mit der Node ID 1 einschalten zwave setSwitchValue 1 true Dimmer mit der Node ID 2 auf 50 Dimmen zwave setSwitchMultilevelValue 2 50 Batterystatus von Ger t mit der Node ID 3 abfragen zwave getLastBatteryValue 3 Z Wave Ger t auf dem System entfernen zwave excludeDevice true 4 Entwicklung und Umsetzung 65 4 2 5 Projektstruktur Zur besseren Ubersicht des Software Projekts wurden die einzelnen Pro grammteile ausgegliedert und strukturiert in Ordnern abgelegt Anhand dieser Struktur Abbildung 34 lassen sich die verschiedenen Programmteile im Pro grammcode wesentlich besser nachvollziehen Applikation Haussteuerung beihaltet die main js zum starten der Applikation SSL Zertifikat und Private Key Konfiguarationsdateien f r Datenbank Routing und System zur Applikation geh rende Module Module aus externen Projekten statische Inhalte die f r die Webseite n tig sind z B CSS Dateien und Bilder Routing Dateien zu den zugeh rigen Main Views Routing Dateien zu den Setting Views beinhaltet die Main Views z B der Login View Abbildung 36 Projekt Struktur beinhaltet die Setting Views z B der Timer View 4 2 6 Source Code Dokumentation mit YUIDoc Der Source Code dieser Node JS Anwendung wurden so programmiert dass er ohne Kommentare auskommen w rde Dazu wurden Funktionsnamen verwen det di
21. sind jQuery Mobile beinhaltet eine Vielzahl grafischer Elemente wie z B Schalter Datepicker Icons und viele mehr Jedes dieser Elemente l sst sich per JavaScript ansprechen um seinen Zustand von au en ver ndern zu k nnen Mit jQuery Mobile erstellte Webapplikationen laufen auf einer Vielzahl derzeit auf dem Markt befindlicher Browser wie z B Chrome Firefox Safari und Internet Explorer sowohl in der mobilen Variante als auch in der Desktop Variante Verwendung in dieser Arbeit jQuery Mobile wurde verwendet um die grafische Benutzeroberfl che Webin terface der Haussteuerung zu gestalten Die gute Browserunterst tzung stellt sicher dass das System sp ter auf einer Vielzahl von Ger ten unabh ngig vom Betriebssystem genutzt werden kann Express Express ist ein leichtgewichtiges und flexibles Open Source MIT Framework zur Erstellung von Webapplikationen mithilfe von Node js Es bietet eine Viel zahl an Funktionen und eine sehr gut dokumentierte API Verwendung in dieser Arbeit Express wird verwendet um die dynamisch erstellten Webseiten an den Browser auszuliefern Des Weiteren ist es zust ndig f r Weiterleitungen zu wei terf hrenden Seiten z B nach dem Senden eines Formulars und die korrekte Abwicklung von Sessions 4 Entwicklung und Umsetzung 60 EJS EJS ist ein Open Source JavaScript Rendering Framework MIT zur Erstellung von Templates Es erm glicht das Rendern von HTML Seiten aus einem Ja
22. weiter und umgekehrt Wie erwartet funktionierte die Kommunikation mit dem im Erdgeschoss platzierten Ger t reibungslos Testbedingung 4 ein akives Z Wave Ger t im Erdgeschoss ein passives batteriebetriebenes Ger t im Erdgeschoss Steuerung in 1 Etage Auch dieser Test verlief ohne Probleme die Kommunikation mit dem passiven Ger t funktionierte problemlos Fazit Die Reichweite des Z Wave Moduls ist zwar begrenzt stellt aber bei einer Kon figuration mit mehreren aktiven Ger ten die zusammen ein vermaschtes Netz werk herstellen keinerlei Probleme dar 6 Fazit und Ausblick 80 6 Fazit und Ausblick 6 1 Fazit Im Rahmen dieser Arbeit ist eine solide Hard und Softwarel sung zur Heimau tomatisierung entstanden Durch den Einsatz einer grafischen Benutzeroberfl che basierend auf einer Webapplikation kann das System von vielen mobilen Ger ten und Desktop Ger ten aus gesteuert werden Bedingt durch die Ver wendung des Websocket Protokolls kann eine bidirektionale Verbindung mit dem Browser hergestellt und durch Ereignisse hervorgerufene nderungen di rekt an diesen bertragen werden Die entstandene Software bietet eine gute Grundlage um in weiteren Open Source Projekten vielleicht auch nur in Teilausz gen Anwendung zu finden Schon in der jetzigen Software Entwicklungsstufe lassen sich viele Szenarien im Bereich der Heimautomatisierung abdecken Durch eine gute Dokumentation des Source Codes ist es ander
23. wie die drahtlose Kommunikation verwendet werden die es erm glichen dieses System sowohl in Neu als auch in Altbauten verwenden zu k nnen Fabian Behnke Title of the paper Development and construction of hard and software for an event driven open source home control system with web based access Keywords Hardware development Software development Home control Home automa tion Raspberry Pi Singe board computer I2C 1 Wire Z Wave Wireless communication Abstract The focus of this thesis is on analysis conceptual design and development of an open source hard and software solution to control your home To use this system in new or existing buildings technologies like wireless communications are used to make this possible Hinweise 3 Hinweise Fachbegriffe wurden wenn es sinnvoll erschien ins Deutsche ubertragen Wurde der Begriff aus der englischsprachigen Fachliteratur bernommen oder die deutsche bersetzung eines Fachbegriffs ist un blich wurden die Begriffe in der Originalsprache belassen Eigennamen und englische Fachbegriffe sind in der Arbeit kursiv gesetzt Der bez glich dieser Arbeit produzierte Quellcode sowie die hier verwendeten Datenbl tter sind bei Herrn Prof Dr Ing Robert Fitz an der Hochschule f r An gewandte Wissenschaften in Hamburg in Form einer DVD hinterlegt Inhaltsverzeichnis 4 Inhaltsverzeichnis POU ZI AS SUING isaac cts ieee a a ated eta ee une eaiay 2 ADStract 3 ee
24. Anzahl X von Elementen erzeugen Jedes Element erh lt ID SHA512 Hashwert dieser ID und einem String mit einem von 8 deutschen St dtenamen 2 Array mit der selben Anzahl X an Elementen erzeugen Jedes Element besteht aus einer ganzzahligen Zufallszahl zwischen O und der Anzahl X minus 1 Zeitmessung Schreiben starten 4 Alle Elemente des JavaScript Objekts sequenziell in Datenbank schrei ben Zeitmessung Schreiben stoppen Zeitmessung Lesen starten X Objekte aus Datenbank mit ID Zufallszahlen aus Array holen 8 Zeitmessung Lesen stoppen w N Das beschriebene Testprogramm wurde f r alle Datenbanken f r die Anzahl der Lese Schreibzugriffe X 10 20 50 100 500 1000 2000 einhundert Mal ausgef hrt und die Ergebnisse ber die Anzahl der Durchl ufe gemittelt Um die Testbedingungen so nahe an der Realit t wie m glich zu gestalten wurden die Tests auf der selben Systemumgebung durchgef hrt auf dem die Datenbank sp ter betrieben werden soll Raspberry Pi Node js Als Daten banktreiber f r Node js kamen zum Einsatz e Mysql MySQL e Mongoose MongoDB e Nano CouchDB 5 NoSQL Systeme zeichnen sich dadurch aus dass sie nicht den Ansatz einer rationalen Da tenbank verfolgen die ihre Daten in Tabellen mit einem bestimmten Schema abspeichern sondern in Dokumenten ohne vordefiniertes Schema 3 Analyse und Konzeptentwurf 36 Schreibdauer 250000 200000 T 150000 5
25. BILITY WHETHER IN AN ACTION OF CONTRACT TORT OR OTHERWISE ARISING FROM OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE 3 Analyse und Konzeptentwurf 39 3 5 Vorauswahl der ben tigten Bauteile Bei der Auswahl der Komponenten habe ich mir im Vorfeld Gedanken gemacht und hier in einer Tabelle zusammengefasst Eine n here Betrachtung einiger Komponenten ist im Kapitel 4 1 Hardware zu finden Prototyp 1 Anzahl 1 Bauteil Raspberry Pi Europlatine 100x160mm Step Down Wandlermodul FDC6301N MCP23017 E SP ULN2803AN MCP3423 E SL DS2482S 100 DS9503P Funkmodul RaZberry SOIC14 Adapterplatine SOIC8 Adapterplatine SOT23 6 Adapterplatine Kondensator 100 nF Kondensator 10 uF Widerstand 100 Ohm Widerstand 10 kOhm Widerstand 22 kOhm Widerstand 47 kOhm Zenerdiode 4 7 V Schraubkontakt 1 5 mm RJ45 Buchse USB Buchse Stapelbare Buchsenleiste Pin Header Leiste Abstandsbolzen Sechskantmutter Schraube Beschreibung Modell B 512 MB Ram Lochraster 2 54 mm basierend auf dem LM2596 Mosfet N Kanal Dual 25 V 0 22 A IC 16 Bit I O Erweiterung Darlington Transistor Netzwerk 4 Kanal Delta Sigma Wandler I C 1 Wire Bridge 1Wire Protection Diode Z Wave Funkmodul SOIC14 auf 2 54 mm Raster SOIC8 auf 2 54 mm Raster SOT23 6 auf 2 54mm Raster Keramik 16 V 10 Toleranz Tantal 16 V 10 Toleranz 4 W 5 Toleranz 4 W 5 Toleranz 4 W 5 Toleranz 4 W 5 Toleranz 5 W 5
26. Fakultat Technik und Informatik Department Informations und Elektrotechnik Hochschule f r Angewandte Wissenschaften Hamburg Hamburg University of Applied Sciences Bachelorthesis Fabian Behnke Hard und Softwareentwicklung einer ereignis gesteuerten Open Source Haussteuerung mit webbasiertem Zugriff Faculty of Engineering and Computer Science Department of Information and Electrical Engineering Fabian Behnke Hard und Softwareentwicklung einer ereignisge steuerten Open Source Haussteuerung mit web basiertem Zugriff Bachelorthesis eingereicht im Rahmen der Bachelorprufung im Studiengang Informations und Elektrotechnik am Department Informations und Elektrotechnik der Fakultat Technik und Informatik der Hochschule fur Angewandte Wissenschaften Hamburg Betreuender Pr fer Prof Dr Ing Robert Fitz Zweitgutachter Prof Dr rer nat Henning Dierks Abgegeben am 09 Juli 2014 Fabian Behnke Thema der Bachelorthesis Hard und Softwareentwicklung einer ereignisgesteuerten Open Source Haussteuerung mit webbasiertem Zugriff Stichworte Hardwareentwicklung Softwareentwicklung Haussteuerung Hausautomati sierung Raspberry Pi Einplatinencomputer I2C 1 Wire Z Wave drahtlose Kommunikation Kurzzusammenfassung Diese Arbeit befasst sich mit der Analyse dem konzeptionellen Entwurf und der Entwicklung einer Open Source basierten Hard und Softwarel sung zur Steuerung des Eigenheims Dabei sollen Technologien
27. GET request to a REST API Parameters data Object Data object like this reqmode post url myurl username myun password mypw args value 123 argument tomato value 345 argument carrot callback Function Callback function with error and response get url user pass args callback Defined in Lib httpPseudoDevice coffee 12 get is a function for sending a HTTP GET request to a REST API Abbildung 37 Screenshot der YUIDoc Source Code Dokumentation YUIDoc Projekt Webseite http yui github io yuidoc 4 Entwicklung und Umsetzung 67 4 2 7 Dynamische Webseitengenerierung mit Express und EJS Das Zusammenspiel der Module Express und EJS erm glicht das dynamische Generieren von Webseiten nach einem hnlichen Konzept wie bei PHP Das nachfolgende Beispiel soll das verwendete Konzept n her verdeutlichen Aufruf der Seite Login Wird im Webbrowser die Loginseite http node js server login angefordert so springt der Node JS Server an die folgende Stelle im Code app get login login Diese Funktion bewirkt den Aufruf der vorher definierten Route Funktion login function req res User count function err count if count 0 res redirect 1lstStart jelse res render login title Login auth ok Doch was tut diese Route Funktion Zuerst wird die Anzahl der am System registrierter Benutzer gez hlt Ist die An zahl 0
28. IO zu kommunizieren und der Unterst tzung des Betriebssystems Linux gew hlt 3 Analyse und Konzeptentwurf 28 3 1 2 Spezifikation Die folgende Spezifikation wurde bei der Entwicklung als Ziel gesetzt und da raufhin dementsprechend umgesetzt Hardwarespezifikation Platinengr e Spannungsversorgung Vin Hardware zur Steuerung und Aus lieferung des Webinterface Netzwerkanbindung M glichkeit der Spannungsversor gung des Raspberry Pis ber Vin Anzahl digitaler Ausg nge DO Spannung an DO max Ausgangsstrom pro DO Anzahl digitaler Eing nge DI Spannung an DI Anzahl analoger Eing nge Schnittstelle zur Kommunikation mit drahtlosen Ger ten Schnittstelle zur Kommunikation mit Temperatursensoren Anschlussm glichkeit der 1 Wire Sensoren Schutz des 1 Wire Bus gegen elekt rostatische Aufladung Prototyp 1 Europlatine 100x160mm 12 24 VDC Raspberry Pi ber in Raspberry Pi integrierte Netz werkschnittstelle per WLAN mit USB WLAN Stick 5 V Step Down Wandler uber USB Buchse auf der Platine 8 auf Schraubkontakten Abh von Versorgungsspannung Vin 500 mA 8 auf Schraubkontakten Tolerante Eing nge 5 24 V 4 auf Schraubkontakten Z Wave 1 Wire RJ45 Schraubkontakte Bis 27 kV Tabelle 2 Hardwarespezifikation Prototyp 1 3 Analyse und Konzeptentwurf 29 Aufgrund einer weiterfuhrenden Entwicklung wurde ein zweiter Prototyp entwor fen Dieser Prototyp sollte in ers
29. Key To bagin using our API to send notifications use this application s API token Edit Application Name Tost The Smarter Pi Anhange 108 Konfiguration HTTP Pseudo Device Fugen Sie wie unter 2 2 3 beschrieben ein neues HTTP Pseudo Device hinzu New HTTP pseudo device Please enter the settings for the HTTP pseudo device Device name HTTP request mode Username Tragen Sie beim 1 Argument folgendes ein Argument user Value der zuvor aufgeschriebene Benutzerschl ssel Userkey Tragen Sie beim 2 Argument folgendes ein Argument token Value der zuvor aufgeschriebene API Token Key Tragen Sie beim 3 Argument folgendes ein Argument message Geben Sie nun im Feld unterhalb von Device name einen Namen f r das Ger t ein hier z B Push Benachrichtigung Klingel Unter Location k nnen Sie den Dienstenamen eintragen hier z B Pushover Wahlen Sie bei HTTP request mode POST Tragen Sie im Feld URL folgende URL ein https api pushover net 1 messages json Lassen Sie die Felder Username und Password leer F gen Sie durch dr cken des Buttons Add 3 weitere Argumente hinzu Value die Nachricht die auf Ihrem Smartphone angezeigt werden soll Schlie en Sie den Vorgang durch dr cken auf Save ab F gen Sie nun das eben erstellte HTTP Pseudo Device wie unter 2 4 beschreiben einer gew nschten Szene hinzu Wird diese Szene aufgerufen so wird eine Push Benachrichtigung
30. MongoDB 2 100000 a CouchDB 50000 MySQL 0 10 20 50 100 200 500 1000 2000 Anzahl Schreibzugriffe Abbildung 12 Schreibdauer Datenbankenvergleich Zugriffsdauer 160000 140000 120000 100000 5 80000 MongoDB 5 60000 CouchDB 40000 20000 MySQL 0 10 20 50 100 200 500 1000 2000 Anzahl Lesezugriffe Abbildung 13 Zugriffsdauer Datenbankenvergleich Die gemessenen Werte zeigen einen deutlichen Geschwindigkeitsvorteil bei MongoDB und MySQL gegen ber CouchDB sowohl im Schreibzugriff als auch im Lesezugriff Im Schreibzugriff ist MongoDB etwas schneller als MySQL im Lesezugriff ist es umgekehrt Insgesamt gesehen sind MySQL und MongoDB von der Geschwindigkeit her bei dieser geringen Anzahl von Zugriffen in etwa gleich schnell Enwicklungsaufwand Gerade beim Entwicklungsaufwand sind die beiden NoSQL Datenbanken im Vorteil Es m ssen keine Schemata f r einzelne Tabellen und deren Relationen zu einander entwickelt werden F r alle drei Datenbanken sind Treibermodule 3 Analyse und Konzeptentwurf 37 fur Node js erhaltlich sodass hier kein weiterer Entwicklungsaufwand notwen dig ist Der Zugriff auf die NoSQL Datenbanken wird Uber JavaScript Funktio nen zum Speichern und Abrufen der Daten gesteuert Der Zugriff auf die MySQL Datenbank funktioniert ebenfalls Uber JavaScript Funktionen allerdings mussen hier SQL Statements Ubergeben werden An verfugbaren Open Source Modulen zur Nutzung der
31. Ortsnamen Zeige Ort auf Mitteilungen Webhook umbenennen der Karte aktivieren Abbrechen Dr cken Sie auf Event gt URL Einstellungen Soll die zuvor erstellte Szene bei Ankunft des Standorts aufgerufen werden so tragen Sie unter Eintritt im Feld URL die zuvor erstellte Webhook URL ein Soll die zuvor erstellte Szene bei Verlassen des Standorts aufgerufen werden so tragen Sie unter Austritt im Feld URL die zuvor erstellte Webhook URL ein Ersetzen Sie lt your ip or domain gt durch Ihre IP bzw Ihre DynDNS Domain Wenn Sie SSL Verschl sselung nutzen ersetzen sie http durch https Klicken Sie auf lt Webhook um auf die vorherige Seite zu kommen Durch dr cken auf Betreten oder Verlassen k nnen Sie ihre Einstellungen Testen so Telekom de F 12 20 Webhook Event URL Einstellungen POST Format Authentifizierung Betreten Verlassen Rechtliche Hinweise 111 Rechtliche Hinweise H1 Urheberrechtserklarung Alle in dieser Arbeit verwendeten Fotos und Grafiken wurden eigens erstellt oder erhielten Nutzungserlaubnis durch die jeweiligen Rechteinhaber H2 Markenschutzrechtliche Hinweise Node js ist eine Marke der Joyent Inc Chrome ist eine Marke von Google Inc Pushover ist eine Marke von Superblock LLC Firefox ist ein eingetragenes Markenzeichen der Mozilla Foundation Internet Explorer ist ein eingetragenes Markenzeichen der Microsoft Corpora tion Windows ist ein e
32. Save zum Abschlie en des Vorgangs Anhange 95 2 2 2 Eing nge hinzuf gen bearbeiten Um einen Eingang hinzuzuf gen w hlen Sie in dem Dropdown Feld unterhalb von Intern Outputs den gew nschten Ausgang Output 0 7 dr cken Sie daraufhin auf Add Zum Bearbeiten eines zuvor hinzugef gten Eingangs dr cken Sie auf die Schaltfl che Grau des Eingangs Sie gelangen nun in die Maske zum Bearbeitern des jeweiligen Eingangs New Intern Input 0 Geben Sie nun im Feld unterhalb von Device name einen Namen Plone enter fie set nge for ho Intom device Device name f r das Ger t ein Location Unter Location k nnen Sie eintragen wo sich das Ger t befindet z B Wohnzimmer links hinter Sofa Hinweis Der Eintrag unter Location hat keinerlei Einfluss auf die sp tere Zuweisung eines Raumes und dient lediglich als Kommentarfeld Dr cken Sie Save zum Abschlie en des Vorgangs 2 2 3 HTTP Pseudo device hinzuf gen bearbeiten Zum hinzuf gen eines HTTP Pseudo devices dr cken Sie unterhalb von HTTP pseudo device auf Add Zum Bearbeiten eines zuvor hinzugef gten HTTP Ppeudo Devices dr cken Sie auf die Schaltfl che Grau des jeweiligen Eintrags Sie gelangen nun in die Maske zum Bearbeiten des HTTP Pseudo Devices New HTTP pseudo device a os Geben Sie nun im Feld unterhalb von Device name einen Namen fir Please enter the settings for the HTTP pseudo device das Ger t ein Devic
33. Sie in das Feld Password unterhalb von Password ein Dr cken Sie auf Let me in um sich am System anzumelden Sofern das System noch nicht eingerichtet ist wird Ihnen diese Seite angezeigt Sie soll einen kurzen berblich dar ber verschaffen was Sie nun noch zu tun haben Click here for menu Der rote Pfeil weist darauf hin dass sich das Men unter den drei Ist waagerecht verlaufenden Strichen verbirgt Add new room or dashboard rd Anhange 92 Bedienungsanleitung Webinterface 2 Einstellungen 2 1 Z Wave Um in die Einstellungen f r Z Wave Ger te zu gelangen dr cken Sie im Men auf Settings gt Z Wave In dieser Oberfl che k nnen Sie Z Wave Ger te in das System integrieren wieder auf dem System entfernen und bearbeiten Hinweis Zum bearbeiten eines Ger ts dr cken Sie auf die jeweilige Schaltfl che 2 1 1 Z Wave Ger t ins System integrieren Um ein Z Wave Ger t in das System zu integrieren dr cken Sie auf die auf Include new Z Wave device Folgender Hinweis erscheint nun auf Ihrem Bildschirm P Fi Please press a bution on Press a button on the device to be included the device to be included Or look in the manual to be Hinweis Zum abbrechen dieses Vorgangs dr cken Sie auf Stop ee Dr cken Sie nun auf den Include Taster auf Ihrem Z Wave Ger t Bitte entnehmen Sie der Bedienungsanleitung des jeweiligen Ger tes wo sich dieser befindet Oftmals ist es e
34. Temperatur k nnte man nur durch einen gro en K hlk rper kompensieren Bessere Methode Schaltregler Eine deutlich effizientere Spannungswandlung kann man durch einen Step Down Schaltregler erzielen Diese meist integrierten Bausteine erzielen Wir kungsgrade bis zu 96 und werden dadurch weniger warm 4 Entwicklung und Umsetzung 46 Prototyp 1 Hier wurde ein Step Down Wandlermodul basierend auf dem LM2596 Span nungswandler verwendet Dieses lasst eine maximale Eingangsspannung von bis zu 35 V zu und kann am Ausgang Uber ein Prazisionspotentiometer von 1 23 30 V einstellt werden Das Modul liefert einen maximalen Ausgangsstrom von bis zu 3A Abbildung 18 LM2596 Wandlermodul Prototyp 2 Aus Platzgr nden musste auf ein Bauteil zur ckgegriffen werden das um eini ges kleiner ist als das Modul des ersten Prototypen Das verwendete Bauteil TSR 1 2450 von der Firma Traco Electronic ist nur geringf gig gr er als ein Linearregler mit TO 220 Geh use liefert aber mit seiner Funktion als Schaltreg ler eine Spannung von 5 V mit bis zu 1 A an Ausgang bei einem Wirkungsgrad mit bis zu 94 Prozent Am Eingang lassen sich 6 5 36 V DC anschlie en Des Weiteren ist es pinkompatibel zum oben genanntem Linearregler und be n tigt keine weitere u ere Beschaltung Somit ist dieses Bauteil ideal um ineffiziente Linearregler durch effiziente Schaltregler zu ersetzen TSR 1 2450 a gt Abbildung 19 TSR 1 2450 Schaltr
35. Z Wave Funkmodul DS2482S 100 1 Wire Bridge OWFS 1 Wire Filesystem 12C Schnittstelle UART Schnittstelle Nur Prototyp 1 Z Way API Raspberry Pi Abbildung 17 Interaktion von Hard und Software 4 Entwicklung und Umsetzung 45 4 Entwicklung und Umsetzung 4 1 Hardware 4 1 1 Spannungsversorgung Als Spannungsversorgung soll ein handels bliches Netzteil mit 12 24 V DC mit mindestens 1A dienen Dar ber versorgt werden sollen e Raspberry Pi e alle sich auf der Platine befindlichen IC s und Module e optional Relais zum schalten von h heren Spannungen Str men Da der Raspberry Pi sowie die sich auf der Platine befindlichen IC s eine Span nungsversorgung von 5 V ben tigen muss die Eingangsspannung von 12 24 V m glichst effizient in 5 V gewandelt werden Ein g nstiger Linearregler w rde bei einer Eingangsspannung von 12 V einer Ausgangsspannung von 5 V und einem Ausgangsstrom von 1 A eine Abw rme mit einer Leistung von 7 Watt erzeugen Berechnung der Abw rme eines Linearreglers Aus der Spannungsdifferenz AU Ugingang Ususgang 12V 5V 7V und der dem maximalem Ausgangsstrom von 1 A kommen wir auf eine Verlust leitung von Pyeriust AU Imax 7V 1A 7W Ein LM7805 mit TO 220 Bauform besitzt einen Warmewiderstand von 50 C W somit wurde die Verlustleitung am Gehause eine Temperatur von C T Prertust 50 77 7 W 50 350 C verursachen Diese beachtliche
36. affen Heizung steuern Lichtstimmungen herstellen und die Vernetzung des Hauses immer bedeutender Es sind zurzeit viele Smart Home Systeme auf dem Markt die diese Leistungen erzielen Doch was kosten solche Systeme Inwieweit lassen sie sich noch nachtr glich in eine bestehende Elektroinstallation integrieren Und lassen sich diese Systeme den eigenen W nschen entsprechend anpassen Die sichersten und besten Systeme sind drahtgebundene Systeme wie EIB bzw KNX Doch sind solche Systeme sehr kostspielig Kosten beim Einfamili enhaus zwischen 15 000 und 30 000 je nach Ausstattung und lassen sich in eine bestehende Installation nur schlecht integrieren Die Hard und Software der meisten Systeme ist propriet r und l sst sich des halb nicht nach eigenen W nschen anpassen 1 2 Zielsetzung dieser Arbeit Ziel dieser Arbeit soll es sein eine kosteng nstige Open Source L sung zur Hausautomatisierung zu entwickeln die von jedermann angepasst oder wei terentwickelt werden kann Um eine gr tm gliche Anzahl von Personen anzu sprechen soll diese L sung einfach zu bedienen und sowohl in Neuinstallatio nen als auch in bestehende Installationen integriert werden k nnen 1 EIB Der Europaischer Installationsbus ist ein nach EN 50090 Standardisiertes Bussystem zur intelligenten Vernetzung moderner Haus und Gebaudesystemtechnik KNX ist die Weiteeentwicklung des EIB Standards durch eine Erweiterung um Konfigurati
37. aller Browser unter halb einer Sekunde lagen Trotz des ungenauen Messverfahrens sind diese Werte schon durch die augenscheinliche Betrachtung der Reaktionszeit mehr als zufriedenstellend 5 2 Z Wave Reichweitentest am Beispiel eines Einfamilienhauses Dieser Test wurde in einem Einfamilienhaus Baujahr 1964 Massivbauweise mit 4 Etagen Keller Erdgeschoss Obergeschoss und Dachboden durchge f hrt 5 Erprobung 79 Testbedingung 1 ein Z Wave Gerat im selben Raum wie die Steuerung Bei diesem Test wurde berpr ft ob die Reichweite der kleinen Antenne auf dem Z Wave Modul ausreichend ist um mit einem einzelnen aktiven Ger t im selben Raum zu kommunizieren Dazu wurde die Steuerung in einer Ecke des Raumes platziert und die Kommunikation mit dem Ger t in allen 3 anderen Ecken des Raumes berpr ft Obwohl das Ger t teilweise durch M bel wie Schr nke und einem Sofa verdeckt war funktionierte die Kommunikation hier reibungslos Testbedingung 2 ein Z Wave Ger t im Keller Steuerung in 1 Etage Bei diesem Test stellte sich heraus dass zwar ab und zu eine Kommunikation zwischen Steuerung und Z Wave Ger t stattfand diese aber nicht zuverl ssig funktionierte Testbedingung 3 ein Z Wave Ger t im Keller ein zweites Ger t im Erdge schoss Steuerung in 1 Etage Dieser Test verlief reibungslos das zweite Ger t im Erdgeschoss reichte die zur Kommunikation ben tigten Daten sicher an das im Keller platzierte Ger t
38. an Behnke Entwickler Idee Handbuch der Haussteuerung Benutzerkonto muss eingerichtet sein Anzeigen des Dashboards Startseite 1 Benutzer ffnet Website der Steuerung 2 Benutzer meldet sich mit Benutzerna men und Passwort an 3 Benutzer erh lt Systemzugriff Benutzer erh lt keinen Zugriff sehr hoch Grundvoraussetzung f r An wendung des Systems Funktion erm glicht Zugriff auf System Tabelle 6 Use Case Beispiel Benutzerauthentifizierung 3 Analyse und Konzeptentwurf 33 Use Case Diagramm Um die Use Cases bersichtlich darzustellen und zu verwalten gibt es spezielle Projektierungssoftware Dazu z hlen z B Microsoft Visio oder Visual Paradigm Mit ihnen lassen sich unter anderem komplette Softwareprojekte abwickeln und planen Aus den vorher definierten Use Cases l sst sich ein sogenanntes Use Case Diagramm mit allen zugeh rigen Stakeholdern und Abh ngigkeiten erstellen Hier eine beispielhafter Auszug des Use Case Diagramms f r diese Anwen dung Authentifizierung lt lt include gt gt ___ gibt Benutzername 7 e lt extend gt gt Ber undPasswortein 00cm egisineren f gt Temperaturverl ufe lt lt extend gt gt _ S hinzu Rauman J 5 gt TOTES f gt Ger te Benutzer hinzu lt lt extend gt gt a a nn ine ai acge Namen vergeben a ee lt lt extend gt gt f gt Z Wave Ger t hinzu Ort eintragen Abbildung 11 Use Case Diagramm zur besseren Darstellung
39. ange 107 Bedienungsanleitung Webinterface Anlegen einer Applikation Klicken Sie im selben Fenster Kontoeinstellungen wie eben auf Register an Application etwas weiter unten Pushover Tragen Sie nun den Namen Ihrer Applikation z B TheSmarterPi ein u Bei Type w hlen Sie Application This name should be short 20 charactor maximum such as Nagios Adium or Network Monito ii messages ane sent with Unter Description k nnen Sie eine kurze no title this name will be displayed Cannat be changed once cated Beschreibung Ihrer Applikation eintragen Pugin Das Feld URL lassen Sie bitte leer Best tigen Sie mit klicken auf die Checkbox dass Sie die Nutzungsbedingungen und die API this is a public app plugin you can include a UAL to paint to a homepage Github rapa or anything olsa related to the app Keine ausgew hlt To customize your app s notifications upload a 72x72 icon in PNG format transparent background preferred Any images net TAGE SE SaaS Bestimmungen gelesen haben By checking this box you aque that you have road our Terms of Service and ou Guide to Being Friendly to our APL Klicken Sie zum Abschluss auf Create Application API Token Key Im n chsten Fenster sehen Sie Ihren API Token bzw Key rot markiert ker Merken Sie sich den API Token dieser wird im n chsten Schritt bei der Konfiguration des Http Pseudo Devices ben tigt Test Application API Token
40. annung von 4 7 V verwendet F r den Vorwiderstand R1 stellte sich ein Wert von 22 kOhm als ideal heraus Als Pull Down Widerstand wurde ein 47 kOhm Widerstand verwendet dieser zieht den Eingang des MCP23017 sicher auf Masse Der Eingangswiderstand des MCP23017 ist sehr gering und konnte deshalb bei der Simulation vernachl ssigt werden 4 Entwicklung und Umsetzung 50 Insgesamt stellt sich fur eine Eingangsspannung von 5 V nun am Ausgang eine Spannung von 3 4 V ein Dies stellt sicher dass der MCP23017 diese Span nung sicher als High Level detektiert Bei einer Eingangsspannung von 24 V tritt eine Verlustleistung von 17 1 mW auf was bei eben genannter Spannung einen sehr geringen Strom von 712 5 pA entspricht 4 1 5 Ausg nge zur Relaisansteuerung In der Spezifikation wurde festgelegt dass die Ausg nge des Systems eine Spannung in Hohe der Versorgungsspannung Vin bei einem maximalen Strom von 500 mA liefern sollen um z B handels bliche Relais ansteuern zu k nnen Da die Ausg nge des MCP23017 eine Ausgangsspannung in H he von 5 V bei einem Strom von nur 25 mA liefern musste eine M glichkeit gefunden werden um die vorher spezifizierten Werte zu erreichen Des Weiteren musste sicher gestellt werden dass die Schaltung nicht durch ein eventuell angeschlossenes Relais durch die beim Abschalten der Spule induzierte Spannung zerst rt wird Um dieses zu erreichen wurde das ULN2803A von Texas Instruments verwen det und direkt an d
41. atenleitung kann zus tzlich als Spannungsversorgung vieler 1 Wire Ger te genutzt werden sodass man im Idealfall mit nur einer Ader und einer Masse verbindung f r eine Kommunikation mit einem oder mehreren 1 Wire Ger ten auskommt Es ist eine Vielzahl integrierter Bausteine mit 1 Wire Bus Anschluss verf gbar unter anderem zur Temperatur und Luftfeuchtemessung zur Akku berwa chung oder als Echtzeituhr Der 1 Wire Bus l sst eine sehr lange Leitungsl nge zu So ist es z B m glich ein Bussystem ber mehrere hundert Meter aufzu bauen abh ngig von der D mpfung und der Qualit t bzw Schirmung der Lei tung und der verwendeten Netzwerktopologie 13 18 2 Technische Grundlagen 17 R Data Optionale Spannunsversorgung g 7 l S Abbildung 7 1 Wire Bus mit einem Master und 3 Slaves Technische Beschreibung Wie auch schon beim I C Bus handelt es sich bei 1 Wire um einen Master Slave Bus jedoch mit dem Unterschied dass es auf dem Bus nur einen Master geben darf Single Master Bus Die maximale Anzahl an Busteilnehmern ist auf 100 begrenzt Das 1 Wire Protokoll ist bidirektional ausgelegt und Ubertra gene Daten werden mit negativer Logik gesendet Least Significant Bit first Die Spezifikation des 1 Wire Bus sieht zwei Geschwindigkeitsmodi vor 15 4 kbit s Standard Mode und 125 kbit s Overdrive Mode Jedes 1 Wire Ger t wird bei Fertigung mit einer einzigartigen 64 Bit Adresse versehen Diese Ad resse set
42. auf der Lochrasterplatine platziert und verlotet werden ecocneoecoces 29908000606 00836090066 Abbildung 30 Prototyp 1 Alle Bauteile auf Lochrasterplatine verl tet Daraufhin wurde der Protoyp nach dem im Kaptitel 3 7 erw hnten Testkonzept berpr ft 4 Entwicklung und Umsetzung 56 4 1 10 Platinenlayout des zweiten Protoypen Anhand der Spezifikation des 2 Prototypen sowie der verwendeten Bauteile wurde mithilfe der PCB Design Software Eagle ein Platinenlayout angefertigt Bei der Verlegung der Leiterbahnen wurde darauf geachtet dass sofern m g lich keine rechtwinkligen Abknickungen vorkommen da diese zu einer enormen Stromdichteerh hung in den Leiterbahnecken f hren 53 Abbildung 31 Stromdichteerh hung in Leiterbahnecken insbesondere bei rechtwinkligen Abknickungen 53 Ebenso wurde versucht so wenig wie m glich mit Durchkontaktierungen zu arbeiten da jede dieser Kontaktierungen eine Schwachstelle darstellen kann Die Massekontakte wurden durch Ausf llen der freien Fl chen als Massefla chen verbunden dieses sorgt f r eine niederohmige Verbindung Abbildung 32 Platinenlayout Prototyp 2 rot Vorderseite blau R ckseite Massefl chen ausgeblendet 4 Entwicklung und Umsetzung 57 4 1 11 Fertigstellung des zweiten Prototypen Anhand des erstellen Plartinenlayouts konnte nun die Leiterplatte in die Ferti gung gegeben werden Das Ergebnis der produzierten Plati
43. bcams auf E Hier k nnen Sie Webcam Steams hinzuf gen diese bearbeiten oder Add Webcam durch dr cken auf das X wieder entfernen My Room PENS 108 171 45 8000 Tactonaseuem Anhange 101 Bedienungsanleitung Webinterface 2 8 1 Webcam hinzuf gen bearbeiten Um einen Webcam Stream hinzuzuf gen dr cken Sie daraufhin auf Add Webcam Zum Bearbeiten eines zuvor hinzugef gten Eingangs dr cken Sie auf die Schaltfl che Grau des Webcam Streams Sie gelangen nun in die Maske zum Bearbeitern des jeweiligen Eintrags Edit webcam Geben Sie nun im Feld unterhalb von Webcam name einen Namen Please enter your setings for your webcem f r die Webcam ein Webcam name Unter URL tragen Sie die Adresse des MJPG Webcam Streams ein der ber die verschl sselte Verbindung durchgereicht werden soll Dr cken Sie Save zum Abschlie en des Vorgangs Anhange 102 Bedienungsanleitung Webint 3 Benutzung 3 1 Benutzeroberflache In der Mitte am schwarzen oberen Rand befindet sich der Titel der aktuellen Seite Oben Rechts ebenfalls auf dem Schwarzen Rand befinden sich aktuelle Uhrzeit sowie falls vorhanden Temperatur des dargestellten Raumes Unterhalb der Schwarzen Leiste werden eventuell konfigurierte Szenen des dargestellten Raumes angezeigt Mit einem klick oder fingertab auf eine dieser Szenen wird diese ausgef hrt Sind einem Raum ein oder mehrere Temperatursensoren zugewiesen werden diese in Form e
44. ckelt Bei der ersten Ausf hrung des Source Codes wird f r den Zugriff auf eine be stimmte Objekteigenschaft die aktuelle Hidden Class des Objekts bestimmt Der Zugriff auf die Objekteigenschaft wird durch die Vorhersage optimiert dass die dazugeh rige Hidden Class auch f r alle zuk nftigen Objekte im selben Ab schnitt des Codes abgerufen wird Diese Informationen in der Hidden Class werden dazu genutzt um den Inline Cache Code um die Hidden Class zu er weitern Ist diese Vorhersage korrekt so ist der Wert der Eigenschaft in nur ei nem Arbeitsschritt zugewiesen bzw abgerufen Ist die Vorhersage nicht korrekt so wird diese Optimierung wiederrufen und aus dem Inline Cache Code ent fernt 36 2 Technische Grundlagen 25 Efficient Garbage Collection Der Speicher eines Prozesses eines ungenutzten Objektes wird zuruckgewon nen indem dieser ungenutzte Speicher durch den Garbage Collector wieder freigegeben wird Um diesen Vorgang m glichste effizient zu gestalten wird die Programmausf hrung w hrend eines Garbage Collection Zyklus gestoppt Da bei wird immer nur ein Teil der nicht mehr ben tigten Objekte bearbeitet um gr ere Ausf hrungspausen des Programms zu minimieren Die Laufzeitumge bung wei zu jeder Zeit an welcher Stelle im Speicher sich alle verwendeten Objekte und Pointer befinden Dies vermeidet eine falsche Identifizierung von Objekten als Zeiger berlagern sich die Erzeugung eines neuen Objektes so wie di
45. d documents miscellaneous i2c bus miscellaneous information overview of the different versions of the i2c specification html 15 NXP Semiconductors Online 04 April 2014 Abgerufen am 19 Mai 2014 http www nxp com documents user_manual UM10204 pdf 16 Philips Semiconductors The I2C bus and how to use it Online 1995 Abgerufen am 11 Juni 2014 http www i2c bus org fileadmin ftp i2c_bus_specification_1995 pdf 17 Elektronik Kompendium Open Collector OC Online Abgerufen am 11 Juni 2014 http www elektronik kompendium de sites sIt 1206121 htm 18 Maxim Integrated Guidelines for Reliable Long Line 1 Wire Networks Online 22 August 2008 Abgerufen am 19 Mai 2014 http www maximintegrated com app notes index mvp id 148 19 1 Wire Tutorial Online Abgerufen am 19 Mai 2014 http www maximintegrated com products 1 wire flash overview index cfm 20 1 Wire Communication Through Software Online 08 April 2009 Abgerufen am 20 Mai 2014 http www maximintegrated com app notes index mvp id 126 21 Z Wave Alliance Alliance overview Online Abgerufen am 20 Mai 2014 http www z wavealliance org alliance overview 22 Sigma Designs About Z Wave Online 2014 Abgerufen am 11 Juni 2014 http www z wave com what_is_z wave 7 Literaturverzeichnis 84 23 International Telecom Union Recommendation G 9959 Online Abgerufen am 20 Mai 2014 htt
46. d von einem oder mehreren Ger ten z B Alle Ger te aus anlegen k nnen Diese Szenen sollen zus tzlich ber eine einmalige und sichere URL aufrufbar sein Benutzer sollen Regeln erstellen k nnen dass z B bei Ausl sen eines Rauchmelders oder der Bet tigung der Klingel bestimmte Ger te einge schaltet werden oder eine Benachrichtigung per Push Notifikation an ein Mobilger t gesendet wird Benutzer sollen Timer Zeitschaltuhren einrichten k nnen die vorher de finierte Szenen zu bestimmten Tagen und Uhrzeit ausl sen 3 Analyse und Konzeptentwurf 31 e Benutzer sollen Webcam Streams in das System eintragen k nnen Die se sollen spater Uber die Benutzeroberflache aufrufbar sein Die Webcam Streams sollen ber die bestehende verschl sselte Verbin dung bertragen werden e Die Software soll unter Open Source Lizenz ver ffentlicht werden e Nachfolgenden Entwicklern soll der Einstieg durch sauberen Code und gute Kommentare vereinfacht werden Alle diese Ziele wurden tabellarisch erfasst und um m gliche Auswirkungen auf Stakeholder Randbedingungen der Entwicklung Abh ngigkeiten von anderen Zielen und sonstige wichtige Informationen erweitert Nachfolgend wird es am Beispiel des Zieles Benutzer m ssen sich mit einem Benutzernamen und Passwort in das System einloggen k nnen aufgef hrt Benutzerauthentifizierung Ziel Stakeholder Auswirkungen auf Stakeholder Randbedingungen Abh ngigkei
47. das gew nschte Ger t zu adres sieren Er kann direkt nach dem Ausf hren dieser Funktion mit dem Senden des Funktionskommandos beginnen Nach dem Ausf hren die ser Funktion wird der Bus im Overdrive Mode betrieben Search ROM Diese Funktion bereitet alle Slaves darauf vor dass der Master im Anschluss einen Algorithmus zum Auffinden von Ger ten und deren ROM IDs ausf hren wird 19 2 Technische Grundlagen 20 2 1 4 Z Wave Z Wave ist ein proprietares drahtloses Kommunikations Protokoll das von der Firma Sigma Designs und der Z Wave Alliance speziell fur die Steuerung und berwachung von Ger ten entwickelt wurde Z Wave Alliance Die Z Wave Alliance ist eine im Jahr 2005 von f hrenden Herstellern gegr nde te Vereinigung die sich der Entwicklung und Erweiterung von Z Wave als Schl sseltechnologie f r Smart Home und Businessanwendungen gewidmet hat Die Mitglieder hatten das gemeinsame Ziel einen hochentwickelten Stan dard auf dem Markt zu etablieren der es erm glicht dass unterschiedlichste drahtlose Ger te einwandfrei zusammenarbeiten unabh ngig von einem be stimmten Hersteller Um diese Interoperabilit t zu gew hrleisten muss jedes Z Wave Produkt einen strengen Konformit tstest bestehen Dieser stellt sicher dass sich das Ger t vollst ndig an den Z Wave Standard h lt und somit eine reibungslose Kommunikation mit anderen Ger ten gew hrleistet Mittlerweile haben sich der Vereinigung ber 250 unabh n
48. den Der Schaltplan zum Prototypen der zweiten Generation befindet sich im Anhang A2 4 1 9 Prototypenentwicklung Bei der Entwicklung des ersten Prototypen wurde ein sogenanntes Bread board verwendet Hierbei handelt es sich um ein Steckbrett zur prototypischen Entwicklung von Schaltungen ohne L taufwand Da dieses Breadboard ein Rasterma von 2 54 mm besitzt mussten einige Bauteile unter anderem die in SMD Bauweise die nicht diesem Rasterma entsprechen auf Adapterplatinen gel tet werden Alle anderen Bauteile die diesem Ma entsprechen konnten direkt auf dem Steckbrett platziert werden und nach dem zuvor entwickelten Schaltplan Anhang A1 mit Verbindungsleitungen versehen werden Abbildung 28 Schaltungsaufbau auf einem Breadboard Anhand dieses Aufbaus konnten die Funktionen des Systems sowie der Schalt plan auf Richtigkeit berpr ft und eventuelle Fehler beseitigt werden Die weitere Entwicklung des ersten Prototypen fand in erster Linie am Compu ter statt Mithilfe der Software Lochmaster 4 0 der Firma Abacom wurde ein Pla tinenlayout f r die in der Spezifikation vorgesehenen 100 x 160 mm gro e Lochrasterplatine erstellt 4 Entwicklung und Umsetzung 55 a opo 0 210 ag Bud Aue Go u 200000000 QOO0000C 660000000 CELI EET eoo0 NJ Abbildung 29 Platinenlayout Prototyp 1 links Vorderseite rechts R ckseite Anhand dieses Entwurfs konnten nun Bauteile und Verbindungsleitungen
49. dienungsanleitung Webinterface The Smarter Pi Manual German v1 0 Fabian Behnke 2014 Anhange 89 Bedienungsanleitung Webinterface Inhaltsverzeichnis 1 ERSTER START 2 EINSTELLUNGEN 2 1 Z WAVE 2 1 1 Z Wave Ger t ins System integrieren 2 1 2 Z Wave Ger t aus System entfernen 2 2 INTERNE GER TE 2 2 1 Ausg nge hinzuf gen bearbeiten 2 2 2 Eing nge hinzuftigen bearbeiten 2 2 3 HTTP Pseudo device hinzuf gen bearbeiten 2 3 R UME UND DASHBAORD 2 3 1 Raum hinzuf gen bearbeiten 2 3 2 Dashbaord bearbeiten 2 4 SZENEN 2 4 1 Szene hinzuf gen bearbeiten 2 5 REGELN 2 5 1 Regeln hinzuf gen bearbeiten 2 6 TIMER 2 6 1 Timer hinzuf gen bearbeiten 2 7 BENUTZERACCOUNT 2 7 1 Benutzeraccount bearbeiten 2 8 WEBCAMS 2 8 1 Webcam hinzuf gen bearbeiten BENUTZUNG 3 1 BENUTZEROBERFLACHE 3 2 DASHBOARD 3 3 MEN 3 4 3 5 ALLE TEMPERATURVERLAUFE 3 6 WEBCAMS 4 BEISPIELKONFIGURATIONEN 4 1 PUSH BENACHRICHTIGUNG PER PUSHOVER ANDROID IOS 4 2 ANWESENHEITSERKENNUNG PER GEOFENCY IOS The Smarter Pi 2 Anhange 90 1 Erster Start The Smarter Pi unterst tzt eine Vielzahl aktuell verf gbarer Webbrowser dazu z hlen z B Google Chrome Microsoft Internet Explorer Mozilla Firefox und Apple Safari alle sowohl in Mobiler als auch in Desktop Ausf hrung Rufen Sie das Webinterface in Ihrem Lieblingsbrowser auf https lt lt IP des Raspberry Pi gt gt 3000 z B https 192 168 1 25 3000 Ist bei der vorh
50. e max 8Std von den zugewiesenen Temperatursensoren anzeigen lassen Dashboard Tv Rooms Kitohen Room Light Livingroom Dimmer Settings Ambiente light Temperatures 0 Webcams Info 2 ie m 3 x he Logout Um zwischen den R umen zu wechseln dr cken Sie Im Men auf Rooms und w hlen den gew nschten Raum 3 5 Alle Temperaturverl ufe ld W hlen Sie im Men All temperatures um sich alle Temperaturverl ufe der am System angeschlossenen 1 All temperatures Wire Sensoren anzuzeigen Durch An oder Abhaken des jeweiligen Sensors wird dieser aus der Grafik entfernt oder hinzugef gt Sensor 1 Sensor2 Anhange 105 Bedienungsanleitung Webinterf 3 6 Webcams Besitzen Sie eine Webcam die MJPG Codierte Video Streams liefern kann so haben Sie die M glichkeit diese durch das System verschl sseln zu lassen Der Stream wird dann ber dieselbe verschl sselte Verbindung durchgereicht ber die auch ihr Webinterface verbunden ist Um sich Ihre Webcams anzeigen zu lassen w hlen Sie im Men Webcams Livingroom All Ihre Webcams werden nun angezeigt Fahren Sie mit der Maus oder Ihrem Finger ber das Webcam Bild um es zu vergr ern Anhange 106 Bedienungsanleitung Webinterface 4 Beispielkonfigurationen 4 1 Push Benachrichtigung per Pushover Android iOS Anlegen eines Benutzerkontos Rufen Sie die Webseite www pushover net in einem Webbrowser Ihrer Wahl auf Klicke
51. e Garbage Collection eines nicht mehr ben tigten Objektes so wird die ser Speicherbereich bevorzugt f r die Erzeugung des neuen Objektes genutzt und es werden alle Zeiger auf das neue Objekt aktualisiert 36 2 2 3 Node js Bei Node js handelt es sich um ein serverseitiges JavaScript Framework basie rend auf der von Google Inc entwickelten Laufzeitumgebung Google V8 zum Betrieb von Netzwerkanwendungen Beschreibung von der Node js Webseite Node js is a platform built on Chrome s JavaScript runtime for eas ily building fast scalable network applications Node js uses an event driven non blocking I O model that makes it lightweight and efficient perfect for data intensive real time applications that run across distributed devices 37 Threadbasierende Netzwerkapplikation sind relativ ineffizient und schwierig Zu programmieren Die in Node js eingesetzte ereignisgesteuerte JavaScript Architektur bietet den Vorteil dass pro bestehender Verbindung weniger Ar beitsspeicher verbraucht wird als bei L sungen die f r jede neue Verbindung einen separaten Thread starten 38 Entwickelt wurde Node js urspr nglich von dem amerikanischen Entwickler Ryan Dahl mit dem Ziel Webseiten mit Push Technologie zu versehen 39 S VII Da alle Node js Applikationen unabh ngig vom Betriebssystem in JavaScript programmiert werden ist es m glich den selben Source Code in der Node js Umgebung sowohl unter MacOS Windows als auch unter Linu
52. e Platine die auf den GPIO Anschluss des Raspberry Pis gesteckt wird Sie wird Uber die vom Raspberry Pi bereitgestellte Spannung von 3 3 V gespeist und kommuniziert uber die UART Schnittstelle mit dem Einplatinencomputer Auf der Platine befindet sich ein Sigma Designs 3102 Z Wave Transceiver Modul ein externer 32K SPI Flash fur Netzwerkdaten und eine PCBA Antenne Zwei LEDs zeigen den Status des Z Wave Controller Chips 49 Der Firmware Die auf dem Sigma Designs Transceiver Chip enthalte ne Firmware basiert auf den original Designempfehlungen von Sigma Designs die im System Development Kit 4 54 unter NDA veroffentlicht wurden Verglichen mit anderen Standard Firmware Designs wie sie in 4 Entwicklung und Umsetzung 52 den meisten Z Wave USB Sticks und anderer Z Wave Host Schnittstellen Hardware verwendet wird wurden an der RaZberry Firm ware diverse Erweiterungen und Verbesserungen vorgenommen 50 e Die Controllersoftware Z Way Die Firmware kommuniziert mit dem Z Way Communication Stack Uber das serielle Interface dev ttyAMAO Der Z Way Communication Protokoll Stack organisiert und verwaltet alle im Z Wave Netzwerk befindlichen Ger te Die Z Way API erlaubt es ei gene Softwareapplikationen ohne Hintergrundwissen des komplizierten Z Wave Netzwerkaufbaus zu entwickeln 50 Schematischer Aufbau User 5 Z Wave Z Wave Interface 1 Operating Generic Hardware Firmware a OO E i and interface 2 6 User inte
53. e Version 2 des Raspberry Pis verkauft Sie besitzt nun zwei Befestigungsl cher und eine etwas ver nderte Belegung des GPIO Ports Etwa einen Monat sp ter erhielt diese Version 2 einen auf 512 MB verdoppelten Arbeitsspeicher Durch die unerwartet hohen Verkaufszahlen konnte die Produktion sehr schnell aus China nach Wales verlegt werden 4 Seither wurden mehr als 2 5 Millio nen Ger te verkauft ber 1 Millionen produziert in Wales Stand M rz 2014 5 6 Hardwarebeschreibung Wie oben bereits erwahnt ist der BCM2835 das Herzstuck des Raspberry Pi Er beinhaltet eine mit 7OOMHz getakteten ARM11 CPU eine mit 250 MHz ge taktete Dual Core GPU mit integriertem 1080p H 264 Video En bzw Decoder Des Weiteren sind 256 MB bzw 512 MB SD RAM eine USB eine frei pro grammierbare GPIO und eine Kameraschnittstelle integriert 7 RCAVIDEO AUDIO LEDS USB SD CARD POWER A Abbildung 2 Raspberry Pi Model B Schema 8 Der Raspberry Pi verzichtet auf die direkte M glichkeit eine Festplatte anzu schlie en Stattdessen wurde ein SD Karten Leser integriert der es erm glicht das Betriebssystem von einer handels blichen SD Karte zu booten Ebenso verzichtet der Raspberry Pi auf eine Real Time Clock RTC da diese das Pla tinenlayout durch eine zus tzliche Batterie und weitere Komponenten um eini ges vergr ert h tten und der von der Raspberry Pi Foundation angepeilte ma ximale Verkaufspreis berschritten worden
54. e Zertifizierungsstelle ausgestelltes Zer 4 Entwicklung und Umsetzung 75 tifikat in nichts nach Nachteil ist nur dass der Webbrowser nicht in der Lage ist herauszufinden ob der Inhaber des Zertifikats auch der recht m ige Besitzer ist Zur Erstellung des Zertifikats wurde das unter Linux verf gbare OpenSSL Toolkit verwendet In der Konsole wird dazu folgender Befehl eingegeben openssl req newkey rsa 2048 new nodes x509 days 3650 keyout key pem out cert pem Dieser Befehl erzeugt einen 2048 bit langen Private Key key pem sowie ein 10 Jahre g ltiges selbst signiertes Zertifikat cert pem Nach Ausf hren des Befehls werden folgende Daten abgefragt 2 stelliger L ndercode Country Name 2 letter code AU DE Staat oder Provinz F r Deutschland Bundesland State or Province Name full name Some State Niedersachsen Stadt Locality Name eg city Stade Firmenname Organization Name eg company Internet Widgits Pty Ltd Firma Mustermann Abteilungsname Organizational Unit Name eg section IT Abteilung FODN Fully Qualified Domain Name des Servers Common Name e g server FODN or YOUR name www smarterpi org Email Adresse Email Address it smarterpi org Diese Daten werden im Zertifikat hinterlegt und k nnen sp ter vom Be nutzer im Browser eingesehen werden Probleme mit dem Webbrowser Safari in Verbindung eines selbstsignier ten Zer
55. e befindet sich in der Entwicklung bei Google Inc und wurde erstmals am 3 Juli 2008 als Quellcode ver ffentlicht 34 Google V8 implementiert ECMAScript nach Spezifikation ECMA 262 Version 5 und wird in der Programmiersprache C entwickelt 35 Mittlerweile ist Google V8 Teil des Google Chrome kann aber in jede andere in C pro grammierte Anwendung integriert werden Wie schon erwahnt ist Google V8 auf Geschwindigkeit optimiert genauer ge nommen auf eine schnelle Ausf hrung von gro en JavaScript Anwendungen Google schreibt dazu In several benchmark tests V8 is many times faster than JScript in Internet Explorer SpiderMonkey in Firefox and JavaS criptCore in Safari If your web application is bound by JavaScript execution speed using V8 instead of your current JavaScript en gine is likely to improve your application s performance How big the improvement is depends on how much JavaScript is executed and the nature of that JavaScript For example if the functions in your application tend to be run again and again the performance improvement will be greater than if many different functions tend to run only once 36 2 Technische Grundlagen 24 Doch wie schafft es Google Inc schneller als die Konkurrenz zu sein Fast Property Access In JavaScript k nnen Eigenschaften von Objekten jederzeit ge ndert hinzuge f gt oder wieder gel scht werden Die meisten JavaScript Engines benutzen eine w rterbuch h
56. e name Unter Location k nnen Sie eintragen wo sich das Ger t befindet L nti r ee z B Wohnzimmer links hinter Sofa Due W hlen Sie HTTP request mode POST oder GET Get v un Falls ben tigt tragen Sie nun Benutzername und Passwort ein HTTP Basic Authentication Usemame F gen Sie falls n tig weitere Argumente durch dr cken des Buttons Add hinzu Schlie en Sie den Vorgang durch dr cken auf Save ab Anhange 96 2 3 Raume und Dashbaord Um virtuelle R ume anzulegen bearbeiten oder zu l schen dr cken Sie im Men auf Settings gt Rooms Hier k nnen Sie R ume hinzuf gen diese bearbeiten oder durch Add Room dr cken auf das X wieder entfernen Kitchen Livingroom 2 3 1 Raum hinzuf gen bearbeiten Zum Hinzuf gen eines Raumes dr cken Sie auf Add Room Zum Bearbeiten dr cken sie auf die jeweilige Schaltfl che des zuvor angelegten Raumes Sie gelangen in die Maske zum bearbeiten des Raumes New room Hier k nne Sie dem jeweiligen Raum Ger te Temperaturf hler und Please enter your settings for the room Szenen zuweisen Room name Geben Sie im Feld unterhalb von Room name einen gew nschten Namen f r diesen Raum ein F gen Sie dem Raum durch dr cken auf Add in der jeweiligen Amblerte fight Loca Kategorie Z Wave Ger te Interne Ausg nge 1 Wire Temperatursensoren oder Szenen hinzu intern Outputs Dr cken Sie Save zum Abschlie
57. e sofort zu verstehen geben sollen was diese Funktionen tun Dennoch wurde der Programmcode zum besseren Verst ndnis komplett kommentiert 4 Entwicklung und Umsetzung 66 Die zu der Anwendung geh rigen Module wurden dar ber hinaus in einer spe ziellen Kommentarsyntax geschrieben aus der sich mithilfe der Open Source Software YUIDoc eine komplett webbasierte Dokumentation erstellen l sst Die YUIDoc Kommentarsyntax bietet dabei eine Vielzahl an Schlagw rtern um den Programmcode mit verst ndlichen Kommentaren zu versehen Beispiel Kommentar einer JavaScript Methode Meine Method sie macht dies und das method Methodenname param String abc Der Paramater abc erwartet einen String param Object config Erwartet ein Konfigurationsobjekt return Boolean Gibt true zurtick wenn alles geklappt hat ad YUIDoc durchsucht das Projektverzeichnis nach Dateien die mit dieser Kom mentarsyntax kommentiert wurden und erstellt daraufhin eine ubersichtliche und komplett durchsuchbare Dokumentation Qui APIs HttpPseudoDevice Class Show Inherted C Protected O Private C Deprecated cesses Modules Defined in Lib httpPseudoDevice coffee 7 Module HttpPseudoDevice HttpPseudoDevice HttpSpeudoDevice Class MCP23017 MCP3424 OWFS_TEMP Index Moross RuleHelper ZWAVE Methods fire data callback Defined in Lib httpPseudoDevice coffee 61 fire is a function for sending a HTTP POST or
58. echts ebenfalls auf dem schwarzen Rand befinden sich aktuelle Uhrzeit sowie falls vorhanden Temperatur des dargestellten Raumes Unter halb der schwarzen Leiste werden eventuell konfigurierte Szenen des darge stellten Raumes angezeigt Mit einem Klick oder Fingertab auf eine dieser Sze nen wird diese ausgef hrt Sind einem Raum ein oder mehrere Temperatur sensoren zugewiesen werden diese in Form einer Temperaturkurve dargestellt Zur Steuerung der einzelnen Ger te wurden graphische Bedienelemente Flip Switches und Slider verwendet die ebenfalls auf die Benutzung mit dem Fin ger Touch oder per Maus optimiert sind 4 Entwicklung und Umsetzung 70 Menu Das Men wird ber das Symbol drei waagerechte Striche am oberen linken Rand der Applikation aufgerufen Es schiebt die restliche Webseite Uber den rechten Bildschirmrand hinaus und erscheint im linken Bereich des Bildschirms Dashboard Dashboard Rooms Make Coffee Kitchen Livingroom Test Settings Temperatures Webcams Info Logout Switches Zwischenstecker Room Light TV Abbildung 40 Benutzeroberfl che Men Grafische Elemente sowie Icons sollen das Erscheinungsbild auflockern und dem Benutzer ein schnelleres Verst ndnis ber den jeweiligen Men punkt er m glichen 4 2 9 Die wichtigsten Funktionen im berblick In diesem Kapitel werden die wichtigsten Funktionen der entwickelten Haus steuerung kurz erkl rt Unterst tzte Ger
59. eeceeseeseceseneeeeeens 59 4 2 3 Verwendete Node js Module 222444444444400 nn 60 4 2 4 Im Zuge dieser Arbeit entwickelte Module 62 4 2 5 Projektstr kt rs zes Rn 65 4 2 6 Source Code Dokumentation mit YUIDoc 2444444H 00 65 4 2 7 Dynamische Webseitengenerierung mit Express und EJS 67 4 2 8 Grafische Benutzeroberfl che ssrs4444nnnnn nennen 69 4 2 9 Die wichtigsten Funktionen im berblick 70 4 2 10 Konzept zur Generierung von Zufalls URLS 2 72 4 2 11 Sichere Daten bertragung per SSL 2222222244200nnnnnnn nenn 73 4 2 12 Eehlerbeh ndlung u s 2 2222 2 eee ee 76 5 EIPLODUNG EAT nee ee ie 77 9 11 Performance Tests sen ren ee 77 5 2 Z Wave Reichweitentest am Beispiel eines Einfamilienhauses 78 6 Fazit und Ausblick u see 80 6 Fazit a e a E E E 80 9 2 PUSDIICK re ea ee AET 81 2 WErteraturverzeichnis na 82 91 Lac Lu Le 1 cca IRGDE ER ERERETE HER ELOEPEEEDEPESERERE EEEETDERSERERERERLEEISERRERSERRS TER PEEEEERERERER 86 Al Schaltplan Prototyp T sa ass 86 A2 Schaltplan Prototyp 2 u 2u22 2222 2 ee 87 A3 Bedienungsanleitung 23 Seiten 0 2 2 cece cece ee eeeeeeeeeeeeeeeeeeeeeeeeeeeeees 88 Inhaltsverzeichnis Rechtliche Hinweise 2 2 2 er le 111 H1 Urheberrechtserkl rung re ne 111 H2 Markenschutzrechtliche Hin
60. egler N here Informationen k nnen dem Datenblatt 44 entnommen werden 4 Entwicklung und Umsetzung 47 4 1 2 Pegelwandlung am I C Bus Die an dem Raspberry Pi vorhandene I C Schnittstelle arbeitet mit einem Pegel von 3 3 V Da die verwendeten Bausteine MCP23017 DS2482S 100 und der im ersten Prototypen verwendete A2 Wandler MCP3423 am zuverlassigsten mit einem Pegel von 5 V arbeiten musste eine bidirektionale Pegelwandlung vorgesehen werden Dazu wurde eine Schaltung aus einen integriertes Bauteil bestehend aus zwei n Kanal MOSFETs und 4 Pull Up Widerst nden aufgebaut Dual N Kanal Mosfet Abbildung 20 Pegelwandlung mit Dual Mosfet Wird auf der 3 3 V Seite eine logische 0 angelegt 0 V so befindet sich der Source Anschluss des N Kanal MOSFETs auf Massepotential Daraus resultiert eine positive Gate Sourcespannung wodurch der Transistor durchschaltet und die 5 V Seite ebenfalls auf Massepotential zieht Dies entspricht wiederum einer logischen 0 Wird auf der 3 3 V Seite eine logische 1 angelegt 3 3 V so liegen Gate und Source Anschluss auf demselben Potential Der Transistor sperrt und die 5 V Seite wird ber den Pull Up Widerstand Rpsv auf 5 V gezogen was wiederum einer logischen 1 entspricht Betrachtet man den Pegelwandler nun aus der anderen Richtung ergibt sich folgendes Szenario Wird auf der 5 V Seite eine logische 0 angelegt 0 V beginnt durch die her stel
61. eiligen Push Bell Kategorie ein Z Wave Ger t oder einen Interne Ein oder Ausg ng zuweisen der diese Regel ausf hren soll Wahren Sie nun darauf unter Scenes die gew nschte Szene die ausgef hrt werden soll Durch dr cken auf Add f gen Sie diese hinzu Dr cken Sie Save zum Abschlie en des Vorgangs Anhange 99 Bedienungsanleitung Webinter 2 6 Timer Timer k nnen dazu genutzt werden um Szenen Zeitgesteuert auszuf hren Um in die Timer Einstellungen zu gelangen w hlen Sie im Men auf Settings gt Timer Hier k nnen Sie Timer hinzuf gen diese bearbeiten oder durch dr cken auf das X wieder entfernen 2 6 1 Timer hinzuf gen bearbeiten Um einen Timer hinzuzuf gen dr cken Sie auf Add Timer Zum Bearbeiten dr cken sie auf die jeweilige Schaltfl che des zuvor angelegten Timer Sie gelangen nun in die Maske zum bearbeiten des Timers Geben Sie im Feld unterhalb von Timer name einen gew nschten Namen f r diese Regel ein Optional k nnen Sie diesen Timer unter Timer Comment mit einem Kommentar versehen Mit der Schaltfl che Active k nnen Sie Timer aktiv oder inaktiv Schalten Wahlen Sie unter Select days aus an welchen Tagen dieser Timer aktiv werden soll Wird kein Tag gew lt wird dieser Timer t glich ausgef hrt Unter Select time kann nun die Uhrzeit gew hlt werden wann dieser Timer ausgef hrt werden soll Zu guter Letzt w hlen Sie die gew nscht Szene die
62. ell http callbackhell com 12 Der Segmentation Fault Schutzverletzung tritt auf wenn auf gesch tzte Ressourcen insbe sondere Speicherbereiche zugegriffen wird 13 Das Breadboard ist ein Steckbrett zur prototypischen Entwicklung von Schaltungen ohne L taufwand 7 Literaturverzeichnis 82 7 Literaturverzeichnis Hinweis Aufgrund des Themenfeldes dieser Arbeit die sich mit jungen Technologien im Fachbereich der Informations und Elektrotechnik beschaftigt handelt es sich bei der Vielzahl der angegebenen Quellen um Internetseiten Fur Seiten bei denen die Autoren nicht oder nicht eindeutig identifizierbar waren wird die Ent wicklergruppe oder das Unternehmen hinter der jeweiligen Internetprasenz ge nannt 1 KNX Online Abgerufen am 2014 Juni 2014 http www knx org de was ist knx knx was ist das 2 Upton Eben Raspberry Pi Foundation RASPBERRY PI 2006 EDITION Online 23 Oktober 2011 Abgerufen am 7 Juni 2014 http www raspberrypi org raspberry pi 2006 edition 3 ALPHA BOARDS IN MANUFACTURE Online 25 Juli 2011 Abgerufen am 7 Juni 2014 http www raspberrypi org alpha boards in manufacture 4 Upton Liz Raspberry Pi Foundation MADE IN THE UK Online 6 September 2012 Abgerufen am 7 Juli 2014 http www raspberrypi org made in the uk 5 1 75 MILLION SOLD SO FAR AND 1 MILLION MADE IN THE UK Online 8 Oktober 2013 Abgerufen am 7 Juli 2014
63. en Entwicklern m glich die Software nach eige nen W nschen anzupassen und den Funktionsumfang der Software zu erwei tern Abbildung 43 fertiggestellte Haussteuerung Prototyp 2 Raspberry Pi Die Entwicklung der Software verlief recht schnell Nicht ganz 8 Wochen wur den von der ersten berlegung bis zur fertigen Umsetzung ben tigt Zu verdan ken ist dies der guten Dokumentation von Node js sowie der verwendeten O pen Source Module Trotz vieler Kritik die an der Programmiersprache Ja 6 Fazit und Ausblick 81 vaScript z B JavaScript die Callback H lle ausge bt wird habe ich viel Freude bei der Entwicklung gehabt Nicht zuletzt ist dies unter Anderem der JavaScript IDE Webstorm der Firma JetBrains zu verdanken die mir wahrend des Programmierens viel Arbeit abgenommen hat Obwohl die Entwicklung zu gro en Teilen problemlos verlief so gab es dennoch einige Schwierigkeiten Das Anfangs in Node js verwendete I C Modul verursachte bei Ansprache des MCP3424 Delta Sigma Wandlers sporadisch einen Segmentation Fault und f hrte zu einem Absturz des Programms Trotz intensiver Fehlersuche konnte keine Ursache f r dieses Problem gefunden werden Auch dies war einer der Gr nde warum der Delta Sigma Wandler im 2 Prototypen entfallen ist Das Evaluieren der Schaltung auf einem Breadboard f hrte schnell zu ersten motivierenden Erfolgserlebnissen Der Aufbau des ersten Prototypen auf einer Lochrasterplatine stellte eine Hera
64. equire httpPseudoDevice Neue Instanz eines Bausteins erstellen var httpPseudo new HttpPseudo Das data Objekt setzt sich wie folgt zusammen var data url http meineurl de api reqmode post HTTP GET get oder HTTP POST post username meinBenutzername password meinPasswort args argument user value 12345 Argumente argument token value 12345 Daten absenden httpPseudo fire data callback MCP23017 Dieses Modul erm glicht die objektbasierte Ansteuerung des MCP23017 16 bit GPIO Extenders Intern nutzt es das Submodule I2C um den Baustein direkt ber die C Schnittstelle ansprechen zu k nnen Digitale Eing nge werden alle 10 ms abgefragt Zustands nderungen werden per Callback an eine zuvor defi nierte Funktion bergeben Anwendungsbeispiel Modul einbinden var MCP23017 require mcp23017 I2C Adresse des Bausteins var address 0x20 Neue Instanz eines Bausteins erstellen Argument 1 I2C Adresse Argument 2 Linux Device File var mcp new MCP23017 address dev i2c 1 Ausg nge Schalten mcp setGpioAPinValue 0 1 GPIO A Pin 0 auf HIGH schalten mcp setGpioAPinValue 0 0 GPIO A Pin 0 auf LOW schalten Eing nge Abfragen mcp setCallback meineCallbackFunktion Callback setzten console log mcp getGpioBPinValue 0 manuelle Abfrage GPIO B Pin 0 4 Entwicklun
65. er anderem viele Open Source Module verf gbar die f r den Betrieb unse rer Serverplattform hilfreich sind z B Express Ein Web Application Framework das eine komfortable M glichkeit bietet Web Applikationen in Node js zu realisieren Mehr im Kapitel 4 2 7 Socket lO In traditionellen Webapplikationen antwortet der Server nur auf Anfrage des Clients Socket lO bietet die M glichkeit diese Grenze zu durchbrechen Durch Technologien wie Websockets Adobe Flash Socket AJAX long polling AJAX multipart streaming Forever Iframe und JSONP Polling wird sichergestellt dass es in jedem derzeit verf gbaren Browser m glich ist eine Verbindung zum Ser ver aufzubauen und dieser direkt nderungen an den Browser senden kann 43 Callbacks sind Funktionen die ausgefuhrt werden sollen wenn eine Bearbeitung der vorheri gen Funktion fertiggestellt ist 3 Analyse und Konzeptentwurf 35 3 3 Wahl einer geeigneten Datenbank F r das vorliegende Projekt wurden drei Open Source Datenbanksysteme mit einander verglichen Die Wahl fiel auf das relationale Datenbanksystem MySQL sowie auf die beiden NoSQL Datenbanksysteme MongoDB und CouchDB Bei dem Vergleich der drei Datenbanken wurde in erster Linie auf Geschwin digkeit und Entwicklungsaufwand geachtet Geschwindigkeit Um die Geschwindigkeit der Datenbanken vergleichen zu k nnen wurde ein Testprogramm mit folgendem Ablauf entwickelt 1 JavaScript Objekt mit bestimmter
66. erigen Konfiguration SSL deaktiviert worden so ersetzen Sie https durch http Your 1st Start Sie werden daraufhin Begr t und darauf hingewiesen dass Sie Thank you for choosing TheSmarterPi zum ersten Mal starten TheSmarterPl Dr cken Sie auf Start zum fortfahren This Is the first ime you re running TheSmarterPi Left s create a user account and make your home smarter Start Sie werden nun aufgefordert einen neuen Benutzer anzulegen geben Sie dazu im Feld unterhalb von User name einen New usersccount gew nschten Benutzernamen ein Dies kann aber z B auch eine E scher Mail Adresse sein Daraufhin tragen im Feld unterhalb von Password Ihr gew nschtes Passwort ein COMPLEXITY zeigt an ob Ihr gew hltes Passwort sicher genug ist Es muss mindestens eine COMPLEXITY SE 0 Komplexitat von 20 erreicht werden Verwendenden Sie am Repeat password besten eine Kombination aus Buchstaben in Gro und Kleinschreibung Zahlen und Sonderzeichen Wiederholen Sie die Eingabe des Passworts im Feld Unterhalb von Repeat Password Schlie en sie den Vorgang durch dr cken auf Save ab Anhange 91 Sie werden nun zur Login Seite weitergeleitet Diese Seite wird Sie in Zukunft begr en sofern Sie nicht am System Dude there s one thing you should enter eingeloggt sind Tragen Sie im Feld unterhalb von Username Ihren zuvor Username festgelegten Benutzernamen ein Ihr Passwort tragen
67. es m glich durch lt include Viewdatei gt den HTML Code durch weitere View Dateien zu erweitern Vereinfachtes Beispiel der Datei login ejs lt include header gt lt body gt lt h1 gt lt title gt lt hl gt lt if auth nok gt lt HTML Element wird angezeigt wenn JavaScript Bedingung erf llt gt lt p gt Username or password you entered is wrong lt p gt lt gt lt body gt lt include footer gt Bei folgenden Randbedingung title Login auth ok header ejs lt html gt lt head gt lt head gt footer ejs lt html gt wird die login ejs von EJS zu folgendem HTML Code gerendert und durch Ex press an den Browser ausgeliefert lt html gt lt head gt lt head gt lt body gt lt hl gt Login lt hl gt lt body gt lt html gt 4 Entwicklung und Umsetzung 69 4 2 8 Grafische Benutzeroberflache Bei der grafischen und technischen Gestaltung der Benutzeroberflache GUI mittels jQuery Mobile Kapitel 4 2 2 wurde darauf geachtet dass die Bedienung sowohl auf Desktop Ger ten als auch auf mobilen Ger ten gleicherma en gut aussieht und ebenso gut funktioniert Men Temperature o O 5 D a 2 o C 5 3 a Switches TV Desktop Mobil Steuerungselemente Abbildung 39 Benutzeroberfl che Desktop und Mobil Benutzeroberfl che In der Mitte am schwarzen oberen Rand befindet sich der Titel der aktuellen Seite Oben r
68. espezifikation 44444nnnnnnnnnnnnnnnnnnnnnnnnnnn 29 Tabelle 5 Tabellarische Zieldarstellung Beispiel Benutzerauthentifizierung ee 31 Tabelle 6 Use Case Beispiel Benutzerauthentifizierung 32 Tabelle 7 Bauteilliste Prototyp T ses 39 Tabelle 8 Bauteilliste Prototyp 2 nennen 40 Abkurzungsverzeichnis Abkurzungsverzeichnis API Application Programming Interface BSD Berkeley Software Distribution CA Certificate Authority CPU Central Processing Unit ECMA European Computer Manufacturers Association FQDN Fully qualified domain name GPIO General Purpose Input Output GPU Graphics Processing Unit HF High Frequency HTML Hypertext Markup Language HTTP Hypertext Transfer Protocol Ic Integrated Circuit JSON JavaScript Object Notation MIT Massachusetts Institute of Technology NDA Non Disclosure Agreement NOSQL Not only SQL REST Representational State Transfer ROM Read Only Memory RTC Real Time Clock SPI Serial Peripheral Interface SQL Structured Query Language SSL Secure Sockets Layer STP Shielded Twisted Pair TCP Transmission Control Protocol TTL Transistor Transistor Logik UART Universal Asynchronous Receiver Transmitter URL Uniform Resource Locator USB Universal Serial Bus UTP Unshielded Twisted Pair 1 Einfuhrung 10 1 Einfuhrung 1 1 Motivation In der heutigen Zeit werden Themen wie Energie sparen Sicherheit sch
69. f Low Pegel bei einer logischen O f r 60 us 7 5 us im Overdrive Mode 19 20 logische oor Pig r logische 0 gecewennene jr 7 _ a p ae T 60 us Standard T 8 5 us Overdrive y Slave Sample T 0 Abbildung 8 1 Wire Master schreiben M chte der Master ein Bit von einem Busteilnehmer lesen so zieht er ebenfalls wie auch beim schreiben der logischen 1 den Bus f r 6 us 1 us im Overdrive Mode auf Low Pegel Der Slave h lt daraufhin f r die bertragung einer logi schen 0 den Bus f r mindestens 9 us 1 us im Overdrive Mode auf Low f r die bertragung einer logischen 1 auf High W hrend dieser Zeit nach insgesamt 15 us im Standard bzw 2 us im Overdrive Mode tastet engl sampled der Master den Ubertragenen Wert ab 19 20 T 6 us Standard T 1 us Overdrive i i i Lesen H 777 E Ss p i i m m gt Master Sample E Master T 0 T 15ps Standard T 60 us Standard B Slave T 2 us Overdrive T 8 5 us Overdrive Abbildung 9 1 Wire Master lesen Slave sendet 0 Das 1 Wire Protokoll ist in drei Phasen aufgeteilt Es beginnt mit einem durch den Master initiiertem R cksetzen des Busses Master zieht den Bus Pegel f r im Standard Mode f r mindestens 480 us auf Low 70 us im Overdrive Mode Alle 1 Wire Ger te befinden sich nun in einem definierten Zustand und melden ihre Pr senz
70. fft 10 Anfragen 1 ms ca 3 67 x 10 Jahre ben tigen 4 2 11 Sichere Daten bertragung per SSL Um einen unberechtigten Zugriff auf das Webinterface durch Dritte auszu schlie en wurde das Verschl sselungsverfahren SSL Secure Socket Layer verwendet Mit dem SSL Protokoll steht f r Netzwerkanwendungen ein Si cherheitsprotokoll zur sicheren Daten bertragung ber ein unsi cheres Netz zur Verf gung SSL stellt Vertraulichkeit Authentizit t und Integrit t in der Transportschicht bereit und baut dabei auf ein zuverl ssiges Transportprotokoll wie TCP 54 S 313 Verbindungsaufbau einer SSL verschl sselten Verbindung mit dem We binterface Wird das Webinterface ber ein SSL verschl sselte Verbindung durch den Browser aufgerufen so starten Client Browser und Server Node js zur ge genseitigen Begr ung ein Handshake Verfahren das entsprechend dem TLS Handshake Protocol abgewickelt wird Der Client sendet dem Server eine Be gr ungsformel ClientHello daraufhin antwortet der Server mit einem Server Hello Beide Verbindungspartner senden sich gegenseitig 28 Byte an zuf llig erzeugten Daten Diese werden sp ter f r die Berechnung des Master Secrets ben tigt Daraufhin einigen sich beide auf eine f r die weitere Kommunikation zu verwendende Protokollversion und eine sogenannte Cipher Suite Die Cipher Suite ist ein Tripel aus Schl sselaustauschverfahren Verschl sselungsalgorithmus und Message Authenticat
71. g und Umsetzung 63 MCP3424 Dieses Modul wurde fur den ersten Prototypen entwickelt und kam spater nicht zum Einsatz Es erm glicht das Auslesen des MCP3424 Delta Sigma Wandlers ber die I C Schnittstelle Wie auch beim MCP23017 Modul wird hier zur Kom munikation intern das im Kapitel 4 2 3 vorgestellte I2C Modul verwendet Anwendungsbeispiel Modul einbinden var MCP3424 require mcp3424 I2C Adresse des Bausteins var address 0x68 Verst rkung und Aufl sung einstellen var gain 0 0 1 2 3 repr sentiert x1 x2 x4 x8 var resolution 3 0 1 2 3 repr sentiert 12 14 16 18 bits Neue Instanz eines Bausteins erstellen Argument 1 I2C Adresse Argument 2 Verst rkung Argument 2 Aufl sung Argument 4 Linux Device File var mcp new MCP3424 address gain resolution dev i2c 1 Erste Abfrage der Spanunnungswerte Ausgabe auf die Konsole setTimeout function console log mcp getMv 0 channel 0 console log mcp getMv 3 channel 3 2000 Umsetzung ben tigt Zeit kleinere Aufl sung gt schneller Owfs_temp Dieses Modul greift auf das von OWFS bereitgestellte 1 Wire Dateisystem zu r ck um 1 Wire Temperatursensoren aufzufinden und Temperaturwerte konti nuierlich auszulesen Sensordaten wie Sensor ID Sensor Typ und Temperatur werden in einem voreingestellten Intervall an eine Callback Funktion berge ben Anwe
72. gige Firmen ange schlossen Mit fast 1000 verschiedenen Produkten ist Z Wave eines der gr ten kosysteme interoperabler funkbasierter Produkte 21 22 Spezifikation Die Spezifikation von Z Wave beschreibt im Folgenden e Es handelt sich um einen HF Funkstandard mit geringer Sendeleistung ber den sogenannte vermaschte Netzwerke engl mesh network auf gebaut werden k nnen e Z Wave arbeitet mit einer FSK Modulation unterhalb des 1 GHz Bandes in Europa um 868 MHz in den USA um 908 42 MHz um Interferenzen mit anderen Funktechnologien im 2 4 GHz Band wie WLAN Bluetooth ZigBee etc zu vermeiden e Es wurde speziell f r Anwendungen zur Steuerung und berwachung entwickelt und unterst tzt Datenraten bis zu 100 kbit s e Es ist eine Verschl sselung des Funkverkehrs mit dem Verschl sse lungsstandard AES125 vorgesehen e Die Hardwarenahen Protokollschichten MAC und PHY sind von der In ternational Telecom Union ITU T als Standard G 9959 23 definiert 24 2 Technische Grundlagen 21 Hinweis Da es sich bei Z Wave um einen proprietaren Standard handelt sind weitere Technische Details nur Z Wave Entwicklern vorbehalten und werden hier nicht weiter behandelt 2 Technische Grundlagen 22 2 2 Software 2 2 1 JavaScript Geschichte Die Skriptsprache JavaScript wurde gegen Ende 1995 erstmals unter dem Na men LiveScript in der damals aktuellen Vorabversion des Webbrowsers Nets cape Navigator 2 0 ver ffentlic
73. hes Signal von sich gibt Des Weiteren besitzt dieser Rauchmelder eine Z Wave Funk Schnittstelle ber die eine Benachrichtigung an eine Z Wave Steuerung m glich ist Abbildung 16 Vision Security ZS 6101 Rauchmelder 3 Analyse und Konzeptentwurf 43 3 7 Testkonzept zur berpr fung der Hardware Nach der Fertigstellung der Prototypen werden alle Anschlusse auf korrektes Potential Uberpruft und mit dem Schaltplan abgeglichen Dar ber hinaus wurde ein Testprogramm geschrieben das alle Bausteine an spricht um Ein und Ausg nge 1 Wire Temperatursensoren und analoge Ein g nge nur 1 Prototyp auf die jeweilige Funktion zu berpr fen Die jeweiligen Prototypen werden daraufhin an einen Testaufbau bestehend aus 8 LED mit Vorwiderst nden 8 Tastern einem 1 Wire Temperaturf hler und 4 Drehpotentiometern nur Prototyp 1 angeschlossen und das Testprogramm gestartet Nun werden alle Funktionen der einzelnen Bauteile anhand dieses Testaufbaus berpr ft Die Kommunikation mit dem Z Wave Funkmodul kann in der mitgelieferten Controllersoftware berpr ft werden 3 Analyse und Konzeptentwurf 44 3 8 Interaktion von Hard und Software Der Raspberry Pi kommuniziert Uber diverse Hard und Softwareschnittstellen mit den jeweiligen Komponenten Die nachfolgende Grafik Abbildung 15 verdeutlicht diese Kommunikation zwi schen Hard und Software MCP23017 MCP3424 16Bit Delta Sigma Expander Wandler RaZberry
74. ht 25 Entwickelt wurde sie durch den Pro grammierer Brandan Eich der sp ter ma geblich an der Gr ndung der Mozilla Foundation beteiligt war 26 Einige Monate sp ter k ndigte Microsoft an im Internet Explorer 3 0 ebenfalls eine Variante von JavaScript aus lizenzrechtli chen Gr nden unter dem Namen JScript zu unterst tzen 27 Im November 1996 begann die Entwicklung des Industriestandards EMCA 262 auch bekannt als ECMAScript das im Juni 1997 in der ersten Version fertig gestellt wurde Dieser Standard wurde nun schlussendlich im April 1998 als in ternationaler Standard unter der ISO IEC 16262 genehmigt und ver ffentlicht Im Juni 1993 ver ffentlichte Ecma Version 2 des EMCA 262 die Ver nderun gen an der Version waren aber nur redaktioneller Natur Die dritte Version des Standards erhielt einen massiven Funktionsumfang und wurde im Juni 2002 ver ffentlicht 28 Sowohl JavaScript als auch JScript sind in den heutigen Versionen kompatibel zu ECMAScript wurden aber durch die jeweiligen Hersteller durch eigene Funk tionen erweitert Verwendungszweck JavaScript wurde fr her haupts chlich clientseitig eingesetzt Typische Anwen dungsgebiete waren und sind dynamische Manipulation von Webseiten ber das DOM 29 Plausibilit tspr fung von Formulareingaben Anzeige von Dia logfeldern Nachladen von Daten per Ajax 30 S 291 Heutzutage findet Ja vaScript bzw ECMAScript auch Anwendung auf serverbasierten L sungen wie
75. ichen Eingaben immer dieselben Ausgaben erzeugt Da die meisten dieser Computer so auch der Raspberry Pi ber keine externe Quelle wie z B ein Mikrofon verf gt ber die man Zufall erzeugen k nnte bleibt den meisten Anwendungen nichts anderes brig als Zufallszahlen aus der Uhrzeit zu berechnen Bei der Entwicklung dieser Anwendung wurde ein anderes Konzept verwendet Zufall in Kombination aus Uhrzeit und Maus bzw Fingerbewegung Scene Settings Create random webhook URL Please move your mouse or finger over the white area Abbildung 41 Zufalls URL generieren Der Benutzer f hrt ber die wei e Fl che Abbildung 41 mit einer zuf lligen Bewegung der Maus oder seines Fingers Dabei werden alle 20 ms die X und Y Koordinaten innerhalb dieser Fl che aufgenommen Diese werden zusammen 10 MJPG Stream Motion JPG Stream ist ein Videostream bestehend aus komprimierten JPEG Einzelbildern 4 Entwicklung und Umsetzung 73 mit der Uhrzeit hintereinander weg in einen String geschrieben und daraufhin ein SHA256 Hashwert dieses Strings gebildet Der entstandene aus 64 Buch staben und Zahlen bestehende Hexadezimal String wird dann als Zufalls URL zur Ausfuhrung einer Szene durch Drittanbieter Anwendungen verwendet Der 256 bit lange Hashwert hat insgesamt 2 1 158 x 10 M glichkeiten Will ein Angreifer all diese M glichkeiten durch Brute Forcing ausprobieren so wurde er davon Ausgegangen der Raspberry Pi scha
76. ie Ausg nge des MCP23017 angeschlossen Es handelt sich um ein integriertes Bauteil bestehend aus einem Darlington Array 8 Darlington Schaltungen und integrierter Freilaufdioden um induktive Bauteile wie Relais zu schalten An den insgesamt 8 Eing ngen 1B 8B des Bauteils lassen sich Spannungen bis zu 30 V anschlie en Die 8 Ausg nge 1C 8C schalten je nach angelegter Spannung am COM Pin jeweils bis zu 50 V bei einem Maxi malstrom von 500 mA Hinweis Die Ausg nge sind durch die Darlington Schaltung bedingt nach Mas se geschaltet Bauteil Logische Darstellung 1 vvvvvy p e com Abbildung 24 ULN2803 Bauteil und logische Darstellung 47 N here Informationen zu diesem Bauteil k nnen dem Datenblatt 47 entnom men werden 4 Entwicklung und Umsetzung 51 4 1 6 Funkmodul In der vorher definierten Spezifikation wurde festgelegt dass das System Uber eine Schnittstelle zur Kommunikation mit drahtlosen Z Wave Geraten verfugen soll Dazu wurde das von der Fima Z Wave Me produzierte Funkmodul RaZberry verwendet Dieses Modul wurde speziell fur den Raspberry Pi entwickelt und kommuniziert mit diesem Uber die integrierte UART Schnittstelle Es beinhaltet alle Komponenten um aus einen Raspberry Pi einen voll funktionsfahigen Z Wave Gateway zu bauen Abbildung 25 RaZberry Z Wave Funkmodul 48 Das Modul besteht im Grunde aus drei Komponenten Der Hardware die RaZberry Daugter Card Eine klein
77. in 3 maliges dr cken des Einschaltknopfes Wurde das Ger t erfolgreich dem System hinzugef gt werden Sie nun in die Bearbeitungs Maske des jeweiligen Ger tes weitergeleitet Anhange 93 Sie bekommen nun unterhalb von Device category angezeigt zu Edit Z Weve device welcher Kategorie dieses Ger t geh rt the Z Wave device Geben Sie nun im Feld unterhalb von Device name einen Namen fiir das Ger t ein z Unter Location k nnen Sie eintragen wo sich das Ger t befindet z B Location Wohnzimmer links hinter Sofa Livingroom Hinweis Der Eintrag unter Location hat keinerlei Einfluss auf die sp tere Zuweisung eines Raumes und dient lediglich als Kommentarfeld Dr cken Sie Save zum Abschlie en des Vorgangs 2 1 2 Z Wave Ger t aus System entfernen M chten Sie ein Z Wave Ger t auf dem System entfernen So dr cken Sie im Z Wave Men auf Exclude existent Z Wave Device Es erscheint folgender Hinweis auf Ihrem Bildschirm Please press a button on Press a button on the device to be excluded the device to be excluded Or look in the manual to be Hinweis Zum abbrechen dieses Vorgangs dr cken Sie auf Stop sure how to exclude this device Dr cken Sie nun auf den Exculde Taster auf Ihrem Z Wave Ger t Bitte entnehmen Sie der Bedienungsanleitung des jeweiligen Ger tes wo sich dieser befindet Oftmals ist es ein 3 maliges dr cken des Einschaltknopfes Wurde das Ger t erfolg
78. iner Temperaturkurve der letzten 8 Stunden dargestellt Livingroom Temperature Dp O 3 a E 8 3 a Switches Desktop Mobil Steuerungselemente Zur Steuerung der einzelnen Ger te wurden graphische Bedienelemente Flip Switches und Slider verwendet die ebenfalls auf die Benutzung mit dem Finger Touch oder per Maus optimiert sind Anhange 103 Bedienungsanleitung Webinterf 3 2 Dashboard 13 06 14 01 19 Dashboard 25 13 C All off Make Coffee Normal light ee Das Dashboard ist die Startseite des Systems Hier k nnen die meistgenutzten Funktionen abgelegt ehe werden Hier k nnen Sie dem Dashboard zugewiesene Ger te und Szenen bedienen und sich die Temperaturverl ufe von den zugewiesenen Temperatursensoren anzeigen lassen Watch TV 3 3 Men Das Men wird ber das Symbol drei waagerechte Striche am oberen linken Rand der Applikation aufgerufen Es schiebt die restliche Webseite ber den rechten Bildschirmrand hinaus und erscheint im linken Bereich des Bildschirms Switches Zwischenstecher Room Light Vv Anhange 104 Bedienungsanleitung Webint e 3 4 R ume Die Virtuellen R ume in TheSmarterPi spiegeln das digitale Abbild der Ger te im Realen Raum wieder Diese virtuellen R ume sind genauso aufgebaut wie das auf der Startseite befindliche Dashbaord Hier k nnen Sie dem Raum zugewiesene Ger te und Szenen bedienen und sich die Temperaturverl uf
79. ingetragenes Markenzeichen der Microsoft Corporation Visio ist ein eingetragenes Markenzeichen der Microsoft Corporation 1 Wire ist ein eingetragenes Markenzeichen von Maxim Integrated Products Inc Z Wave ist ein eingetragenes Markenzeichen von Sigma Designs und ihren Tochtergesellschaften in den Vereinigten Staaten und anderen L ndern Versicherung Uber die Selbststandigkeit 112 Versicherung uber die Selbststandigkeit Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Prufungs ordnung nach 16 5 APSO TI BM ohne fremde Hilfe selbstandig verfasst und nur die angegebenen Hilfsmittel benutzt habe Wortlich oder dem Sinn nach aus anderen Werken entnommene Stellen habe ich unter Angabe der Quellen kenntlich gemacht Stade 07 Juli 2014 Ort Datum Unterschrift
80. ion Code Der Client offeriert dabei die von ihm unterst tzten Cipher Suiten und der Server w hlt daraus entsprechend seiner eigenen F hig keiten die bestm gliche Kombination aus Sollten sich die beiden Seiten nicht auf eine Cipher Suite einigen k nnen bricht das Handshake mit einem Fehler ab 54 S 314 4 Entwicklung und Umsetzung 74 Ist dies abgeschlossen authentifiziert sich der Server gegenuber dem Client mit einem zuvor erstellten Zertifikat Dieses enth lt diverse Infor mationen unter anderem Domainname FQDN Eigent mer des Zertifi kats G ltigkeitsdauer Informationen ber die ausstellende Zertifizie rungsstelle CA und den Public Key ffentlichen Schl ssel Das Zertifi kat wurde zuvor mit dem Private Key privaten Schl ssel der Zertifizie rungsstelle signiert Der Server und die Zertifizierungsstelle sind die ein zigen die diesen privaten Schl ssel kennen Er darf niemals weitergege ben werden Im weiteren Verlauf kann nun der Server ebenfalls ein Zerti fikat zur Authentifizierung anfordern dies ist aber optional Daraufhin ver sucht der Client die zuvor vom Server per Zertifikat bermittelte Identit t zu berpr fen Der Server muss zur Best tigung nachweisen k nnen dass er im Besitz des zum Public Key passenden privaten Schl ssels ist Dazu sendet der Client dem Server 48 Byte zuf lliger Daten der Pre Master Secret die zuvor mit dem Public Key verschl sselt wurden Der Server muss n
81. l In der jetzigen Ausbaustufe der Software kann jeweils EIN Ger t auch EINE Szene ausl sen Wurde in dieser Szene ein Push Dienst hinterlegt der ber eine HTTP REST API angesprochen wird so lassen sich z B Push Nachrichten an das Mobiltelefon senden sofern der Rauchmelder oder ein anderes Ger t ausgel st hat R ume In der Software lassen sich virtuelle R ume anlegen Diesen R umen k nnen dann Z Wave Ger te wie schaltbare Steckdosen Dimmer oder die auf der Pla tine befindlichen Ausg nge zugewiesen werden Des Weiteren ist es m glich einem Raum ein oder mehrere Temperatursensoren zuzuweisen Diese werden als Temperaturkurve auf der Seite des jeweiligen Raumes dargestellt Timer Es lassen sich wiederkehrende Timer anlegen die eine zuvor definierte Szene ausf hren Der Benutzer kann ausw hlen an welchen Wochentagen und zu welcher Uhrzeit dieser Timer aktiv werden soll 4 Entwicklung und Umsetzung 72 Webcam Zur Raum und Hofuberwachung konnen in das System Netzwerkkameras die einen MJPG Stream liefern integriert werden Eine Vielzahl dieser Kameras bietet keine Moglichkeit diesen Stream uber eine verschlusselte Verbindung auszuliefern Daher wird dieser Stream Uber einen in das System integrierten Proxy geleitet und mit ber dieselbe verschl sselte Verbindung ausgeliefert wie das Webinterface 4 2 10 Konzept zur Generierung von Zufalls URLs Der Computer ist ein Ger t das deterministisch aus den gle
82. l einer geeigneten Datenbank unnnnennennnn nn nennen 35 3 4 Wahl einer geeigneten Open Source Lizenz 37 3 5 Vorauswahl der ben tigten Bauteile neennennnnnnnnnnnnnnnnn 39 3 6 Unterst tzte Z Wave Ger teklassen 40 444snnnnnnnnnenennn 41 3 7 Testkonzept zur berpr fung der Hardware e 43 Inhaltsverzeichnis 5 3 8 Interaktion von Hard und Software uuunnnnennnnnnnnnnnnnnnnnnnnnn 44 4 Entwicklung und Umsetzung us uuuununnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 45 4 1 Hardware seine 45 4 1 1 Spann ungsversorgung zu rear 45 4 1 2 Pegelwandlung am I C BUS cccccscsesesssescsessssecessessesssenendeonns 47 4 1 3 GPIO Erweiterung ziehen en en 48 4 1 4 Tolerante Eingange E22 2er 49 4 1 5 Ausg nge zur Relaisansteuerung 44444444444 Rennen 50 4 1 6 FUNKMOIU 222er er 51 4 1 7 1 Wire Anbindung 2 2 22224 2042400404nnnnnnn nase 53 4 1 8 Schallplan asaie seine 54 4 1 9 Prot lypenentwicklung 2 22 22 er tl atte eels eis eds 54 4 1 10 Platinenlayout des zweiten Protoypen cccccccceeeeeseeeeeeeeeees 56 4 1 11 Fertigstellung des zweiten Prototypen ccceeeeeeetteeee teen 57 42 SOW AO aia easter clo ete ee ie 58 4 2 1 Angewandtes Vorgehensmodell ccceeeeeeeeeeeeeeeeeeeeeeseeeees 58 4 2 2 Verwendete Frameworks cccccsecccceseeececeecccec
83. le m ssen vollst ndig korrekt konsistent gegen ber anderen Zielen in sich konsistent testbar verstehbar f r alle Stakeholder rea lisierbar notwendig eindeutig und positiv definiert sein Ziele des Systems Jegliche Verbindung mit dem System soll verschl sselt ablaufen Die grafische Benutzeroberfl che soll modern und Grafisch ansprechend aussehen einfach zu bedienen und sowohl auf mobilen Ger ten als auch auf PCs nutzbar sein Benutzer m ssen sich mit einem Benutzernamen und Passwort in das System einloggen k nnen Benutzer m ssen im eingeloggtem Zustand ihren Benutzernamen und ihr Passwort ndern k nnen Benutzer landen nach erstmaligen Erstellen ihres Benutzerkontos auf ei ner Seite die ihnen kurz und knapp die Bedienung des Systems erkl rt Benutzer landen nach dem Einloggen auf dem Dashboard einer Start seite die der Benutzer mit seinen meistbenutzen Funktionen belegen kann Benutzer sollen R ume anlegen diese mit Szenen Temperaturwerten und Steuerungselementen belegen und sp ter aufrufen k nnen Benutzer sollen Z Wave Ger te in das System integrieren und wieder entfernen k nnen Benutzer sollen den Temperatursensoren Bezeichnung und Ort zuwei sen k nnen Benutzer sollen die digitalen Ein und Ausg nge konfigurieren k nnen Benutzer sollen Ger te oder Dienste z B f r Push Notifikationen per HTTP REST API in das System integrieren k nnen Benutzer sollen Szenen einem vorher definiertem Zustan
84. lungsbedingte parallelgeschaltete Substratdiode zu leiten und zieht die 3 3 V 4 Entwicklung und Umsetzung 48 Seite auf annaherndes Massepotential abz glich Durchlassspannung der Dio de Dies ergibt ein positive Gate Sourcespannung wodurch der Transistor durchschaltet und die 3 3 V Seite endg ltig auf Massepotential logisch 0 zieht Wird auf der 5 V Seite eine logische 1 angelegt 5 V so wird der Source Anschluss des N Kanal MOSFETs ber den Pull Up Widerstand Rp3v3 auf 3 3 V gezogen Source und Gate Anschluss liegen auf demselben Potential und der Transistor sperrt Gleichzeitig liegt durch den Widerstand auf der 3 3 V Seite die Versorgungsspannung von 3 3 V an Dies entspricht wiederum einer logischen 1 N here Informationen k nnen der Application Note 10441 von NXP Semicoduc tors entnommen werden 45 4 1 3 GPIO Erweiterung Der Raspberry Pi verf gt ber 17 GPIO Pins von denen insgesamt 9 f r An wendungen wie I C UART und SPI reserviert sind Es bleiben also insgesamt 8 Anschl sse die als echte GPIO Anschl sse genutzt werden k nnen Da sich aber in den Vor berlegungen als Ziel gesetzt wurde 8 digitale Eing nge sowie 8 Ausg nge zu realisieren musste eine Erweiterung dieser Anschl sse vorge nommen werden Mi Abbildung 21 MCP23017 im PDIP Package Dazu wurde das Bauteil MCP23017 der Firma Microchip Technology Inc ver wendet Es erm glicht eine Erweiterung um insgesamt 16 z
85. mit der zuvor eingestellten Nachricht an Ihre Smartphone gesendet Installieren Sie sich die Pushover App auf Ihrem iOS oder Andro Benutzerdaten ein id Smartphone und loggen sich mit den zuvor erstellten Anhange 109 Bedienungsanleitung Webinterface 4 2 Anwesenheitserkennung per Geofency iOS Erstellen einer Webhook URL Fugen Sie wie unter Punk 2 4 1 beschrieben eine neue Szene hinzu Diese Scene wird spater durch Geofency bei Ankunft oder Verlassen des Standorts aufgerufen Dr cken Sie auf Create webhook URL und generieren durch bewegen der Maus oder des Fingers innerhalb der wei en Fl che eine Webhook URL Scene Settings Create random webhook URL Please move your mouse or finger over the white area Schreiben Sie sich die URL auf diese ben tigen Sie sp ter Dr cken Sie Save zum Abschlie en des Vorgangs Einstellung von Geofency Starten Sie die Applikation Geofency Dr cken Sie auf um einen neuen Ort hinzuzuf gen W hlen Sie nun ob Sie die aktuelle Adresse hinzuf gen wollen oder w hlen Sie eine der ne X i Tippe auf um neue Orte hinzuzuf gen anderen M glichkeiten Adresssuche Adressbuch Geo Koordinaten oder iBeacon Micro F r diese Orte wird das Monitoring Location aktiviert welches Ein und Austritte festh kt Anhange 110 wa Dr cken Sie auf das Zahnrad Symbol unterhalb der Standortbezeichnung Dr cken Sie auf Webhook am unteren Bildschirmrand
86. n Sie auf Login or Signup Pushover AP Appa amp Phx x N r Recussic MO Hel jaa Sg Tragen Sie Ihre E Mailadresse und Ihr gew nschtes Passwort ein Signup for a Pushover Account Dr cken Sie zum Abschluss auf Signup For an easier registration process download our mobile apps and signup night from the app Sie erhalten nun eine E Mail mit einem Best tigungslink ffnen Sie diese E Mail E Mail Addross und klicken auf den enthaltenen Link um Ihre E Mailadresse zu best tigen By signing up for an account you agree to our turns of service Ihr Benutzerschl ssel Userkey Im n chsten Fenster Kontoeinstellungen sehen Sie Ihren Benutzerschl ssel rot markiert Pushover PP AopeAPugra Device Cert Prem or Discussion 2 Help Settings Logan Merken Sie sich den Schl ssel dieser wird sp ter bei der Konfiguration des Http Send a Notification Your User Key Pseudo Devices ben tigt To send a notification to your device enable one of them below or register a To receive notifications from a Pushover enabled application service or new device by installing the ciant on your IOS or Android device website supply your us To receive Pushover notifications from e mails send an e mail toc Your Quiet Hours Edit You do net have any enabled quiet hours Your Devices Add Your Mobile Device or Add Your Desktop No davices registered Install our Android or JOS clont on your devica to get started The Smarter Pi Anh
87. n sollen F r den ersten Prototypen sollte hier eine 100 x 160 mm gro e Lochrasterplatine aus reichen Damit ein versehentliches Ber hren der Anschl sse oder der auf der Platine befindlichen Bauteile nicht zu einem elektrischen Schlag f hrt soll eine Spannung von 12 24 V verwendet werden k nnen um die Steuerung und eventuell angeschlossene Relais zu versorgen Da sowohl Raspberry Pi als auch die restlichen Bauteile mit einer Versorgungsspannung von 5 V arbeiten wurde zur Spannungskonvertierung ein Step Down Wandler Modul gew hlt Dieses ist zwar etwas teurer als eine Schaltung mit einem Linearregler aber wesentlich effizienter Da die meisten Funktionen auch ber Funk abgewickelt werden k nnen wurden die Anzahl der digitalen Ein und Ausg nge auf jeweils 8 beschr nkt Als Funkstandard wurde Z Wave gew hlt Er bietet viele Vorteile wie z B ein vermaschtes Netzwerk und unterst tzt eine Vielzahl von Ger ten Dennoch sollte es eine M glichkeit geben kabelgebunden Temperaturen zu erfassen Der gew hlte 1 Wire Bus ist zwar nicht direkt als Feldbus konzipiert bietet aber eine vielf ltige und kosteng nstige Auswahl an digitaler Tempera tursensoren und unterst tzt Leitungsl ngen mehrerer hundert Meter Da es unter anderem das Ziel war dem Benutzer der Steuerung ein ansatzwei se echtzeitf higes Webinterface zu bieten wurde Node js mit seiner Ereignis gesteuerten Architektur seiner M glichkeit mit dem Webbrowser ber So cket
88. nd Konzeptentwurf 41 3 6 Unterstutzte Z Wave Gerateklassen Wie im Kapitel 2 1 4 erw hnt gibt es eine Vielzahl verschiedener Z Wave Ger te Dazu z hlen z B e Schaltgerate e Dimmer e Leistungsmessgerate e Rollladensteuerung e Schlosser e Alarmgeber e T rkontakte e Temperaturf hler e Bewegungsmelder e Rauchmelder Um den Entwicklungsaufwand der Software in einem gewissen Rahmen zu hal ten wurde die Unterst tzung auf folgende Gerateklassen begrenzt e Schaltgerate e Dimmer e Leistungsmessgerate e Rauchmelder Zur Entwicklung standen folgende Z Wave Gerate zur Verfugung Everspring AN158 Ein kombiniertes Schalt und Leistungsmessgerat fur die Steckdose Es kann Gerate mit einer Stromaufnahme bis zu 16 A schalten und dessen Stromverbrauch messen Abbildung 14 Everspring AN158 Schalt und Leistungsmessgerat 3 Analyse und Konzeptentwurf 42 Z Wawe me Dimmer Dieser Dimmer ist eine softwareoptimierte Version des Duwi ZW EDAN 300 Er dimmt Lasten von bis zu 300 W und ist fur einen Wandeinbau geeignet Es wird kein Neutralleiter ben tigt somit k nnen vorhandene Schalter einfach durch diesen Dimmer ersetzt werden Es sind Abdeckrahmen und Schaltwippen f r die Schalterprogramme D wi Everlux und Busch J ger Duro 2000 erh ltlich Abbildung 15 Z Wave Me Dimmer Vision Security ZS 6101 Ein optischer Rauchmelder der bei Detektierung von Rauch ein sowohl opti sches als auch akustisc
89. ndungsbeispiel Modul einbinden var OWFS require owfs_temp Neue Instanz erzeugen Argument 1 OWFS Mountpount Argument 2 Intervall ms Argument 3 Callback Funktion var owfs new OWFS mnt lwire intervall callback data OWFS ist eine unter GNU GPLv2 ver ffentlichtes Open Source Software die es getreu nach dem Motto Everything is a file erm glicht 1 Wire Ger te ber das Linux Dateisystem anzu sprechen und auszulesen 32 4 Entwicklung und Umsetzung 64 RuleHelper Dieses Modul stellt diverse Funktionen zur Verf gung die zum Ausf hren von Regeln ben tigt werden Es greift auf die Datenbank zur ck um z B aus einer Ger te ID die dazugeh rige Regel ausfindig zu machen und daraufhin auszu f hren ZWave Dieses Modul erm glicht im aktuellen Entwicklungsstadium den objektbasierten Zugriff auf Z Wave Ger te wie Schalter Dimmer Rauchmelder und Strom messger te Es kommuniziert ber die JSON basierte HTTP API von Z Way mit dem RaZberry Funkmodul Zustands nderungen werden kontinuierlich abge fragt und einer Callback Funktion bergeben Anwendungsbeispiel Modul einbinden var ZWAVE require zwave Neue Instanz erzeugen Argument 1 IP oder Hostname des Z WAY Servers Argument 2 Port des Z WAY Servers Callback Funktion var zwave new ZWAVE localhost 8083 callback data Neues Z Wave Ger t hinzuf
90. ne kann der Abbil dung 33 entnommen werden LLILILEEN TUIL LNH MT gt CONH m ee 99909090 Vorderseite R ckseite Abbildung 33 Unbest ckte Platine Die Platine wurde nun von Hand mit den entsprechenden Bauteilen best ckt und verl tet Abbildung 34 zeigt die fertig best ckte Platine mit allen An schlussm glichkeiten und deren Belegungen Ausg nge 0 7 GND geschaltet 1 Wire RJ45 Buchse Pin 1 GND 12C Erweit SCL Pin 4 1 Wire Data protected rweiterungs rn mai Pas Wee Sted Pi Pin51 GND pro 1 Anschl sse SDA Z Wave Funkmodul GNDE RaZberry 5V 1 Wire Anschl sse 1 Wire Data protected 1 Wire GND protected Q Eing nge 0 7 Anschluss 5 24 V Raspberry Pi GN Abbildung 34 Fertig best ckte Platine mit Anschlussbelegung 4 Entwicklung und Umsetzung 58 4 2 Software 4 2 1 Angewandtes Vorgehensmodell Der dieser Arbeit bez gliche Softwareentwicklungsprozess wurde nach dem V Modell abgewickelt Zeit Anforderungs analyse berpr fung Fe en NE E EE ETE Abnahme und Nutzung berpr fun funktionaler nite ei eee Systementwurf technischer NPORFORNG RER Integrations Systementwurf Test berpr fung Komponenten ______________ Komponenten Entwurf Test manuelle j berpr fung Inu Programmierung Spezifizierungsphasen Realisierungsphase Testphasen manuelle berpr fung manuelle i berpr fung leanne
91. nliche Struktur als Speicher f r die Objekteigenschaften Jeder Zugriff ben tigt eine Suche nach dem objektzugeh rigen Speicherbe reich Dieser Ansatz macht den Zugriff auf die Eigenschaften eines Objektes in der Regel viel langsamer als z B auf die Instanzvariablen der Programmier sprache JAVA Google V8 hingegen erzeugt dynamisch im Hintergrund sogenannte Hidden Classes Diese werden f r jedes bekannte Objekt angelegt und eine Informati onsstruktur die fortan mit der Objektinstanz verkn pft ist hinterlegt Die Infor mationsstruktur die unter anderem die Speicherstelle der einzelnen Objekt Eigenschaften enth lt dient dem in V8 integrierten Just in Time Compiler im folgenden zur Optimierung der Objektzugriffe Da es in JavaScript jederzeit m glich ist den Objekten neue Eigenschaften hinzuzuf gen muss bei Bedarf die jeweilige Hidden Class ersetzt werden Dieser Ansatz f hrt zwar zu erh h tem Rechenaufwand wird aber dadurch ausgeglichen dass einmal erzeugte Hidden Classes bei Bedarf wieder verwendet werden k nnen 36 Dynamic Machine Code Generation Sobald der JavaScript Source Code das erste Mal ausgef hrt wurde wird die ser direkt in Maschinencode bersetzt Es ist kein Zwischen Byte Code und kein Interpreter n tig Der Zugriff auf die Objekteigenschaften wird ber ein spezielles Caching Verfahren abgewickelt Dieses Verfahren nennt sich Inline Caching und wurde f r die Programmiersprache Smalltalk entwi
92. nnnnn 42 Abbildung 16 Vision Security ZS 6101 Rauchmelder 42 Abbildung 17 Interaktion von Hard und Software 222222224400 nenn 44 Abbildung 18 LM2596 Wandlermodul HH 46 Abbildung 19 TSR 1 2450 Schaltregler 22224444004444000nnnnnnnnnnn nn 46 Abbildung 20 Pegelwandlung mit Dual Mosfet unneennen 47 Abbildung 21 MCP23017 im PDIP Package 22440044440nnnnnnnnnnnnnnnnnnn 48 Abbildung 22 P Spice Simulation Schaltung toleranter Eingang 49 Abbildung 23 P Spice Simulation Diagramm toleranter Eingang 49 Abbildung 24 ULN2803 Bauteil und logische Darstellung 46 50 Abbildung 25 RaZberry Z Wave Funkmodul 47 4 51 Abbildung 26 RaZberry Schema 47 2244244444444 404m 52 Abbildung 27 DS9503 im TSOC Package ccccceeeeeee eee e eee eeeeeeeeeeneaaaaaaeeeees 53 Abbildung 28 Schaltungsaufbau auf einem Breadboard 54 Abbildung 29 Platinenlayout Prototyp 1 links Vorderseite rechts R ckseite nadide ee ee ent 55 Abbildung 30 Prototyp 1 Alle Bauteile auf Lochrasterplatine verl tet 55 Abbildung 31 Stromdichteerh hung in Leiterbahnecken insbesondere bei rechtwinkligen Abknickungen 52 2224424424200000nnnn nnne
93. onsmechanismen und Ubertragungsmedien KNX in der Norm ISO IEC 14543 3 als Interna tionaler und in der Norm EN50090 al Europaischer Standard anerkannt 1 2 Technische Grundlagen 11 2 Technische Grundlagen 2 1 Hardware 2 1 1 Raspberry Pi Der Raspberry Pi ist ein von der britischen Raspberry Pi Foundation entwickel ter Einplatinencomputer in Kreditkartengr e Ziel der Entwicklung war es ei nen preisg nstigen Computer zu bauen um jungen Menschen den Erwerb von Programmier und Hardwarekenntnissen zu erleichtern Abbildung 1 Raspberry Pi Model B Foto Geschichte Die ersten Konzepte wurden 2006 vorgestellt und basierten zu diesem Zeit punkt auf einem Atmel ATmega664 Mikrocontroller 2 Die Leistung dieses Ge r tes berzeugte die Entwickler bis dato aber noch nicht Durch den damals immer gr er werdenden Smartphone Markt fand sich nach kurzer Zeit der passende Prozessor Der von der Firma Broadcom entwickelte BCM2835 ein Prozessor mit sogenanntem System On A Chip Er war kosteng nstig hatte eine verh ltnism ig gro e Leistung und beherbergte zudem eine Grafikeinheit Arbeitsspeicher und diverse Schnittstellen Die Idee des neuen Raspberry Pi war geboren Die ersten 50 Alpha Boards wurden im August 2011 ausgeliefert Sie waren funktional aufgebaut wie das sp tere Model B aber gr er um di verse Messpunkte zur Fehlersuche darzubieten 3 Seit September 2012 wird 2 Technische Grundlagen 12 di
94. p www itu int rec T REC G 9959 24 Z Wave Alliance Technology Online Abgerufen am 20 Mai 2014 http www z wavealliance org technology 25 Wenz Christian Galileo Computing lt openbook gt Online 2002 Abgerufen am 15 Mai 2014 http openbook galileocomputing de javascript javascript01 htm 26 Mozilla Presse Grundungsmitglied Brendan Eich wird neuer CEO Online Abgerufen am 10 Juni 2014 https blog mozilla org press de 2014 03 24 mozilla grundungsmitglied brendan eich wird neuer ceo 27 Microsoft Microsoft News Center Online 29 Mai 1996 Abgerufen am 15 Mai 2014 http www microsoft com en us news press 1996 may96 ie3btapr aspx 28 ECMA Intarnational Online 2011 Abgerufen am 15 Mai 2014 Zitat http www ecma international org publications files ECMA ST Ecma 262 pdf 29 SELFHTML e V Einf hrung in JavaScript und DOM Online Abgerufen am 12 Juni 2014 http de selfhtml org javascript intro htm 30 Bewersdorf J rg Objektorientierte Programmierung mit JavaScript ISBN 978 3 658 05443 4 Wiesbaden Springer Verlag 2014 31 Microsoft Using JavaScript Along with ASP NET Online Abgerufen am 12 Juni 2014 http msdn microsoft com en us library aa479011 aspx 32 Unity Technologies Scripting API Online 2014 Abgerufen am 12 Juni 2014 http docs unity3d com ScriptReference 33 MongoDB Server side JavaScript Online Abgerufen am
95. rderungen wurden fur diesen Modus gesenkt 2000 Spezifikation 2 1 Kleinere Modifikationen am Highspeed Mode 2007 Spezifikation 3 0 Der Fast Mode Plus 1 Mbit s wurde eingef hrt basierend auf dem gleichen Protokoll wie der Standard und auch Fast Mode 2012 Spezifikation 4 0 Der Ultrafast Mode 5 Mbit s wurde eingef hrt ein Modus mit Un idirektionaler Verbindung f r IC Ger te die keine R ckmeldung senden 2012 Spezifikation 5 0 Berichtigungen redaktioneller Natur an Spezifikation 4 0 2014 Spezifikation 6 0 Korrekturen an 2 Graphen in Spezifikation 5 0 Tabelle 1 Versionshistorie C Spezifikationen 14 15 2 Technische Grundlagen 14 Technische Beschreibung Bei I C handelt es sich um einen Zweidrahtbus mit Master Slave Konzept und je nach verwendetem Protokoll mit bidirektionaler oder unidirektionaler bertra gung Der Controller Master initiiert die bertragung und ist f r Generierung des Taktsignals zust ndig M chte der Master mit einem Slave kommunizieren so fordert er durch eine entsprechende Adressierung den jeweiligen Busteil nehmer dazu auf Slaves k nnen niemals Verbindungen von sich aus initiieren Mehrere Master Multimaster Mode in einem System sind m glich Dazu muss der Master Kontrollmechanismen wie die Abitrierung Zugriffsregelung und Kollisionsvermeidung unterst tzen Die Arbitrierung wird durch Synchronisation des Taktsignals und dem verwendeten Protokoll erm glicht Daten auf dem Bus
96. reich aus dem System entfernt verschwindet dieser Hinweis und der Vorgang ist abgeschlossen Anhange 94 2 2 Interne Ger te Um in die Einstellungen f r Interne Ger te zu gelangen dr cken Sie im Men auf Settings gt Intern Devices SR Hier k nnen Sie Ein und Ausg nge hinzuf gen diese bearbeiten oder soo ngs durch dr cken auf das X wieder entfernen MCP23017 12C Address 0x20 Intern Outputs Au erdem k nnen Sie hier ein sogenanntes HTTP Pseudo Device hinzuf gen Dies k nnen z B Ger te und Dienste sein die ber eine HTTP REST API aktiviert werden k nnen Room Light Output 1 Locator Livingroom 2 2 1 Ausg nge hinzuf gen bearbeiten Um einen Ausgang hinzuzuf gen w hlen Sie in dem Dropdown Feld unterhalb von Intern Outputs den gew nschten Ausgang Output 0 7 dr cken Sie daraufhin auf Add Zum Bearbeiten eines zuvor hinzugef gten Ausgangs dr cken Sie auf die Schaltfl che Grau des Ausgangs Sie gelangen nun in die Maske zum Bearbeitern des jeweiligen Ausgangs New intern output 2 Geben Sie nun im Feld unterhalb von Device name einen Namen Please enter the settings for he intem device f r das Ger t ein Unter Location k nnen Sie eintragen wo sich das Ger t befindet z B Wohnzimmer links hinter Sofa Hinweis Der Eintrag unter Location hat keinerlei Einfluss auf die sp tere Zuweisung eines Raumes und dient lediglich als Kommentarfeld Dr cken Sie
97. rface 3 Abbildung 26 RaZberry Schema 48 1 Raspberry Pi mit installiertem Raspbian OS 2 die RaZberry Daughter Card wird mit dem Raspberry Pi ber die GPIO Pins verbunden 3 die Z Wave Low Level Firmware auf dem Transceiver 4 Z Way der erste zertifizierte Z Wave Communication Stack steuert die komplette Z Wave Netzwerkkommunikation beinhaltet eine JavaScript Automatisierungs Engine und einen Webserver 5 das webbasierte Demo User Interface 6 die eigene Applikation 4 Entwicklung und Umsetzung 53 4 1 7 1 Wire Anbindung Die zuvor definierte Spezifikation sieht vor dass das System Uber eine 1 Wire Schnittstelle verfugen soll um den Anschluss diverser digitaler Temperatur sensoren wie den DS18B20 oder DS18S20 zu erm glichen Dazu wurde das Bauteil DS2482S 100 der Firma Maxim Integrated verwendet Dieses integrierte SMD Bauelement ist eine sogenannte I C to 1 Wire Bridge Das bedeutet dass dieses Ger t eine bidirektionale Protokollkonvertierung zwi schen dem I C Master und dem 1 Wire Slave durchf hrt Alle zeitkritischen Aufgaben auf dem 1 Wire Bus werden durch dieses Bauteil bernommen Der DS2482S 100 unterst tzt als 1 Wire Master sowohl Standard Speed als auch Overdrive Speed Durch die zwei Adresspins k nnen dem Ger t eine von vier m glichen Adressen zugewiesen werden Somit k nnen bis zu vier von diesen Bauteilen auf einem I C Bus betrieben werden 51 Da der 1 Wire Bus darauf ausgelegt sein soll
98. rs AN10441 Level shifting techniques in I2C bus design Online 18 Juni 2007 Abgerufen am 26 Mai 2014 http www nxp com documents application_note AN10441 pdf 46 Microchip Technology Inc Online 2007 Abgerufen am 26 Mai 2014 http ww1 microchip com downloads en DeviceDoc 21952b pdf 47 Texas Instruments ULN2803A Datenblatt Online Februar 1997 Abgerufen am 27 Mai 2014 http www ti com lit ds symlink uln2803a pdf 48 Z Wave Me RaZberry Online Abgerufen am 27 Mai 2014 http razberry z wave me 49 The RaZberry Daughter Card Online Abgerufen am 27 April 2014 http razberry z wave me index php id 9 50 Software Online Abgerufen am 27 Mai 2014 http razberry z wave me index php id 10 51 Maxim Integrated DS2482 100 Datenblatt Online 2012 Abgerufen am 28 Mai 2014 http datasheets maximintegrated com en ds DS2482 100 pdf 52 DS9503 Datenblatt Online 2009 Abgerufen am 28 Mai 2014 http datasheets maximintegrated com en ds DS9503 pdf 53 Prof Dr Jens Lienig Dipl Ing Goran Jerke Elektromigration Online 2002 Abgerufen am 29 Mai 2014 http www ifte de mitarbeiter lienig fm_part1 pdf 54 Zahn Markus Unix Netzwerkprogrammierung mit Threads Sockets und SSL ISBN 10 3 540 00299 5 Berlin Heidelberg New York Springer Verlag 2006 Zitat Anhange 86 Anhange A1 Schaltplan Prototyp 1
99. s Dieser er m glicht das Weiterreichen eines MJPEG Streams an eine Vielzahl von Clients Mongoose Open Source MIT Modul ist ein Object Modeling Tool OMD fur MongoDB es erm glicht einen objektbasieren Zugriff auf die in der Datenbank enthaltenen Daten Needle Open Source MIT Modul ist ein HTTP Client f r Node js mit einer Auswahl der meistgenutzten Funktionen zum Aufbau von HTTP Verbindungen Socket lO Open Source MIT Modul es erm glicht durch Technologien wie Websockets Adobe Flash Socket AJAX long polling AJAX multipart streaming Forever Iframe und JSONP Polling eine direkte Kommunikation per JavaScript mit dem Browser Socket lO Session Open Source MIT Modul erweitert das Modul Socket IO in Verbindung mit Express um die Funktionalitat Sessions zu verwenden Underscore Open Source MIT Modul beinhaltet eine Vielzahl hilfreicher Funktionen fur den Umgang mit Array Collections etc 4 Entwicklung und Umsetzung 62 4 2 4 Im Zuge dieser Arbeit entwickelte Module Alle im Zuge dieser Arbeit entwickelten Module wurden wegen der besseren Lesbarkeit in CoffeScript programmiert Im nachfolgenden Abschnitt werden diese Module kurz erkl rt und durch Anwendungsbeispiele verdeutlicht HttpPseudoDevice Dieses Modul erm glicht die Einbindung von Ger ten oder Diensten z B zur Versendung von Push Notifikationen ber eine HTTP Rest API Anwendungsbeispiel Modul einbinden var HttpPseudo r
100. t Ist die bertragung beendet so sendet der Master das Stop Signal und der Bus ist wieder freigegeben z B f r eine weitere bertra gung oder im Multimaster Mode f r die bertragungsinitiierung eines weiteren Masters Ist w hrend der bertragung etwas schief gelaufen so kann der Mas 2 Technische Grundlagen 16 ter ohne senden des Stop Signals das Repeated Start Signal senden und so die Ubertragung wiederholen 13 15 SDA SCL Start Adresse R W ACK Daten ACK Daten ACK Stop Signal Signal Abbildung 6 I C Kompletter Ubertragungsverlauf 15 S 13 Ansprechen eines Bausteins mit einer 10 Bit Adresse Soll ein Baustein mit einer 10 Bit Adresse angesprochen werden so ist der Ab lauf zu der regularen Adressierung etwas anders Nach dem Startsignal sendet der Master die Bitfolge 11110 gefolgt von den ersten beiden Adressbits und dem R W Bit Fuhlen sich ein oder mehrere Bausteine angesprochen so sen den sie ein ACK Bit Darauf sendet der Master die restlichen 8 Bit der Adresse ist ein Slave mit dieser Adresse vorhanden so sendet dieser ein ACK Bit Der restliche Verlauf der Datenubertragung gleicht der Kommunikation mit einem 7 Bit adressierten Slave 15 2 1 3 1 Wire Bus Bei 1 Wire handelt es sich um eine von der Firma Dallas Semiconductors Inc heute Maxim Integrated entwickelte serielle Schnittstelle 1 Wire wurde als g nstige Alternative zu I C entwickelt und ben tigt nur eine Datenleitung Diese D
101. tan mit seinem Takt nach dem langsamsten Bus teilnehmer Datenbits auf der SDA Datenleitung d rfen ihren logischen Pegel nur ver ndern wenn sich die SCL Leitung auf LOW Pegel befindet Ist dies nicht der Fall so ist das bertragene Bit ung ltig Ausgenommen von dieser Regelung sind das Start Stop und das Repeated Start Signal Sowohl das Start Signal und als auch das Repeated Start Signal sind eine fallende Flanke auf der SDA Datenleitung w hrend SCL auf High Level ist Das Stop Signal entspricht einer steigenden Flanke auf SDA w hrend sich SCL auf High Level befindet 15 ACK Daten bertragung n Bytes ACK Schreiben E Master E Slave Abbildung 4 I C Master sendet an Slave 15 S 15 Das bertragungsprotokoll sieht vor dass der Start einer bertragung mit dem durch den Master gesendetem Start Signal beginnt Danach folgt die in der Re gel sieben Bit lange Adresse des Slaves und ein Bit zur Lese oder Schreiban forderung Wurde das Adressbyte korrekt empfangen best tigt der jeweilige Slave dieses mit einem ACK Bit Acknowledged Danach werden die Daten byteweise vom Slave gelesen bzw zum Slave gesendet Jedem bertragenen Byte folgt ein ACK Bit je nach Modus gesendet vom Slave oder Master 13 Daten bertragung n Bytes ACK E Master E Slave Abbildung 5 I C Master fordert Daten von Slave an 15 S 15 Das letzte Byte im Lesezugriff wird vom Master durch ein NACK Bit Not Ack nowledged quittier
102. te und Dienste ber die Steuerung k nnen eine Vielzahl an Ger ten und Diensten angesteuert werden Im derzeitigem Entwicklungsstadium sind dies die 8 internen auf der Platine befindlichen Ein und Ausg nge Ger te und Dienste die ber eine HTTP REST API verf gen sowie Z Wave Ger te der folgenden Ger teklassen e schaltbare Steckdosen optional mit integrierter Strommessung e Dimmer e Rauchmelder 4 Entwicklung und Umsetzung 71 Des Weiteren werden Temperatursensoren die Uber eine 1 Wire Schnittstelle verfugen unterstutzt Szenen Es k nnen diverse Szenen angelegt werden ber die ein oder mehrere Ger te in definierte Zust nde gesetzt werden k nnen Beispiel Scene Wohnzimmer Alles Aus Deckenlicht aus Ambiente Beleuchtung 0 TV aus Beispiel Scene Wohnzimmer Fernsehen Deckenlicht aus Ambiente Beleuchtung 25 TVein Zu diesen Szenen lassen sich sogenannte Webhook URLs generieren ber die die jeweilige Szene aufgerufen werden kann So ist es Drittanbieter Applikationen ebenfalls m glich auf diese Szenen per URL zuzugreifen Ein Anwendungsbeispiel w re eine Applikation zur Anwesenheitserkennung ver l sst man das Haus so werden alle Ger te im Haus abgeschaltet Regeln und Benachrichtigungen Es lassen sich Regeln anlegen die die Zust nde der einzelnen Ger te betref fen L st z B ein ans System angemeldeter Rauchmelder aus so kann hier definiert werden was daraufhin passieren sol
103. ten Sonstiges Benutzer muss sich mit einem Benutzer namen und Passwort in das System ein loggen k nnen Benutzer Entwickler Entwickler muss eine sichere L sung im plementieren die die Daten des Benutzers sch tzt und dem Benutzer erm glicht sich an dem System anzumelden Benutzer muss sich zum Einloggen eine Benutzername Passwort kombination mer ken Es muss nach einem geeigneten Ver schl sselungsverfahren gesucht werden Ziel 1 Verschl sselte Verbindung Tabelle 5 Tabellarische Zieldarstellung Beispiel Benutzerauthentifizierung 3 Analyse und Konzeptentwurf 32 Use Cases Aus den vorher definierten Zielen lassen sich nun konkrete Use Cases Anwen dungsfalle erstellen Das Erstellen der Use Cases ist ein iterativer Prozess angefangen mit der Findung der Hauptaufgaben uber eine grobe Beschreibung des Anwendungsfalls hin zu einer konkreten Beschreibung des Inhalts Eine Definition eines Use Cases wurde hier am Beispiel der Benutzerauthentifi zierung mit folgendem Ergebnis durchgef hrt Benutzerauthentifizierung Nummer des Usecase Autor Version Kurzbeschreibung Stakeholder Fachverantwortliche r Referenzen Vorbedingungen Nachbedingungen typischer Ablauf Alternative Ablaufe Kritikalitat funktionale Anforderungen U2 Fabian Behnke 1 0 10 01 2014 Erstellung Benutzer m ssen sich mit einem Benut zernamen und Passwort in das System einloggen Benutzer Entwickler Fabi
104. ter Linie die Abmessungen des Raspberry Pis annehmen Da sich dadurch die Platinengr e knapp halbiert musste die Spe zifikation leicht angepasst werden Hardwarespezifikation Prototyp 2 Platinengr e Raspberry Pi 85 60 x 56 mm M glichkeit der Spannungsversor 5 V Pull Down Wandler direkt ber gung des Raspberry Pis ber Vin die den Pin Header am Raspberry Pi Anzahl analoger Eing nge entfallen Tabelle 3 Hardwarespezifikation Prototyp 2 Die Vorab Softwarespezifikation wurde wie folgt definiert Softwarespezifikation Betriebssystem Linux Raspbian Serverplatform Node js Grafischer Benutzerzugriff Webbasiert Browsergest tzt Tabelle 4 Vorab Softwarespezifikation 3 1 3 Anforderungsanalyse Zu einer genaueren Spezifikation der Software wurde eine Anforderungsanaly se durchgefuhrt Ermittlung der Stakeholder In diesem Fall ist die Liste der Stakeholder relativ kurz Erstens bin es ich in der Rolle als Entwickler des Systems stellvertretend fur spatere Entwickler und zweitens der Nutzer des Systems Weitere Stakeholder k nnten ebenfalls in Frage kommen z B Schulungspersonal Projektgegner Kulturkreise und andere Meinungsfuhrer Letztgenannte Stakeholder wurden aber in dieser An forderungsanalyse nicht ber cksichtigt Stakeholder sind Personen die Einfluss auf das betroffene System haben Systembetroffene 3 Analyse und Konzeptentwurf 30 Definition der Ziele Die zu definierenden Zie
105. tifikats W hrend der Entwicklung sind Probleme bei der Verwendung von selbstsignier ten Zertifikaten in Verbindung des Node js Moduls Socket lO aufgefallen Die ses Problem betrifft sowohl Desktop Ger te als auch mobile Ger te und u ert sich dahingehend dass versucht wird eine SSL verschl sselte Websockets Verbindung aufzubauen diese aber mit der Fehlermeldung WebSocket net work error OSStatus Error 9807 Invalid certificate chain in der JavaScript Konsole abgebrochen wird Als Fallback bertragungsmethode wird durch So cket IO auf eine Polling Verbindung umgeschaltet Dieser Vorgang dauert im 4 Entwicklung und Umsetzung 76 Extremfall bis zu 2 Sekunden Das Problem ist bekannt Als Abhilfe ist zum Zeitpunkt der Erstellung dieser Arbeit nur die Nutzung eines durch eine Zertifi zierungsstelle signiertes Zertifikat bekannt 4 2 12 Fehlerbehandlung Fehler die den eigentlichen Programmablauf betreffen werden mithilfe des No de js Logging Moduls Winston aufgenommen Dies ist eine simple und univer sell einsetzbare Bibliothek die zum Loggen diverser Informationen z B Fehler genutzt werden kann Winston unterstutzt dabei mehrere Transportwege fur diese Informationen Je nach Konfiguration lassen sich diese z B in einer Da tenbank ablegen einer Datei speichern oder auf die Konsole ausgeben Das Modul verfugt Uber verschiedene Dringlichkeitsstufen denen auf der Konsole Farben zugewiesen werden konnen z B Hinweise in
106. un versuchen diese Daten mit dem zum Public Key pas senden Private Key zu entschl sseln Mithilfe dieser korrekt entschl ssel ten Daten wird in der letzten Handshake Phase zusammen mit der An fangs ausgetauschten Zufallsdaten ein 48 Byte langes Master Secret berechnet Der Server sendet zum Abschluss anschlie end eine mit dem MasterSecret verschl sselte ServerFinished Meldung Diese Meldung beinhaltet alle bisher ausgetauschten Nachrichten als MD5 sowie SHA 1 Hashwerten Der Client berechnet nun ebenfalls das Master Secret und kann dadurch feststellen ob der Server im Besitz des zum Public Key passenden Private Key ist Ist diese berpr fung positiv verlaufen so wird die weitere Verbindung serverseitig mit den Private Key und Client seitig mit dem Public Key ver bzw entschl sselt 54 S 313 316 Neben der eigentlichen Verschl sselung wird nun durch den Browser gepr ft ob das Zertifikat echt ist und durch eine vertrauensw rdige Zer tifizierungsstelle CA ausgestellt wurde Ist dies nicht der Fall passiert auch bei selbst signierten Zertifikaten so wird dies durch eine auff llige Meldung im Browserfenster sichtbar gemacht Erstellung eines selbstsignierten Zertifikats In der Regel sind durch Zertifizierungsstellen ausgestellte Zertifikate nicht kostenlos erh ltlich Daher wurde zu Testzwecken in dieser Arbeit ein selbst signiertes Zertifikat verwendet Dieses Zertifikat steht in Sachen Verschl sselung einem durch ein
107. us tzliche als Ein oder Ausgang programmierbare Anschl sse Das Bauteil ist in zwei verschie denen Ausf hrungen sowohl f r den SPI MCP23S17 als auch f r den I C Bus wurde hier verwendet erh ltlich Die Bus Adresse dieses Ger tes l sst sich ber 3 Adress Pins einstellen sodass bis zu 8 solcher Ger te an einem Bus betrieben werden k nnen Des Weiteren verf gt es ber zwei Anschl sse die als Interrupts genutzt und ber das Konfigurationsregister programmiert werden k nnen N here Informationen k nnen dem Datenblatt 46 entnommen werden 4 Entwicklung und Umsetzung 49 4 1 4 Tolerante Eingange In der Spezifikation wurde festgelegt dass die Eingange des Systems eine Ein gangsspannung von 5 24 V zulassen sollen Daher wurde eine einfache Schal tung aus zwei Widerst nden und einer Zender Diode entwickelt die vor jeden der Eing nge geschaltet wurde Der MCP23017 detektiert am Eingang Spannungen unterhalb von 0 2 V als LOW und oberhalb von 0 8 V als HIGH Pegel Das Ziel dieser Schaltung ist es also sicher die gerade genannten Spannungspegel zu erreichen ohne aber zu viel Verlustleistung in Form von W rme zu erzeugen Die Schaltung wurde mit Hilfe der Software P Spice simuliert und auf die eben genannten Punkte optimiert Abbildung 23 P Spice Simulation Diagramm toleranter Eingang Als Zenerdiode wurde eine D1N750 Standard Zenerdiode mit einer Durch bruchsp
108. usforderung dar f hrte aber aufgrund guter Vorarbeit schnell zu einem voll funktionst chtigem Prototypen Der Entwurf des Platinenlayouts mit Hilfe der PCB Design Software Eagle war mit der Schwie rigkeit verbunden dass solche Entwicklungsaufgaben bisher nicht Bestandteil des Studiums waren Daher musste sich die Bedienung der Software vollst n dig selbst erarbeitet werden Diese Herangehensweise spiegelt jedoch den Grundgedanken eines Studiums wieder und wird einem im sp teren Arbeitsle ben sicher erneut begegnen Die Stabilit t der Hard und Software zeigte in Testl ufen sehr gute Ergebnisse Allerdings konnten aus Zeitgr nden keine Langzeittests durchgef hrt werden ber einem Zeitraum von 6 Wochen traten hier jedoch keinerlei Probleme auf 6 2 Ausblick Die Entwicklung der Hard und Software dieses Open Source Projektes ist noch lange nicht abgeschlossen So gibt es noch eine Vielzahl an Z Wave Ger ten die derzeit nicht unterst tzt werden darunter sind z B Rollladensteuerungen und Heizungsthermostate Au erdem muss eine M glichkeit gefunden werden das System bei einem Stromausfall sicher herunterfahren zu k nnen um Da teninkonsistenzen in der Datenbank zu vermeiden Durch eine sp tere Ver f fentlichung dieses Projektes auf der Webseite http www smarterpi org sowie auf der Open Source Hosting Platform GitHub k nnen andere Entwickler mit helfen an L sungen dieser Probleme zu arbeiten v JavaScript Callback H
109. va Script basiertem Web Template ohne den Server kontaktieren zu m ssen Verwendung in dieser Arbeit EJS wird verwendet um JavaScript basiertem Web Templates auf dem Server zu rendern hnlich dem Konzept von PHP und durch Express an den Browser auszuliefern 4 2 3 Verwendete Node js Module Bei dieser Arbeit wurden diverse Node js Module verwendet Diese Module greifen teilweise auf weitere Submodules Unter Module zur ck Diese Sub modules werden hier nicht weiter betrachtet Coffee Script Open Source MIT Modul kompiliert CoffeScript in JavaScript Connect Mongo Open Source MIT Modul erm glicht MongoDB als SessionStore zu verwen den Cron Open Source MIT Modul erm glicht die Erstellung von Cron Jobs f r Node js code Die Syntax ist kompatibel mit dem von Linux bekannten Cron Daemon Express Siehe 4 2 2 EJS Siehe 4 2 2 12C Open Source BSD Modul dass native Bindings an die I C Schnittstelle des Raspberry Pi funktioniert auch mit dem BeagleBone enthalt und so ermoglicht die I C Schnittstelle direkt in JavaScript anzusprechen 7 CoffeScript ist eine Programmiersprache angelehnt an Ruby Python und Haskell um die Les barkeit und Pr gnanz von JavaScript zu verbessern Typischerweise weisen in CoffeScript geschriebene Programme 30 weniger Programmzeilen auf als in JavaScript 31 4 Entwicklung und Umsetzung 61 Mjpeg Proxy Open Source MIT Modul ist ein Proxy fur MJPEG Video Stream
110. w re 8 2 Technische Grundlagen 13 Verf gbare Betriebssysteme Seit der Vorstellung des Raspberry Pi sind diverse Betriebssysteme f r den Einplatinencomputer entwickelt bzw portiert worden Bei den meisten Betriebs systemen handelt es sich um Linux Distributionen wie z B Raspbian eine f r den Raspberry Pi optimierte Version von Debian 9 Es sind aber auch Versio nen des Handybetriebssystems Android 10 sowie des f r embeddet Systems entwickelte Betriebssystem Microsoft Windows CE verf gbar 2 1 2 PC Bus I C steht f r Inter Integrated Circuit und wurde Anfang der 1980er Jahre von Philips Semiconductors heute NXP Semiconductors entwickelt Es handelt sich um einen seriellen Datenbus zur Kommunikation zwischen mindestens ei nem Mikrocontroller Master und mehreren ICs Slaves auf nur einem Broadcast Kanal Aus lizenzrechtlichen Gr nden f hrte die Firma Atmel die Be zeichnung TWI Two Wire Interface ein technisch gesehen sind TWI und 1 C aber identisch 11 12 13 S 133 Versionshistorie Jahr Version Wichtigste Fakten 1992 Spezifikation 1 0 Die erste standardisierte Spezifikation des I C Busses erganzte den ursprunglichen Standard Mode 100 kbit s um den Fast Mode 400 kbit s Der Adressraum wurde um einen 10 Bit Modus erwei tert Es es k nnen nun bis zu 1136 I C Ger te angesprochen wer den 1998 Spezifikation 2 0 Der Highspeed Mode 3 4Mbit s wurde eingef hrt Die Strom und Spannungsanfo
111. weise 4444444444nnnnnnnnnnnnnneennnn 111 112 Versicherung ber die Selbstst ndigkeit 440000nnnnnnnnn nn nn nn Abbildungsverzeichnis 7 Abbildungsverzeichnis Abbildung 1 Raspberry Pi Model B Foto ccceeeeeeeeeeeeeeeeeeeeeesseeeeees 11 Abbildung 2 Raspberry Pi Model B Schema 7 nennen 12 Abbildung 3 I C Bus mit einem Master und 3 Slaves 14 S 8 14 Abbildung 4 I C Master sendet an Slave 14 S 15 15 Abbildung 5 I C Master fordert Daten von Slave an 14 S 15 15 Abbildung 6 I C Kompletter Ubertragungsverlauf 14 S 13 2 2 2 2 2 2 0 0 16 Abbildung 7 1 Wire Bus mit einem Master und 3 Slaves 17 Abbildung 8 1 Wire Master schreiben 4 24444444440444 HH 18 Abbildung 9 1 Wire Master lesen Slave sendet 0 en nenn 18 Abbildung 10 1 Wire bertragungsschema eneennn 19 Abbildung 11 Use Case Diagramm zur besseren Darstellung Beispiel 33 Abbildung 12 Schreibdauer Datenbankenvergleich gt 36 Abbildung 13 Zugriffsdauer Datenbankenvergleich 36 Abbildung 14 Everspring AN158 Schalt und Leistungsmessger t 41 Abbildung 15 Z Wave Me Dimmer 4444444444444nnn nennen nnnnnnnnnnn
112. wendet Jede Messung wurde insgesamt zehn Mal durchgef hrt tabellarisch erfasst und ber die Messwerte gemittelt Um auszuschlie en dass sich noch Dateien im Zwischenspeicher befinden wurde nach jeder einzelnen Messung der Browsercache geleert Getestet wurde anhand der Startseite dem Dashboard auf der sich w hrend des Tests folgende Elemente befanden e 2 Temperaturkurven mit je 100 Messwerten diese haben am meisten Einfluss auf die Dauer des Webseitenaufbaus e 3 Schalter e 3 Slider Dimmer e 4 Scene Buttons e sowie das Men Die Verbindung zum Server wurde ber eine gesicherte SSL Verbindung her gestellt 5 Erprobung 78 Ergebnis Internet Explorer Safari Firefox Dauer Seitenaufbau in Sekunden Abbildung 42 Ergebnis Geschwindigkeitstest Webseitenaufbau Wie man gut erkennen kann sind Internet Explorer und Chrome beim Websei tenaufbau mit am schnellsten Safari sowie Firefox bendtigen in etwa doppelt so lange fur den Seitenaufbau des Dashboardes Reaktionsgeschwindigkeit Beim Reaktionstest sollte die Zeit zwischen Anderung und Reaktion gemessen werden Dazu wurde auf zwei Computern das Dashboard aufgerufen und auf einem der Rechner diverse Schalter sowie Slider betatigt Die Zeit zwischen Mausklick auf dem ersten Computer und Reaktion auf dem zweiten wurde ver sucht mit einer Stoppuhr zu messen Wie erwartet stellte sich dieses Messver fahren als sehr schwierig heraus da die Reaktionszeiten
113. x ohne Anpas sungen laufen zu lassen 2 Technische Grundlagen 26 Module Node js sieht die M glichkeit vor Applikationen modular aufzubauen Einige dieser Module sind bereits in der Node js Binary enthalten und k nnen in entwi ckelten Applikation verwendet werden Dar ber hinaus ist es m glich eigene Module zu entwickeln und diese in die eigene Applikation einzubinden Diese k nnen vorkompilierte Dateien mit der Dateiendung node JavaScript Dateien dung js oder JSON Dateien Dateiendung json sein 40 Das node js Modul System folgt der CommonJS Konvention einem Standard f r JavaScript Systeme die au erhalb von Browsern betrieben werden und stellt ber eine Variable namens exports Zugriff auf Funktionen und Variablen des entspre chenden Moduls her 41 Reichen die in JavaScript gegebenen M glichkeiten nicht aus so k nnen Mo dule auch um C Code erweitert werden Dazu werden die in C implemen tierten Funktionen mittels Bindings dem Namensraum von JavaScript zur Ver f gung gestellt 3 Analyse und Konzeptentwurf 27 3 Analyse und Konzeptentwurf 3 1 Spezifikation und Anforderungsanalyse 3 1 1 Voruberlegung Der Raspberry Pi schien als ideale Plattform f r diese Arbeit er ist kosteng ns tig hat viele Anschlussm glichkeiten und bietet gen gend Rechenleitung zum Betrieb einer Haussteuerung Neben dem Raspberry Pi werden aber noch wei tere Bauteile ben tigt die auf eine Platine aufgel tet werde
114. zt sich aus 8 Bit Family Code 48 Bit Seriennummer und einer 8 Bit CRC Checksumme zusammen 19 Wie schon erw hnt ben tigt 1 Wire nur eine Ader Ger te wie z B der Tempe ratursensor DS18S20 besitzen einen integrierten Pufferkondensator der gela den wird solange sich die Datenleitung gerade im High Zustand befindet Die ser versorgt den Sensor mit Spannung Dennoch ist es empfehlenswert gerade bei langen Leitungsl ngen eine separate Ader zur Spannungsversorgung vor zusehen und diese anzuschlie en 13 S 155 19 Die Datenleitung wird ber einen Pull Up Widerstand mit der Versorgungs spannung 3 V bzw 5 V je nach angeschlossener 1 Wire Ger te verbunden Die Technischen Anforderungen an den 1 Wire Master sind sehr gering so ist es z B m glich einen simplen Mikrocontroller der einen bidirektionalen Open Drain Anschluss besitzt als Master zu nutzen Des Weiteren sind diverse Bau steine verf gbar die andere Protokolle in das 1 Wire Protokoll bersetzen z B von I C zu 1 Wire Diese Bausteine bernehmen in diesem Fall die Master Funktionalit t 19 Da bei 1 Wire keine separate Leitung f r das Taktsignal vorgesehen ist ist es wichtig dass vorgegebene Timings eingehalten werden Die Timing 2 Technische Grundlagen 18 Synchronisation erfolgt bei jedem Bit mit der durch den Master erzeugten fal lenden Flanke Mochte der Master eine logische 1 senden zieht er den Bus fur 6 us 1 us im Overdrive Mode au
Download Pdf Manuals
Related Search
Related Contents
Cosette® Dual Flush Visualizza Copyright © All rights reserved.
Failed to retrieve file