Uit Hack42
Ga naar: navigatie, zoeken
Project: Home Automation, Domotica en Internet of Things
Schroefje24.png
Schroefje24.png
Schroefje24.png
Schroefje24.png
NoProjectPicture.jpg

Home Automation, Domotica en Internet of Things

Naam Home Automation, Domotica en Internet of Things
Door BugBlue, dvanzuijlekom
Status Uitvoer
Madskillz Internet, Dingen
Doel / Omschrijving
IoT voor Beginners
Alle Projecten - Project Toevoegen

Add your picture plz.

Eh, huh?

"Home Automation", "Domotica", "Internet of Things (IoT)", "Internet der Dingen"...? Allemaal hippe termen die eigenlijk op hetzelfde neerkomen: het 'slimmer' maken van allerhande apparaten en elektronica in je leefomgeving. Het automatiseren van handmatige processen met als doel je dagelijks leven comfortabeler/gemakkelijker te maken.

Hoe dan?

Goede vraag! Er zijn allerlei standaarden, zowel qua hardware als software, apps en communicatieprotocollen. Veel spullen zijn compatible met elkaar, veel ook weer niet. Sommige zijn te hacken (lees: makkelijk aan te passen) en andere weer niet. Je kan ervoor kiezen om gebruik te maken van IoT platformen/diensten van bekende providers, zoals bijvoorbeeld Amazon Alexa, Google Nest. Je kan er ook voor kiezen om zelf een platform te bouwen.
Vooral dat laatste is voor de meeste Hobby Hackers aantrekkelijk: je hebt vrijheid, volledige controle en (niet in het minst) blijft je data jouw eigendom. Verder loop je minder risico dat je apparatuur ineens niet meer werkt als de door jou gekozen provider ineens besluit om een bepaalde webdienst te discontinueren, of zelfs in het geheel failliet gaat. Verder, als je de infra lokaal in je eigen netwerk houdt (dus zonder gebruik te maken van Cloud-diensten) voorkom je dat er ineens niets meer werkt als er plotseling geen internetverbinding is... Zie Internet of Shit voor praktijkvoorbeelden en extragratis leedvermaak.

Een eerste belangrijke keuze is welk type (draadloze) communicatietechnologie je zou willen gebruiken als basis. Wi-Fi? Bluetooth (Low Energy)? Zigbee? LoRa? Z-Wave? RF?
Keuze genoeg (argh, stress!). Als je van scratch af aan begint en niet hoeft te integreren in een reeds bestaand platform, is het advies om voor Wi-Fi te gaan, dit vanwege flexibiliteit en de verkrijgbaarheid van allerlei apparatuur wat hier gewoon direct mee kan werken. Eventueel zou je bepaalde technologieën kunnen combineren.

Waarmee?

Hardware

Een populair hardwareplatform voor DIY'ers is de Espressif ESP8266 (productpagina). Deze chip wordt in veel kant-en-klare IoT apparaten gebruikt en kent vele verschijningsvormen. Geniet grote populariteit door de Sonoff switches. Deze chip is eenvoudig te voorzien van alternatieve firmware, zoals Tasmota, waardoor deze allerlei nieuwe mogelijkheden krijgt en veel makkelijker is te integreren in een Home Automation infrastructuur (compatible met allerlei producten).

Consumentenproducten

Onderstaande consumentenproducten zijn relatief eenvoudig te voorzien van alternatieve firmware en daardoor uitstekend geschikt om op te nemen in een eigen IoT infrastructuur. In het kader van het Flitsfeestje hebben we een aantal van deze devices onderzocht en zelfs reverse-engineered.

Software

Als je Tasmota gebruikt qua firmware op je ESP8266, dan is qua software de de facto standaard MQTT voor communicatie tussen devices via een centrale hub. Een populair product is de Mosquitto MQTT broker.
Sommige Home Automation software suites hebben een ingebouwde MQTT broker en daarnaast is het ook mogelijk om een infrastructuur neer te zetten zonder gebruik te maken van MQTT, bijvoorbeeld met ESPHome.

Veiligheid?

Dat is een dingetje. Een van de veelgehoorde grappen is: "The 'S' in 'IoT' stands for Security". Standaard zit dit er vaak niet in en hier moet je zelf voldoende aandacht aan besteden. Veel tutorials geven nauwelijks informatie hierover en het gaat er vaak alleen om dat je zo snel mogelijk up & running bent met een werkende (en onveilige) opzet.
Dit willen we graag anders zien, dus hier proberen we duidelijk aan te geven waar je vooral op moet letten tijdens het inrichten van je platform.

Start!

Begin met een concrete use-case. Bijvoorbeeld iets als "Ik wil dat mijn waterkoker 's ochtends vroeg automatisch aan gaat, vlak voordat mijn wekker gaat". Of: "Ik wil dat mijn buitenverlichting automatisch aan gaat als het donker wordt", of "Ik wil dat lampen binnenshuis aan gaan als het 's avonds donker is, en ik thuis ben".
Bedenk iets. Hou het simpel.

We beginnen met de waterkoker. Dit is een simpel apparaat met een wipschakelaar. Het is mogelijk om het apparaat zonder netspanning in zoverre gereed te maken dat het enkel hoeft te worden voorzien van die netspanning en dan zal het trouw haar werk gaan doen. Dit is belangrijk, niet ieder apparaat is zonder meer geschikt om op deze manier te kunnen schakelen. Om deze 'smart' te maken, gebruiken we de LSC Smart Connect slimme stekker, die we tijdens het Flitsfeestje reeds voorzien hebben van de juiste firmware (details hierover komen op die pagina).

Echter, voordat we hiermee aan de slag kunnen gaan, hebben we eerst een infrastructuur nodig: een Wi-Fi netwerk wat we kunnen gebruiken voor onze IoT-toepassingen. Het liefst een gescheiden netwerk, los van hetgeen we gebruiken om onze eigen devices (PC's, laptops, telefoons) van internet te voorzien.
Sommige consumentenrouters/modems kunnen meerdere Wi-Fi netwerken aanbieden, bijvoorbeeld een speciaal netwerk voor gasten (o.a. de Fritzbox modems kunnen dit). Als je modem dit niet ondersteund, zou je eentje kunnen aanschaffen die dit wel kan. Een goedkoop OpenWrt-compatible Wi-Fi accesspoint is ook een mogelijkheid. Het voordeel hiervan is dat deze zeer veel functionaliteit heeft die normaliter enkel in de duurdere enterprise routers, switches en/of firewalls zit. Hiermee hebben we nog meer controle over de beveiliging van het IoT netwerk en verkeersstromen daarin.

Vervolgens zullen we een (RFC1918) private IP range moeten gaan kiezen voor het IoT netwerk. Maak het subnet niet te klein, maar ook niet te groot (dit ivm mogelijke IP-conflicten bij het eventueel samenvoegen van netwerken). Pak een range die duidelijk verschilt van de rest van je thuisnetwerk. Als je thuisnetwerk bijvoorbeeld in de 10.x.x.x range zit, dan zou je ervoor kunnen kiezen om het IoT netwerk in de 192.168.x.x range te zeten.

Referenties/Links