Workshop IOT Handleiding V5 Vincent Verheggen 6 november 2017 Taal: Nederlands Meer informatie: www.vincentverheggen.nl/workshop Contact: [email protected]
Workshop IOT
Handleiding V5 Vincent Verheggen 6 november 2017 Taal: Nederlands Meer informatie: www.vincentverheggen.nl/workshop Contact: [email protected]
http://www.vincentverheggen.nl/workshopmailto:[email protected]
–Handleiding workshop IOT - pagina 2
Woord vooraf Voor je ligt de handleiding die hoort bij de workshop ‘IOT’. Met behulp van deze handleiding
en de presentatie leer je in drie kwartier tijd wat ‘The Internet of Things’ betekent en hoe het
werkt. Tijdens deze workshop zullen twee opdrachten gedaan worden:
1) Allereerst programmeer je een minicomputer in de opdracht ‘HELLO WORLD’. Deze
minicomputer kan een LED laten knipperen.
2) In de tweede opdracht bouw je een weerstation dat aangesloten is op het internet.
Door de aansluiting met internet ben je in staat om overal in de wereld de
temperatuur en luchtvochtigheid te bekijken dat gemeten wordt met dit weerstation!
Na deze workshop weet jij als een van de weinigen waar je het over hebt als het gaat om
‘The Internet of Things’. Je zult in deze workshop een goed gevoel krijgen over wat er
allemaal komt kijken bij ‘The Internet of Things’. Je zult werken met de meest basic
elektronische onderdelen, een paar regels programmeren en vooral versteld staan van het
door jou bereikte eindresultaat.
Succes!
Vincent Verheggen
–Handleiding workshop IOT - pagina 3
Benodigdheden Voor deze workshop zijn de volgende onderdelen nodig:
Aantal Onderdeel Opdracht
1 Een minicomputer (type: NodeMCU)
1 en 2
3 Electische draden (aansluiting vrouw-vrouw)
2
1 Rode LED
1
1 Temeratuur sensor (type: DHT11)
2
1 Nerd bril zonder glazen (alles voor de looks)
1 en 2
(1) Behuizing
2
Naast bovenstaande onderdelen zijn de volgende middelen/gereedschappen nodig:
Computer
Micro USB kabel (data+power). Bijvoorbeeld:
Let op: uittrekken door aan beide kanten tegelijkertijd te trekken!
–Handleiding workshop IOT - pagina 4
Opdracht 1: HELLO WORLD!
In deze opdracht gaan we met de minicomputer een LED laten knipperen. De minicomputer
zal na het programmeren pinnetje (genaamd D0) gedurende 1 seconden van stroom
voorzien waarna er 1 seconden geen stroom doorheen gaat. Het resultaat hiervan is dus een
knipperend LED lampje.
Deze opdracht wordt gedaan om te onderzoeken of het lukt om een stukje code op de
minicomputer te zetten. Daarnaast leer bekwaam te worden met de lay-out van een
minicomputer en leer je hoe een led werkt.
Deel A: Hardware
Bouw met de beschikbare onderdelen de verbinding na zoals weergegeven in de
onderstaande afbeelding. Zorg dat de stroom loopt van het pinnetje genaamd D0 op de
minicomputer, via de LED, naar het pinnetje waar bij staat GND (Ground of minpool).
Vergeet niet:
o De polariteit van de rode LED (lange poot is +, korte poot is -)
D0 =
GND
–Handleiding workshop IOT - pagina 5
Deel B: Software
In deze stap gaan we de code op de minicomputer zetten met behulp van een echte
computer. We gaan hiervoor software gebruiken genaamd: Arduino IDE. Met behulp van
deze software zetten we enkele regels ‘code’ via een USB kabel op de minicomputer.
Stap 1: Opstarten software Arduino IDE
Klik op het ‘Arduino’ icoon op het bureau
Maak het werkvenster groot
Na opstarten verschijnt er een invoer scherm voor code. Te zien is alvast de functie ‘void
setup’ en de functie ‘void loop’. De code die achter ‘void setup’ geschreven is zal de
minicomputer na het programmeren één keer doorlopen (opstarten). De code achter ‘void
loop’ zal daarna oneindig herhaald worden.
–Handleiding workshop IOT - pagina 6
Stap 2: Open een voorbeeld code (Blink)
In plaats van een stukje code te schrijven openen we een stukje code dat als voorbeeld is
opgenomen in de software. De software heeft meerdere voorbeelden die gebruikt en
aangepast kunnen worden. Je zou het een ‘template’ kunnen noemen.
Open de code ‘Blink’ door in het lint te klikken op ‘Bestand’ >> ‘Voorbeelden’ >>
‘Basics’ >> ‘Blink’
Stap 3: Voorbereiding voor uploaden
Voordat de code op de minicomputer kan worden gezet moet er eerst in software
aangegeven worden welk soort minicomputer gebruikt wordt.
3A: Selecteer het juiste board. Hulpmiddelen >> Board >> NodeMCU 1.0 (ESP-12 E)
–Handleiding workshop IOT - pagina 7
Nu de juiste minicomputer is geselecteerd kunnen we aangeven welke USB poort van de
computer aangesloten is met de minicomputer.
3B: Verbind de minicomputer met de computer d.m.v. een USB kabel. Stop hiervoor
de kleine kant (de micro USB) van de kabel in de minicomputer. Stop de grote kant
van de kabel in de computer.
3C: Selecteer de USB poort uit de lijst. Hulpmiddelen >>Poort: >> COM#. Het
nummer kan verschillen per computer. Dit maakt niet uit welk nummer je selecteert.
Stap 4: Overzetten van de code
Zet de code van de computer op de minicomputer door op het pijltje te drukken
Controleer in de groen balk de voortgang EN wacht daarna tot in het zwarte gedeelte
staat dat de code 100% is overgezet.
Succes? Roep heel hard:
‘Eureka!’. Tijd over? Pas de code zo aan dat de led heel kort aangaat. Bij succes roep heel hard:
‘Disco!’
Geen succes? Probeer dan het volgende:
1. Switch naar een andere USB poort (stap 3C) en probeer het ‘uploaden’ nogmaals.
2. Vraag hulp
–Handleiding workshop IOT - pagina 8
Opdracht 2: IOT Weerstation
Nu het lukt om een simpel stukje code op de minicomputer te zetten gaan we in deze
opdracht een temperatuur en luchtvochtigheidssensor aansluiten. We zullen een code op de
minicomputer zetten die de temperatuur en luchtvochtigheid via WIFI naar een website kan
sturen. We zijn vervolgens in staat om de temperatuur en luchtvochtigheid overal in de
wereld te bekijken!
Deel A: Hardware
1. Indien nodig koppel de onderdelen uit opdracht 1 los.
Bouw met de verschillende onderdelen de verbinding na zoals aangegeven in de
onderstaande voorbeeld. De pinnen die je moet gebruiken kunnen gebogen zijn zodat het
geheel later in de workshop in een doosje past.
Min (-) Plus (+)
Data (out)
(+)
Gebogen pinnen
–Handleiding workshop IOT - pagina 9
Deel B: Online Setup
In dit deel leer je hoe je een website waar je de data naartoe stuurt klaarmaakt voor gebruik.
De website die we gebruiken is www.thingspeak.com
Stap 1: Inloggen op Thingspeak
De data wordt vanaf de minicomputer verzonden naar de website www.thingspeak.com/login
Een account voor tijdens de workshop is al aangemaakt. De inlog gegevens hiervoor worden
tijdens de workshop verstrekt. Doe je de workshop thuis? Maak dan een eigen account aan
op Thingspeak en log in.
Stap 2: Selecteer het kanaal
Op dit account kunnen meerdere sensoren aangesloten worden. Elke sensor stuurt zijn data
naar een van de kanalen op de website. Elke groep heeft een toegewezen kanaal.
Selecteer het kanaal dat hoort bij je groepsnummer. Als je dit niet weet vraag het dan
na bij Vincent.
http://www.thingspeak.com/login
–Handleiding workshop IOT - pagina 10
Stap 4: API Keys
Na het selecteren van het kanaal kunnen wij een API sleutel kopiëren. Een API key is een
sleutel/ wachtwoord die de website verplicht stelt om data naar de website te kunnen sturen
vanaf de minicomputer. De minicomputer zal dus naast data zoals temperatuur en
luchtvochtigheid de sleutel meesturen.
Kopieer de API key en ga verder met Deel C
Deel C: Software
In dit deel zullen we een stuk code op de minicomputer zetten met behulp van een reguliere computer. Stap 1: Open de code
Klik in het lint op ‘ Bestand’ en daarna op ‘Open…’
Selecteer de code: ‘NodeMCU en DHT11 voor workshop explorail’ in de gelijknamige
map. Als deze niet vindbaar is kijk dan onder ‘Documenten’ >> ‘Arduino’
–Handleiding workshop IOT - pagina 11
Stap 2: Pas de code aan
Pas de volgende gegevens aan in de code:
o API-Key: plak de API-key die je in Deel B, Stap 4 hebt verkregen
o SSID: Plaats hier de naam van het WIFI netwerk. Tijdens de workshop wordt
er gewerkt met een hot-spot. De naam (SSID) hiervan is: “KnutselWorkshop”
o Password: Plaats hier het wachtwoord van je WIFI netwerk. Tijdens de
workshop wordt er gewerkt met een hot-spot. Het wachtwoord van dit netwerk
is “www.vincentverheggen.nl”
Let op: maak geen typ fouten! Het wachtwoord en de naam is hoofdletter gevoelig.
Stap 3: Overzetten van de code
Zet de code van de computer op de minicomputer door op het pijltje te drukken
Controleer in de groen balk de voortgang EN wacht daarna tot in het zwarte gedeelte
staat dat de code 100% is overgezet.
Stap 4: Open Seriële Monitor
De temperatuur en luchtvochtigheid gemeten met de minicomputer kan met de computer
worden bekeken als er een verbinding is middels een USB kabel. We gebruiken hiervoor de
‘seriële monitor’. De ‘seriële monitor’ wordt vaak gebruikt om fouten in de code op te kunnen
sporen (debuggen).
Controleer in het venster (de seriële monitor) of de temperatuur en luchtvochtigheid
geplaatst wordt. Klik in het lint op ‘Hulpmiddelen’ >> ‘Seriële monitor
–Handleiding workshop IOT - pagina 12
De onderstaande afbeelding laat zien dat er temperatuur gemeten en verzonden wordt.
Controleer op de website Thingspeak of dezelfde temperatuur en luchtvochtigheid
ook daar te zien is. Doe dit door te klikken op ‘Private View’ of ‘Public View’
–Handleiding workshop IOT - pagina 13
De onderstaande afbeelding weergeeft het resultaat op Thingspeak:
Stap 5: Test de sensor
Kijk op de website Thingspeak terwijl je de sensor in je vuist neemt. Je zal na ongeveer drie
metingen de temperatuur en luchtvochtigheid zien stijgen.
Wie heeft de ergste zweethandjes?
Stap 5: Stop de sensor in een behuizing!
Stop het geheel in de bijbehorende behuizing die speciaal voor de workshop gemaakt is. Wil
je het geheel nog eens thuis, of op je eigen afdeling nog eens dunnetjes overdoen? Kijk dan
op: www.vincentverheggen.nl/workshop voor contactgegevens.
De wereld zal nooit meer hetzelfde zijn nu je snapt hoe apparaten om je heen werken en hoe
makkelijk en goedkoop het is om zelf iets te produceren! Veel plezier!
http://www.vincentverheggen.nl/workshop
–Handleiding workshop IOT - pagina 14
Bijlage A: Thuis aan de slag
Deze stap kan overgeslagen worden tijdens de workshop, maar is wel nodig als je de
workshop thuis nóg een keer wil doen. Een reden hiervoor kan zijn dat je de naam en het
wachtwoord van je WIFI hotspot wilt veranderen in de naam en het wachtwoord van je WIFI
router thuis. Belangrijk om te weten is dat deze handleiding en ook onderstaande
bibliotheken te vinden zijn op de website: http://vincentverheggen.nl/handleiding/
Stap 1: Download de software
Voor het overzetten van code naar de minicomputer is software nodig. Download de
software: ‘Arduino IDE’ op: https://www.arduino.cc/en/main/software
Stap 2: Download Board packages
Na installeren van de software is het nodig om aan te geven dat wij met een niet standaard
minicomputer willen werken: de NodeMCU. Voer daarom de volgende handelingen uit om
deze mincomputer te kunnen gebruiken in de software ‘Arduino IDE’:
Zorg dat de computer verbonden is met internet
Start de software ‘Arduino IDE’ op
Ga in het lint naar Bestand >> Voorkeuren
Voer in bij ‘ Additionele Bordenbeheerder URLs’ :
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Klik op OK
Klik in het lint op ‘hulpmiddelen’ >> ‘board’ >> ‘Bordenbeheerder..’. Typ in het
zoekveld ‘NodeMCU’. Selecteer en download het board.
Sluit Arduino IDE af en start opnieuw op
Controleer in het lint onder ‘Hulpmiddelen’ of het board: NodeMCU 1.0 (ESP-12 E
Module) te vinden is. Selecteer het board.
http://vincentverheggen.nl/handleiding/https://www.arduino.cc/en/main/softwarehttp://arduino.esp8266.com/stable/package_esp8266com_index.json
–Handleiding workshop IOT - pagina 15
Stap 3: Bibliotheken downloaden (alleen nodig bij Opdracht 2)
Om te voorkomen dat een stuk code onnodig lang wordt gebruiken we een verwijzing naar
een stuk code dat elders op de computer te vinden is. Dit stuk code wordt een bibliotheek
genoemd.
Voor sommige opdrachten, zoals Opdracht 1, is geen bibliotheek nodig. De code is kort en
simpel. In andere opdrachten waar sensoren gebruikt worden is een bibliotheek en een
verwijzing hiernaartoe vaak wel nodig. Als we de code op de minicomputer proberen te
zetten zonder deze bibliotheek krijgen we een foutmelding in het zwarte scherm te zien.
Voor Opdracht 2 zijn twee bibliotheken nodig:
1. Bilbiotheek: DHT.h
2. Bibliotheek: ‘Adafruit_Sensor.h’
Deze h. bestanden zitten in een map. Zet de deze mappen op de computer. Dit kan je doen
door de volgende handelingen uit te voeren:
1. Download de ZIP folder ‘bibliotheken opdracht 2’ van de website
www.vincentverheggen.nl/handleiding/
2. Unzip het gedownloade bestand in de map ‘downloads’ (rechtermuisknop alles
uitpakken)
3. Kopieer de twee mappen (Adafruit Sensor master & DHT sensor library master)
tegelijkertijd en plak de mappen in de folder ‘Libraries’ in de map ‘Arduino’
(Deze pc > Documenten > Arduino > libraries).
4. Herstart Arduino IDE en controleer of de in software of het gelukt is door klikken op
‘Bestand’ > ‘Voorbeelden’ > (scrol nu naar onderen of klik op het pijltje onderin) ‘DHT
sensor library’. Als dit bestand te vinden is dan staat de bibliotheek op de juiste plek.
Stap 4: Download de code IOT weerstation (alleen nodig bij Opdracht 2)
De code die gebruikt moet worden kan gedownload worden van
www.vincentverheggen.nl/handleiding/. Unzip de folder en klik op de ‘.ino’ file. Sla de file op
in de map ‘Arduino’ op je C schrijf door te klikken op ‘bestand’ en daarna ‘opslaan als’.
http://www.vincentverheggen.nl/handleiding/http://www.vincentverheggen.nl/handleiding/