Cursusinhoud Internet of Things (IoT)
Onze IoT cursus is een training om je bekend te maken met vele IoT concepten. Tijdens deze IoT training zijn we voornamelijk praktisch bezig en behandelen we deels de achterliggende theorie. We trainen je breed op het gebied van IoT. Dit doen we door vier belangrijke concepten te behandelen binnen de IoT: communicatie, hardware, software en cloud.
Dag 1
Software
Er zijn verschillende computertalen die gebruikt worden in IoT producten. Zo heb je IoT devices die met Python, C++ of NodeJS werken en cloud servers die Python, C# of NodeJS draaien. Ook zijn er off the shelf plug and play software pakketten te vinden. Tijdens de IoT training krijg je hier meer uitleg over.
Python
In deze cursus werken we met Python. Dit omdat het een relatief makkelijke computer taal is en omdat het zeer veelzijdig is.
Hardware
In IoT draait het om “Things”. Maar wat zijn die “Things” nou eigenlijk? We gaan het daarom tijdens de IoT cursus ook hebben over de hardware en wat er qua elektronica bij komt kijken.
Microprocessoren
Het brein van de elke IoT device is een microprocessor. Dit zijn de computerchips waar de software op draait en waarbij de link tussen sensoren en de applicatie wordt gemaakt. Deze zijn te vinden in verschillende smaken en vormen. Zo heb je vrij krachtige microprocessoren zoals bij de Raspberry Pi maar ook eenvoudige microprocessoren zoals bij de Arduino.
Sensoren
Als je over IoT praat, dan komt al gauw het woord “data” naar boven. Deze data wordt vergaard door sensoren in je IoT apparaat. Tijdens deze cursus gaan we kijken naar verschillende sensoren.
Raspberry Pi
De Raspberry Pi is een krachtige computer die voor veel verschillende IoT toepassingen kan worden gebruikt. We gaan dit apparaat gebruiken voor het maken van onze eigen IoT device.
Linux
Software moet op hardware kunnen werken. Hiervoor heb je een operatie systeem nodig. Een hele populaire operatie systeem voor servers en voor microprocessoren is Linux. Daarom leren we je de basis om hiermee op weg te komen.
Dag 2
Communicatie
Bij IoT staat communicatie tussen apparaten centraal. Er zijn hier vele verschillende technieken voor. Omdat “1 size fits all” niet op gaat, leggen we meerdere technieken uit en een aantal gebruiken we ook zelf tijdens de cursus.
Hypertext Transfer Protocol (HTTP)
HTTP is waarschijnlijk de meest bekende manier van communiceren tussen apparaten. Zelfs als je niet weet wat het is, dan gebruik je het. Sterker nog, je gebruikte het om deze website te bezoeken.
Dit protocol is zeer robuust en wordt veel bij IoT toepassingen gebruikt voor communicatie met externe servers. Bij HTTP requests gaat het er om dat apparaten vragen kunnen stellen aan een server in de cloud en ook data kunnen opsturen naar een server.
Websockets (WS)
Websockets is een aanpassing op HTTP waarbij communicatie twee kanten op werkt. Dit houdt in dat zowel een IoT apparaat een gesprek kan beginnen te voeren met een server in de cloud en anders om. Dit is in tegenstelling tot HTTP waarbij alleen een IoT apparaat kan beginnen met data sturen naar een server.
Message Queuing Telemetry Transport (MQTT)
MQTT is een alternatief voor HTTP/websockets waarbij de architectuur anders is. Waar HTTP meer lijkt op een gesprek tussen twee mensen is MQTT te vergelijken met een social media platform waarbij je mensen kan volgen. Hierdoor kan het bericht makkelijk van één apparaat naar meerdere apparaten worden gestuurd. Dit is geschikt voor een groot netwerk met apparaten die simpele data versturen.
Transmission Control Protocol (TCP) en User Datagram Protocol (UDP)
TCP en UDP zijn de technieken van berichten sturen waar HTTP, WS en MQTT op gebouwd zijn. Bij IoT wordt het dus vaak indirect gebruikt. TCP en UDP wordt ook af en toe los gebruikt. Dit is vooral het geval voor computerspellen.
LORA
Een hele andere techniek om berichten te versturen is via een LORA netwerk. Dit is een netwerk die buiten het internet om werkt. Het is gespecialiseerd in zeer kleine berichten versturen op een energiezuinige manier.
Dag 3
Cloud
Het woord cloud is een manier om te zeggen dat de code op servers draaien ergens in een groot serverpark. Er zijn heel veel cloud providers. Een paar van de bekendere zijn: AWS van Amazon, Azure van Microsoft en Google Cloud Platform. Het zijn allemaal prima opties waarbij de één niet perse beter is dan de ander.
Tijdens deze cursus gaan we kijken hoe het werkt om een cloud server in te stellen. We laten je zien hoe je een server opzet, connectie mee maakt en je code er op kan draaien.
Databases
Het opslaan van data is een zeer belangrijk onderdeel van een systeem. Dit zal op een veilige manier moeten worden gedaan. Na deze cursus weet je meer over wat voor soort databases er zijn en waar je op moet letten.
Security
Vele websites zijn beschermd tegen het makkelijk kunnen lezen van andermans berichten. Hier komen meerdere stappen bij kijken. Tijdens deze training doorlopen we de stappen, hoe je een http bericht beschermt met Secure Sockets Layer (SSL).