Blog 2: Domotica en waarom ik het graag wil toepassen

Jan-Jelle Huizinga is een enthousiaste techneut en oud-student van Hogeschool Dirksen. Tijdens zijn studie was hij Technisch Adviseur bij Bluestream en hij heeft net intern de stap naar R&D Engineer gemaakt. In zijn blog vertelt hij hoe hij zijn hbo-kennis verder in de praktijk brengt. In zijn werk en thuis. Dit keer vertelt hij over een belangrijk privéproject over domotica.

Domotica
Wat is domotica eigenlijk en waarom wil ik het graag toepassen? Is het nou echt nodig? En wat ga ik precies automatiseren? Domotica is het automatiseren van je huis in de breedste zin van het woord. Van verlichting tot voice controlled koffie zetten, van een slimme meter in je meterkast tot het automatisch besturen van je raamdecoratie. Er is een scala aan bestaande componenten op de markt verkrijgbaar welke kant en klaar geïnstalleerd kunnen worden. Is dat dan wat ik zoek?

Het antwoord op die laatste vraag is nee. Heel simpel gezegd wil ik zo veel mogelijk zelf ontwerpen qua hardware en embedded software, maar wel zo efficiënt mogelijk. Veel open source dus.

In het kader van “waarom makkelijk doen als het moeilijk kan”. Is dat nou echt handig? Ook daar is het antwoord nee. Als je deze blog volgt en logica zoekt in dit ontwerpproces moet ik je teleur stellen, die is er niet. De keuze om deze “lijdensweg” te volgen komt voornamelijk voort uit de behoefte om mijn technische kennis, welke ik op heb gedaan tijdens mijn hbo studie bij Dirksen, toe te passen. Elektronica ontwerpen, programmeren, functionele eisen bedenken en dit in een totaalplaatje gieten. De vraag is, hoe gaan we dit verder aanpakken? In de komende maanden zal ik elke maand een blog schrijven met een nieuw onderwerp over het ontwerpproces. Totdat het klaar is en functioneert of totdat ik de handdoek in de ring gooi, omdat ik mezelf heb overschat. 

Domotica thuis toepassen
Over een jaar verhuizen we naar ons nieuwe huis. Het is een spannend en leuk project. Met mijn vrouw en zoons volgen we de bouw op de voet. Niet alleen buiten, maar ook binnen. Ik ben volop plannen aan het bedenken hoe ik straks de elektronische besturing van mijn apparatuur wil regelen. 

  • Waar komt de elektra?
  • Hoe gaan de lampen aan en uit? 
  • Kun je ze dimmen? 
  • Met een knop aan de muur? 
  • Via een app op mijn telefoon? 
  • Of misschien aangestuurd met mijn stem? 
  • Wat kan ik automatiseren? 
  • Wil ik een koppeling naar brandalarmen en camerasystemen?

Dat soort dingen.

Hoe dan?
Hoe ga je iets ontwerpen met een hoog DIY gehalte (Do It Yourself) zonder dat je inlevert op de kwaliteit van professionele domotica installaties? De eerste functionaliteit binnen domotica applicaties is toch vaak verlichting, dus laat ik daar eens beginnen. De hardware geloof ik op het eerste opzicht wel en komt later. Mijn grootste vraag zit in de gebruikersinterface. Een tijdje heb ik nagedacht over een HTML/PHP server ontwerpen met de GUI (Graphical User Interface) en begon hier enthousiast aan. Dan kom je erachter dat dit toch nog wel een behoorlijke klap tijd in beslag neemt en mijn kennis daarin te kort komt. Dit moet anders.

Domoticz
Na de nodige zoekopdrachten op google, waarbij het proces zichzelf vereenvoudigd doordat advertenties zich vanzelf aan jou vertonen als je maar genoeg zoekwoorden gebruikt kwam ik uit op een applicatie van Domoticz. Domoticz is precies wat ik aanvankelijk zelf ‘even’ dacht te programmeren, maar dan vele malen beter, professioneler en met veel meer mogelijkheden dan ik ooit had kunnen dromen. En het mooiste: Open Source. En met een community die heel enthousiast met elkaar de applicatie verandert, test, bekritiseert en verbetert. Perfect! Het is een lichtgewicht applicatie die als server op een kleine computer (Raspberry Pi) kan draaien. Het is een stuk software specifiek ontworpen om met de meeste beschikbare hardware op de markt te kunnen communiceren door middel van open protocollen (Z-wave bijvoorbeeld).

Domoticz en MQTT en DIY
Oké mooi, we hebben een interface! Professioneel, makkelijk in gebruik, en openbaar. Maar wat is daar nu DIY aan? Dat gedeelte komt nu. Hoewel Domoticz met beschikbare hardware kan communiceren, is het idee om een groot deel van deze hardware zelf te ontwikkelen. Domoticz kan, naast bestaande domotica protocollen, ook via MQTT communiceren. MQTT staat voor “Message Queuing and Telemetry Transport”, en is een verbindingsprotocol voor machine-naar-machine (M2M) apparatuur. Het is ontworpen als een lichtgewicht subscribe messaging-transport en handig voor verbindingen met locaties waar een kleine voetafdruk van de code vereist is en/of netwerkbandbreedte een voordeel is. Perfect dus om te gebruiken als communicatieprotocol voor DIY hardware.

Domoticz en Arduino ontwerpen
Nu de hardware nog. Hoe gaan we dat ontwerpen? Tijdens mijn opleiding heb ik enige ervaring opgedaan met Arduino. Arduino is een open source bedrijf (ben ik echt gek op) die microcontrollers van verschillende fabrikanten op zogenaamde developmentboards hebben gebouwd en een generieke programmeeromgeving ontworpen die de code (C++/native Arduino functies) naar de juiste machinetaal voor de betreffende microcontroller omzet en upload. Ook voor Arduino is een grote community actief op het internet welke code schrijft voor hun projecten en deze deelt en hulp zoekt als ze er niet uitkomen. Zo zijn er al veel bibliotheken met functies beschikbaar, waaronder een MQTT bibliotheek. Zo kan ik het MQTT protocol van Domoticz gebruiken om met de Arduino te communiceren. Dit is voor zover ik kon vinden, van Domoticz Open Source projecten nog niet eerder gedaan, dus er is weinig informatie beschikbaar. Nu beginnen we ergens te komen!

What’s next?
In mijn volgende blogs zal ik dit avontuur verder toelichten. 

  • Wat wil ik nu precies qua hardware? 
  • Welke functionele eisen stel ik daaraan? 
  • Hoe gaan we de ontwikkeling prototypen?
  • Hoe gaan we de boel veilig ontwerpen en wat is straks het eindresultaat? 

Volg mij in dit avontuur en tot over een maand.

Lees meer: