Cursus : PC technicus 4
DOMOTICZ
Schooljaar : 2014 -2015 Docent: Lode Mispelon Student: Etienne Tanghe
Uw huis besturen op afstand: starten met domotica
De Raspberry Pi B.
Het kan handig zijn om uw huis te voorzien van elektronica die vanaf een enkele plek is te beheren. U kunt bijvoorbeeld uw lampen automatisch aan- of uitzetten op een bepaald tijdstip of zorgen dat ’smorgens om 7 uur het koffieapparaat aangaat en een vers kopje koffie voor u zet. Maar, hoe kunt u deze apparaten op afstand bedienen en automatisch op gezette tijden in- of uitschakelen?
Verschillende domotica-systemen Voorbeelden van een aantal kant-en-klare systemen die je kunt aanschaffen zijn: HomeWizard, HomeSeer, Vera Control (voorheen Mi Casa Verde) en Fibaro Home Center. Nou zijn dit vaak hele leuke systemen die heel intuïtief werken, en je snel aan de praat hebt, maar er zitten ook wat nadelen aan.
Nadelen van (commerciële) domotica-systemen Een nadeel is bijvoorbeeld de aanschafprijs. Over het algemeen ben je toch al snel €200,- à €300,- kwijt voor de aanschaf van een domotica-gateway of -starterset, of in het ergste geval nog veel meer. En dan
heb je alleen nog maar een gateway in huis, of in het geval van een starterset misschien nog 2 of 3 tussenstekkers erbij. Een ander nadeel is dat je gebonden bent aan wat de fabrikant van het systeem aanbiedt aan functionaliteit. Nou zal dit voor de meest gebruikte toepassingen voldoende zijn, zoals via je smartphone een schakelaar of dimmer bedienen. Maar zodra je wat complexere functies bedenkt, loop je waarschijnlijk al snel tegen beperkingen aan binnen het systeem dat je hebt aangeschaft. Een voorbeeld bij mij thuis is dat de lichten in de woonkamer automatisch aan gaan en de rolgordijnen naar beneden gaan als het 16.00 uur is geweest, de schemersensor geactiveerd is en er het laatste half uur nog beweging is gedetecteerd in de woonkamer, en dit mag maar maximaal één keer per dag uitgevoerd worden. Of dat als de balkondeur langer dan 5 minuten openstaat en de temperatuur buiten lager is dan de temperatuur in de woonkamer, de thermostaat van de CV-ketel automatisch wordt bijgesteld zodat er niet onnodig verwarmd wordt. In de standaard interface van de HomeWizard is dit bijvoorbeeld al bijna niet te realiseren. Do It Yourself – open source-domoticasystemen Een goede optie is dan om met een open source-systeem te gaan werken, of (als je echt zin hebt in een hobbyprojectje) het helemaal zelf te maken. Er zijn verschillende goede open source-systemen te vinden op internet zoals bijvoorbeeld Domoticz, Domotiga of pilight. De software kun je dus gratis downloaden en verder heb je alleen nog een systeem nodig waarop je het gaat draaien in combinatie met één of meerdere transceivers. Het kan per open source-pakket verschillen wat voor hardware of besturingssysteem wordt ondersteund, maar denk bijvoorbeeld aan een Windows of Linux pc/server, Raspberry Pi, Arduino of een QNAP of Synology NAS. Een voordeel van open source-systemen is dat er ook vaak meerdere domotica-systemen zoals bijvoorbeeld KlikAanKlikUit en Z-Wave ondersteund worden en meer verschillende typen hardware. In Nederland wordt bijvoorbeeld veel met KlikAanKlikUit gewerkt of een vergelijkbaar systeem zoals van HomeEasy, maar ook Z-Wave is sterk in opkomst. Ik zal er in dit artikel niet al te diep ingaan ('Google is your friend'), maar het is goed om te weten dat KlikAanKlikUit- en Z-Wave-systemen met verschillende frequenties werken. KlikAanKlikUit werkt op 433.92MHz en Z-Wave over het algemeen op 868.42 Mhz (dit kan per land verschillen). Neem bijvoorbeeld de HomeWizard, die kan alleen maar met apparaten op 433.92Mhz communiceren, en niet met Z-Wave modules. Als je zelf een systeem bouwt op basis van open source-software heb je vaak wel de mogelijkheid om beide frequenties te ondersteunen, door simpelweg een antenne toe te voegen die de gewenste frequentie kan ontvangen en versturen.
Raspberry Pi B: alleskunner De Raspberry Pi B is een minicomputer, die bestaat een complete printplaat met daarop een armprocessor, geheugen, netwerkaansluiting, twee usb-poorten, een hdmi-videouitgang en een audioaansluiting. Ook is er plaats voor een sd-geheugenkaartje, dat kan worden gebruikt om de standaard opslagcapaciteit van 512 MB uit te breiden. De Raspberry Pi wordt geleverd zonder besturingssysteem, maar er zijn verschillende systemen die geschikt zijn voor de Raspberry Pi, zoals Android 4.0, verschillende Linux-varianten, Google Chrome OS.
Met de nieuwe Raspberry Pi B+
4 USB 2.0 poorten (maximaal 1.2A) zodat u meer randapparatuur kunt aansluiten. Hier voor heeft u wel een 5V 2.0 A voeding nodig. Micro SD slot Een extended 40 pins GPIO voor grotere en betere projecten dan ooit te voren. De eerste 26 pins zijn identiek aan het model B die 100% backward compatibility garanderen. Gecombineerde 4-polige aansluiting voor het aansluiten van uw stereo audio uit en composiet video-uitgang
Het is trouwens ook mogelijk om de Raspberry Pi rechtstreeks op een tv of monitor aan te sluiten met een HDMI kabel. Ook is de Raspberry Pi uitstekend te gebruiken als mediacenter met bijvoorbeeld XBMC als primair besturingssysteem. De Raspberry Pi B kost ongeveer 35 euro en is voornamelijk op internet te koop.
Domotica in een notedop Domoticz is een domotica-besturingssysteem dat naast Windows ook geschikt is voor de Raspberry Pi waarmee rechtstreeks ingangen (drukknoppen, schakelaars, enz.) gelezen worden of uitgangen (lichtpunten, garagepoort, rolstoors, relais, enz. ) kunnen bediend worden, het aansturen kan ook met een RfxCom Transceiver: een antenne die draadloze apparatuur draadloos in- of uit kan schakelen, lichten kan dimmen of zonneschermen en lamellen automatisch kan openen en sluiten enz…. Deze software is uitermate geschikt om diverse domoticaapparatuur aan te sturen, en werkt zonder problemen met producten van merken als KlikAanKlikUit, ELRO, Alecto en HomeEasy. Je kunt de Raspberry Pi opnemen in je thuisnetwerk via de geïntegreerde netwerkaansluiting, waarna je - na het opstarten van de Raspberry Pi - vanaf je pc, laptop, tablet of smartphone Domoticz-interface kunt benaderen. Daarvoor hoef je eigenlijk niets in te stellen op de Raspberry Pi, want na het booten van het apparaat wordt automatisch een webserver gestart. . Schakelen maar Vanuit die interface kun je apparaten toevoegen, bijvoorbeeld dimmers, zonneschermen of een weerstation. Vervolgens verloopt het aansturen van de apparaten via geautomatiseerde scripts. Zo kun je bijvoorbeeld op een bepaald tijdstip alle lampen in de woonkamer uit laten gaan, of de lamp in de hal automatisch aan laten springen als er iemand aanbelt. Je kunt ook gebruikmaken van apart aan te schaffen sensoren, die zonder problemen werken met de de Domoticz-software op de Raspberry Pi met RfxComtransceiver.
Domoticz installeren Domoticz is een centraal besturingssysteem waarmee een groot aantal producten van diverse domoticafabrikanten kan worden aangestuurd. De software beschikbaar als losse installatie voor Windows en als compleet besturingssysteem voor de Raspberry Pi. Het grootste voordeel van Domoticz is dat de software gebruiksvriendelijke werkt. Het installeren van Domoticz op de Raspberry Pi is niet erg ingewikkeld, maar vereist wel wat speciale handelingen. Allereerst hebt u een standaard sd-kaartje nodig van minstens 2 GB. Het installatiepakket van Domoticz is namelijk zo’n 1,9GB groot en past net op zo’n kaartje. U kunt het zip-bestand met de installatie-image voor Raspberry Pi downloaden van sourceforge.net/projects/domoticz/files. Kies altijd voor de nieuwste versie, zodat u beschikt over de nieuwste functies en ondersteuning van de laatste hardware. Download het installatiebestand naar een map op uw harde schijf. Pak het zip-bestand uit naar dezelfde map. Na het uitpakken vindt u twee bestanden (Readme.txt en domoticz-raspberrypi-sdcardr1_1125.img) en een submap (Win32DiskImage) in de map. Het bestand met de extensie .img is de installatie-image dat we op de Raspberry Pi moeten installeren. In de map Win32DiskImage vinden we een uitvoerbaar bestand – Win32DiskImager.exe – waarmee we bovengenoemde image kunnen installeren op de sd-kaart: u moet dus ook over een computer beschikken waarin het mogelijk is om een sd-kaart te plaatsen, maar het kan natuurlijk ook met een externe sdkaartlezer. We starten Win32DiskImager.exe en openen het img-bestand via de Openen-knop. Aan de rechterkant van het imaging-programma is te zien naar welk schijfstation de image wordt weggeschreven: in ons geval is dat de stationsletter J: die door Windows is toegekend aan het sd-kaartje.
De image wegschrijven naar de sd-kaart.
Is de Domoticz-image eenmaal weggeschreven, dan is deze klaar voor gebruik in de Raspberry Pi. Plaats de sd-kaart in de Raspberry en schakel de stroom in. De Domoticz-software wordt nu gestart.
Voor toegang tot uw Domoticz kijkt u in uw router welk IP adres uw router toegewezen heeft aan uw Raspberry (deze staat standaard op automatisch ontvangen). Ga vervolgens naar http://"IPadres":8080 en u komt in de Domoticz interface. Daar kun je apparaten toevoegen, zowel automatisch als via een leermethode, en deze direct bedienen
150 Mbps Wireless Ralink RT570 USB-adapter
Wat doet dit product? Het miniatuur formaat en de dunne vorm van de 150 Mbps Wireless Ralink USB-adapter RT570 biedt de mogelijkheid een desktop, notebook computer of raspberryPi met 150 Mbps met een draadloos netwerk te verbinden. De miniatuur adapter is ontworpen voor een optimaal gemak en eenmaal aangesloten op een USBaansluiting van een computer of raspberryPi kan hij aangesloten blijven. 150 Mbps Wireless N snelheid - stabiele draadloos signalen De RT 570 voldoet aan de 802.11 b/g/n draadloos standaarden, met transmissiesnelheden tot 150 Mbps, zodat snelle draadloze verbindingen voor de raspberryPi beschikbaar is.
WPA / WPA2 versleuteling - geavanceerde beveiliging Als je het hebt over draadloos beveiliging, biedt de WEP versleuteling allang niet meer de sterkste en veiligste bescherming tegen indringers De RT 570 beschikt over de WPA/WPA2 versleuteling.
Het installeren van de RT 570 op de Raspberry Pi is niet erg ingewikkeld, maar vereist wel enkele regels
-
Update en upgrade bestaande software van de raspberryPi sudo apt-get update sudo apt-get upgrade
-
Lijst van de verbonden USB devices lsusb (Bus 001 Device 005ID….Ralink Technology Corp RT5370 Wireless Adapter)
-
Connecteren van de dongle aan het network Editeren van “ wpa_supplicant.config” sudo nano /etc/wpa-supplicat/wpa_supplicant.config ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid=”invullen” psk=”invullen” } Saven ctrl-O (WriteOut) en afsluiten ctrl-X (exit) nano editer.
-
Afsluiten wifi stop wlan0 sudo wpa_action wlan0 stop
-
Opnieuw inladen niewe wpa config sudo ifup wlan0 sudo wpa_cli status (onderaan zie je het toegekend IP-addres van de Wifi )
GPIO De GPIO-header is de header links bovenin met 26 opstaande pinnen (raspberryPi B). De pinnummers van de pinnen zijn in onderstaande figuur weergegeven zodat u kunt zien hoe de nummering loopt. Aan de linker kant bevinden zich de oneven nummers, aan de rechter kant de even nummers.
U ziet in de fotl dat de GPIO-pinnummers niet overeenkomen met de header-pinnummers. Zo zit GPIO 4 aan header-pin 7, terwijl GPIO 7 helemaal aan header-pin 26 zit. Op de GPIO-header kan gemakkelijk allerlei elektronica worden aangesloten zoals LED’s en schakelaars. Een belangrijk nadeel is echter dat deze aansluitingen geen noemenswaardige beveiliging hebben. De gehele raspberryPi werkt op 3,3Ven alle pinnen dus ook 3,3V leveren en verwachten.
LED De maximale stroom die een RPI uit de 3,3V aansluiting kan leveren is 51mA, en dat is voor alle pinnen samen. Om die reden gebruiken we een LED die slechts 2mA vraagt.
3,3V
680 Ω
LED
De weerstand is verbonden met pin 18 en de andere kant met de LED. Deze is op zijn beurt verbonden met pin 25, de aarde. De LED heeft een + en een – kant (formeel heet de + de anode en de min kathode) Binnenin de LED bij een van de pinnen zie je breder vlak dan bij de andere. Dat is de kant die aan de min moet. Meestal zit aan die kant een aansluitdraad die net iets korter is. In het schema lijkt het symbool van de LED op een pijl met een streepje ervoor. De pijl wijst altijd de zin van de min aan. De LED zit op headerpin 18 en heeft als naam GPIO 24. Om de LED te kunnen bedienen moet een signaal van de RPI uitgaan naar de LED. Geef de volgende opdracht: gpio –g mode 24 out (het cijfer 24 is het GPIO-pinnummer, en out staat voor output) Er gebeurt nog niets; door de volgende opdracht wordt er een 1 geschreven naar GPIO 24 gpio –g write 24 1 De LED gaat nu aan. Met deze opdracht schrijven we een 1 naar GPIO 24. Op dezelfde manier kunnen we de LED weer uitzetten door er een 0 naartoe te schrijven: gpio –g write 24 0
SCHAKELAAR Een pin die in gebruik is als invoer mag nooit “zweven”. Dat wil zeggen dat hij altijd met iets verbonden moet zijn, of de plus of de nul. +3,3V 1k
Schakelaar RPI pin
10k
GND
GND
Bij open schakelaar is de RPI pin via 10k weerstand verbonden met de nul. Bij gesloten schakelaar ontstaat een spanningsdeler met als spanning op de invoerpin 3V. De schakelaar zit bv op header-pin 16, en heeft als naam GPIO 23. Net als bij de LED moeten we de RPI laten weten wat we met de pin waar de schakelaar aan zit willen gaan doen. In dit geval moet het een input zijn, het signaal van de schakelaar moet immers de RPI in. We doen dit met de commando: gpio –g mode 23 in (het cijfer 23 is het GPIO-pinnummer, en in staat voor input) We kunnen nu bekijken wat de stand is van de schakelaar met de opdracht: gpio –g read 23 Wanneer de schakelaar niet ingedrukt is krijgt u als antwoord 0, en wanneer hij wel ingedrukt is krijgt u als antwoord 1.
Het activeren van de 4 gewenste uitgangen gpio 17 (pin 11) , gpio 18 (pin 12), gpio 27 (pin 13) en gpio22 ( pin 15) en 3 ingangen (gpio 23 (pin 16) , gpio 24 (pin 18), gpio 25 (pin 22) gebeurt door het opstarten van een bash bestand. Bash is een eenvoudige taal waarmee veelvoorkomende handelingen op de RPI kunt autmatiseren. Om een programma in de RPI in te voeren, gebruiken we de editor Leafpad. Dit programma kan gestart worden vanuit (Acessories – Leafpad) of in de terminal (leafpad gevolgd door enter)
De volgende instructies worden ingevoerd in Leafpad cd domoticz gpio export 17 out gpio export 18 out gpio export 27 out gpio export 22 out gpio export 23 in gpio edge 23 both gpio export 24 in gpio edge 24 both gpio export 25 in gpio edge 25 both gpio exports gpio readall sudo service domoticz.sh stop ./domoticz Sla het programma op met de naam start.sh in de map pi . Start het programma op met bash start.sh
Aan de slag Hardware configureren. Instelling Hardware : Naam “GPIO poort RPI” Type : (selecteren) Raspberry GPIO poort
Schakelaars configureren.= de 4 LEDs Hoofdmenu Schakelaars selecteren Handmatig Name : “LED1” Switch type : On/Off Type : GPIO GPIO : GPIO17 (GPIO.0) on pin 11 (output)
Idem voor LED2 : GPIO : GPIO18 (GPIO.1) on pin 12 (output) Idem voor LED3 : GPIO : GPIO27 (GPIO.2) on pin 13 (output) Idem voor LED4 : GPIO : GPIO22 (GPIO.3) on pin 15 (output)
Schakelaars configureren.= de 3 schakelaars Hoofdmenu Schakelaars selecteren Handmatig Name : “Schakelaar 1” Switch type : Contact Type : GPIO GPIO : GPIO23 (GPIO.4) on pin 16 (input)
Idem voor Schakelaar 2 : GPIO : GPIO24 (GPIO.5) on pin 16 (input) Idem voor Schakelaar 3 : GPIO : GPIO25 (GPIO.6) on pin 22 (input)
Het resultaat vind je terug in instelling apparaten
De 4 LEDs en de 3 Schakelaars worden gevisualiseerd onder Schakelaars
Het bedienen kan gebeuren door op de desbetreffend LED te drukken of de schakelaars bedienen.
Apparaten koppelen Om een echt werkend domotica-huis te hebben, moet u eigenlijk meerdere apparaten in het systeem hebben. Deze apparaten worden dan via de Domoticz-software aan elkaar gekoppeld. De status van één apparaat kan de stand van een ander apparaat beïnvloeden. Er zijn zo tal van scenario’s mogelijk. Bijvoorbeeld: iemand drukt op de deurbel, daardoor springt de lamp in de hal aan, maar tegelijkertijd floept ook de buitencamera aan, waardoor u op het (tv-)scherm binnen kunt zien, wie er aan de deur staat. Of u gebruikt een temperatuurmeter in combinatie met automatische lamellen. Wanneer de buitentemperatuur boven de 25 graden komt, gaan de lamellen in de living automatisch dicht. Dit zijn natuurlijk slechts een aantal mogelijkheden van de Raspberry Pi in combinatie met Domoticz . Domoticz gebruikt een visuele programmeeromgeving, dat werkt via het zogenaamde ‘als-dan’-principe. Kort gezegd komt het erop neer dat je door het opvragen van de status van een apparaat, een ander apparaat iets kan laten doen, precies zoals we eerder hebben uitgelegd. Voor ieder te bedienen apparaat gebruik je een visueel puzzelstukje, dat een apparaat representeert. Om dat apparaat iets te laten doen, plaats je een tweede puzzelstuk aan het eerste puzzelstuk. Deze wijze van programmeren wordt blockley genoemd. Bijvoorbeeld ‘Als DEURBEL=AAN dan HALLAMP=AAN’. Het voordeel van de puzzelstukjes is dat alleen de stukken die bij elkaar horen, op elkaar passen. Op die manier is meteen te zien welk script gaat werken.
Door puzzelstukjes aan elkaar te plaatsen, is de apparatuur op elkaar af te stemmen.
Conclusie Met de Raspberry Pi met GPIO-header is in Domoticz zeer veel mogelijk. In deze tekst heb ik slechts een klein deel van de functionaliteit besproken, maar het voordeel is dat u klein kunt beginnen en later eenvoudig uw huis kunt uitbreiden met andere domotica-apparatuur. Zo kunt u uw huis uiteindelijk volledig automatiseren. Een mogelijke interessante uitbreiding is gebruik maken van een draadloze rfxcom-transceiver USB 433MHz. De rfxcom-transceiver wordt automatisch door Domoticz herkend; er hoeft dus geen extra software op de Raspberry te worden geïnstalleerd om aan de slag te kunnen met domotica-apparatuur. Omdat de rfxcommodule zelf alle apparaten kan bedienen, is er dus niet veel meer nodig om meteen aan het werk te kunnen. Rfxcom werkt naast KlikAanKlikUit-apparatuur ook met andere merken zoals Alecto, Ikea, Philips en HomeEasy. Een volledige lijst van ondersteunde producten is te vinden op www.rfxcom.com/store/Transceivers/12103. Hoewel de rfxcom-module wordt herkend als deze op een van de usb-poorten op de Raspberry is aangesloten, moet de afzonderlijke domotica-apparatuur nog wel handmatig worden toegevoegd. Dat kan handmatig door het type apparaat op te geven – bijvoorbeeld een dimmer, en daaraan een unieke code aan toe te kennen. Die unieke code wordt verzonden via het signaal dat de rfx-antenne uitzendt, en wordt vervolgens opgepikt door het domotica-apparaat. Zodra bijvoorbeeld een lamp aanspringt, nadat de unieke code is verzonden, weet u dat die code bij dat betreffende apparaat hoort. Soms kost het even wat trial en error voordat het juiste apparaat is gevonden.
KlikAanKlikUit De stekkerdoos schakelaars van deze set steekt u simpelweg in een willekeurig stopcontact binnenshuis. Vervolgens sluit u uw verlichting of apparaat aan (max. 1500 Watt per stekkerdoos schakelaar). Om de 3 stekkerdoos schakelaars te bedienen gebruikt u de meegeleverde afstandsbediening of één van de overige draadloze KlikAanKlikUit zenders naar keuze (max. 3 zenders te gebruiken per stekkerdoos schakelaar). Daarnaast is deze set ook aan te sturen met een Raspberry Pi i.c.m. de RFXcom. Naast de stekkerdoos schakelaar zijn er ook stekkerdoos dimmers beschikbaar om verlichting draadloos te dimmen met een KlikAanKlikUit zender. Bovendien is er een inbouw schakelaar beschikbaar welke u achter een stopcontact kunt installeren. Zo heeft u een mooie inbouwoplossing om verlichting of apparatuur via een stopcontact draadloos aan/uit te schakelen. Naast de diverse KlikAanKlikUit oplossingen voor plaatsing in/achter een stopcontact zijn er ook oplossingen voor in een fitting, voor plafondverlichting, voor rolluiken, etc. De mogelijkheden zijn eindeloos!