IoT

Al jaren wordt er over gesproken en gepubliceerd. Ook is veel informatie te vinden in Youtube video’s. Inmiddels is het Internet-of-Things (IoT) realiteit geworden. Met slimme, internet connected producten zoals Google Nest, huishoudelijke apparatenwearables en sensornetwerken komt het Internet-Of-Things langzaam aan tot leven bij het grote publiek.

Ook de open source en ‘makers’-community houden zich steeds meer bezig met het IoT. Met open source MQTT message brokers zoals Mosquitto of met hardware platformen zoals de Arduino Yun in combinatie met IoT software stacks zoals Temboo is het relatief eenvoudig om een eigen IoT omgeving op te zetten. Maar het is natuurlijk veel leuker om het allemaal zelf te bouwen. En zoals uit dit artikel zal blijken, zo moeilijk is dat niet.

De basis voor een zelfbouw IoT systeem is een database waarin meetdata opgeslagen en weer opgevraagd kan worden. Een mySQL database zoals bij veel webhosting services wordt aangeboden voldoet daarvoor prima. Middels PHP scripts kan een website gebouwd worden waarmee zo’n mySQL database beschreven en gelezen kan worden. Bijvoorbeeld met een webpagina die HTML GET en POST commando’s accepteert. Een goed voorbeeld is mijn eigen IoT webserver. Behalve de webpagina die nieuwe meetdata verwerkt zijn er ook webpagina’s waarmee nieuwe meetdata aangeboden kan worden en webpagina’s waarmee de opgeslagen meetdata weer in tabelvorm opgevraagd kan worden.

Het posten van een HTML GET of POST message hoeft natuurlijk niet perse via een PHP webpagina. Het kan natuurlijk ook via een Arduino met een internet interface. Voor mijn proefopstelling gebruik ik een Arduino ethernet die via routers verbonden is met een internet modem. Die proefopstelling meet elke 5 minuten de temperatuur op mijn zolderkamer en verstuurt die middels HTTP GET/POST-request naar de PHP web server. Het maken van een web client waarmee HTTP GET-commando’s verstuurd kunnen worden is te vinden op de Arduino website. Het versturen van een HTTP POST-request gaat op soortgelijke wijze.

Het opvragen van de opgeslagen meetdata kan behalve middels een webpagina natuurlijk ook via een offline web-client applicatie, in dit geval een in C# geschreven MS-Windows applicatie. Daarmee wordt de ruwe meetdata grafisch weergegeven.

Voor wie inhoudelijk wil snappen hoe het werkt of voor wie het zelf wil nabouwen en aanpassen aan zijn eigen omgeving is de broncode van alle software (Arduino, PHP en C#) als ZIP file te downloaden.

Have fun!

Je eigen Internet-of-Things infrastructuur bouwen