Bedien een rolstoel met je ogen... Project Ooggestuurde interface InnovationLab bijscholing Opbouw van deze bijscholingsdag • • • • • • Kadering InnovationLab Kadering project Ooggestuurde interface Doorlopen van de projectdag en de modules Doornemen documentatie en materiaal Deelnemen met jouw school Afsluiter en evaluatie 2 Opbouw van deze bijscholingsdag • Kadering InnovationLab • • • • • Kadering project Ooggestuurde interface Doorlopen van de projectdag en de modules Doornemen documentatie en materiaal Deelnemen met jouw school Afsluiter en evaluatie 3 Nood aan... “De wereldproblemen worden groter en complexer. De oplossingen moeten uit de wetenschap komen.” 06 april 2014 “We zijn niet meer de techniekaandragers van vroeger. We moeten probleemeigenaren worden van de dingen die misgaan in de maatschappij en daar oplossingen voor genereren. We moeten meer maatschappelijke verantwoordelijkheid opeisen.” Ten tweede moeten onderzoeker 4 Technologie voor de maatschappij Fysica energie Informatica gezondheid milieu veiligheid Chemie Wiskunde 5 ROSE studie (Relevance Of Science Education) Maatschappij-gedreven STEM Fysica energie Informatica gezondheid milieu veiligheid Chemie Wiskunde 7 Faculteit Ingenieurswetenschappen, KU Leuven • De rol van een wetenschapper / ingenieur in de maatschappij • STEM is noodzakelijk, cross-disciplinair en overal rond ons o InnovationLab • Dept. Materiaalkunde, Chemische Ingenieurstechnieken, Computerwetenschappen, Elektrotechniek o STEM@school 8 Innovation Lab doelen Maatschappelijke uitdagingen ? ? ? Chemie Fysica Wiskunde ? Informatica 9 Innovation Lab doelen 1. Link met de leerstof S.O. Maatschappelijke uitdagingen ! Oplossingen voor morgen ! ! ! Chemie Fysica Wiskunde ! Informatica 10 Innovation Lab doelen 1. Link met de leerstof S.O. 2. Link tussen disciplines Maatschappelijke uitdagingen Oplossingen voor morgen ! Chemie Fysica Wiskunde Informatica 11 Innovation Lab doelen 1. 2. 3. 4. Link met de leerstof S.O. Link tussen disciplines Praktisch, interactief, zelf Probleemoplossend Maatschappelijke uitdagingen ! Oplossingen voor morgen Chemie Fysica Wiskunde Informatica 12 Filmpje van onze opening in april 2014 13 Opbouw van deze bijscholingsdag • Kadering InnovationLab • Kadering project Ooggestuurde interface • • • • Doorlopen van de projectdag en de modules Doornemen documentatie, materiaal en voorbereiding Deelnemen met jouw school Afsluiter en evaluatie 14 ‘Ingenieuze’ projectdagen Ik daag je uit! Bouw mee aan de wereld van morgen! Kan je iets maken dat... 15 Technologie in de gezondheidszorg • Betaalbare levenskwaliteit voor iedereen • Zorgen voor zieke én gezonde mensen • Technologie voor: o Snelle kankerdetectie o Afstands geneeskunde o Herstellen falende functies 16 Ooggestuurde interface Sofie is een sociaal meisje Maar Sofie heeft ALS en kan enkel haar ogen nog bewegen... Kan je haar helpen om toch nog haar PC zelf te bedienen? 17 In dit project... ... maken leerlingen ZELF de hardware en software voor oog-interface ... maken leerlingen zelf een computerspelletje dat werkt op basis van de oogsturing 18 Opbouw van deze bijscholingsdag • Kadering InnovationLab • Kadering project Ooggestuurde interface • Doorlopen van de projectdag en de modules • Doornemen documentatie, materiaal en voorbereiding • Deelnemen met jouw school • Afsluiter en evaluatie 19 Module 5: Cryptografie (beveiliging) Module 4: Bouwen software Module 2: analoog - digitaal Module 3: Bouwen hardware Module 1: biopotentialen Project opgebouwd uit 5 modules cloud 20 Opbouw van een projectdag op school Kadering en inleidende film Module 1 VM of 1e Halve dag Module 2 Module 3 Module 4 Module 5 NM of 2e Halve dag Afronden en afsluitende film 21 Opbouw van een projectdag op school Kadering en inleidende film 22 Inleidende film • Doel: o o Leerlingen kadering geven (nut van STEM voor maatschappij) Leerlingen zin geven erin te vliegen 23 Opbouw van een projectdag op school Module 1: Biopotentialen 24 Module 1: Biopotentialen • Wat is een biopotentiaal? (uitleg info blad) Oog is een bewegende elektrostatische dipool Voorzijde iets hogere spanning dan achterzijde door transport van ionen Spanning verschuift bij oogbeweging (plaatsen elektrodes) Rechtse elektrode positiever t.o.v. linkse pos spanning 25 Module 1: Biopotentialen: Nabouwen oog Weerstanden vertegenwoordigen het pad door de huid + - + - Kijken en doen! 26 Module 1: Biopotentialen: Opmeten oog V V V Zelf meten 27 Module 1: Biopotentialen: Opmeten oog Zelf meten 28 Module 1: Biopotentialen: Veelgemaakte fouten • Contacten draden en weerstandjes Goed aandraaien! • Gebruik van multi-meter o Extra uitleg in leerkrachtenhandleiding • Defecte multi-meters o Test in leerkrachtenhandleiding • De twee oogjes elektrisch fout verbonden (- kant moet met - kant verbonden zijn) o 29 Module 1: Biopotentialen: Extra vragen Om groepen op elkaar af te stemmen! Optioneel (niet verplicht) 30 Module 1: Biopotentialen: Besluit Plaatsen van elektrodes aan de zijkant van de ogen: Meten van spanning bij oogbewegingen Werkelijke waarden zijn vele malen kleiner dan wat leerlingen gemeten hebben Computer kan ons helpen Module 2: analoog signaal omzetten naar digitaal signaal 31 Opbouw van een projectdag op school Module 2: Analoog naar digitaal 32 Module 2: Analoog naar digitaal Hoe dit signaal in de PC krijgen? 1. Info: spanning is een analoog signaal, PC werkt digitaal? 2. Experiment: Experimenteren dmv. geluid 33 Module 2: Analoog naar digitaal: Info analoog - digitaal • Analoog = continu en alle mogelijke waarden blauwe golfvorm • Digitaal = discreet en beperkte set van mogelijke waarden Rode curve 34 Module 2: Analoog naar digitaal: Info analoog - digitaal • Aantal digitale bits per data-punt, bepaalt het aantal mogelijke digitale waardes = resolutie van de omzetter N bits 2N mogelijke digitale waarden 2 bits 4 mogelijke niveaus (digitale waarden) om het analoge signaal weer te geven 35 Module 2: Analoog naar digitaal: Info analoog - digitaal 3 bits 8 mogelijke niveaus (digitale waarden) om het analoge signaal weer te geven Bij 3 bits rode curve benadert blauwe curve al beter! 36 Experiment 1 Open in de folder EOG_project de subfolder EOG-software - Dubbel klik op eog - Klik op eogScope Uitleg EOG scope (volgen op PC) 37 Experiment 1 Golf mode: Vooraf opgenomen analoog signaal (geluid) digitaliseren: Invloed van aantal bits? instructies lezen en uitproberen: aan de slag! Men ziet dat: • Naarmate het aantal bits stijgt, benadert het rode digitale signaal steeds beter het blauwe analoge signaal. • Naarmate het aantal bits stijgt, kan je op kanaal 1 en kanaal 2 een geluid horen dat steeds beter lijkt op het oorspronkelijke analoge geluid. 38 Experiment 2 Audio mode: geluid opnemen Experimentblad: instructies lezen en uitproberen: aan de slag! Conclusie : 7 – 8 bits nodig om analoge signaal goed te digitaliseren 39 Experiment 3 Audio mode: geluid opnemen (hard en zacht) Experimentblad: instructies lezen en uitproberen: aan de slag! 40 Experiment 3 Conclusie: Een klein analoog signaal omzetten naar een digitaal signaal levert een kwalitatief minder goed digitaal signaal op dan een groot analoog signaal Spanningen rond het oog zijn heel klein We moeten dit kleine signaal versterken (module 3) 41 Experiment 4 EOG dongle: De knoppen van de black box? Experimentblad: instructies lezen en uitproberen: aan de slag! Conclusie: Kleiner analoog signaal: meer bits nodig! o spanningen rond oog zijn zeer klein o Onze ADC is beperkt o Signaal moet versterkt worden 42 Module 2: Analoog naar digitaal: Veelvoorkomende fouten • • • • Zoom en schuif Kanaal 1 vs. kanaal 2 Instellingen microfoon (niet oversturen) Bij black box: altijd te samen aan beide knoppen draaien (onvoldoende geduld hebben om de verandering te zien plaats grijpen) 43 Opbouw van een projectdag op school Module 3: Electro-oculografie 44 Module 3: Electro-oculografie • Zelf hardware met versterker bouwen! • Stappenplan: o o o o Uitleg versterker Tekenen elektrisch schema Bouwen Elektrodes aansluiten en zelf eigen oogbewegingen testen 45 Module 3: Electro-oculografie Informatie versterker • Waarom versterking? • Werking versterker 46 Module 3: Electro-oculografie Informatie versterker • Aansluitingen? 47 Module 3: Electro-oculografie Informatie versterker Voeding (5V) Referentie (2.5V) Grond (0V) 48 Module 3: Electro-oculografie Informatie versterker Weerstand hiertussen bepaalt versterking Rg = 1,0 kΩ * G Versterkingsfactor G ? weerstand berekenen en zoeken/plaatsen 49 Module 3: Electro-oculografie Experiment versterker • Instructies lezen en uitproberen: aan de slag! • Eerst verbindingen uittekenen • Versterker links! 50 Module 3: Electro-oculografie Experiment versterker: oplossing 51 Module 3: Electro-oculografie Experiment versterker • Dan G en RG berekenen G = 𝑎𝑚𝑝𝑙𝑖𝑡𝑢𝑑𝑒 𝑢𝑖𝑡𝑔𝑎𝑛𝑔𝑠𝑠𝑖𝑔𝑛𝑎𝑎𝑙 (𝑉) 𝑎𝑚𝑝𝑙𝑖𝑡𝑢𝑑𝑒 𝑖𝑛𝑔𝑎𝑛𝑔𝑠𝑠𝑖𝑔𝑛𝑎𝑎𝑙 (𝑉) = ………….. We kunnen nu de weerstandswaarde Rg berekenen die nodig is om de versterking te verkrijgen. Rg = 1,0 kΩ * G = ………… 52 Module 3: Electro-oculografie Experiment versterker • Dan schakeling bouwen • Veelvoorkomende fouten: o o o Draadjes fout gestoken Foute waarde van RG gebruikt (nameten met multi-meter!) Foute versterking G berekend (verschil tussen amplitude en totale uitwijking) 53 Module 3: Electro-oculografie Experiment versterker • Dan verbinden met PC en uitproberen op ogen • Veelvoorkomende fouten: o o o Elektrodes niet geleidend genoeg (wassen, gebruik gel!) Elektrodes niet mooi symmetrisch EOG USB niet geconnecteerd (onderaan staat EOG dongle in rood) -> start EOG Scope opnieuw op 54 Module 3: Electro-oculografie Extraatje • Snelle leerlingen: meet ook ECG! 55 Opbouw van een projectdag op school Module 4 56 Opbouw van een projectdag op school Module 5 57 Module 5: cryptografie • Module 5.1 Achtergrond o Installeren van de omgeving o Spelopdracht 1 & 2 • Module 5.2 o Informatie o Spelopdracht 3 in het kort o 58 Module 5: achtergrond Eva : afluisteren Alice Bob 59 Module 5: achtergrond Eva : vervalsen Alice Bob 60 Module 5: achtergrond Hallo, Ik ben Alice Eva : impersoneren Bob 61 Module 5: achtergrond gegevens identiteit geheim geheimschrift anonimiteit correct integriteit identificatie 62 Module 5: achtergrond Identificatie wordt gebruikt in o.a.: 63 Module 5: cryptografie Identificatie kan gebeuren op verschillende manieren: • Wat je WEET (paswoorden, PIN) • Wat je HEBT (chipkaart, USB sleutel) • WAAR je bent (dial back, GPS) • HOE je bent (biometrie) 64 Module 5.1: identificatie • Server software o o Start een PC op van de server USB (wit) Server krijgt een IP-adres via DHCP • Dit IP-adres moet in de clientsoftware ingegeven worden • Voor het gemak : schrijf dit IP-adres op het bord o Er is een dashboardinterface voor troubleshooting, diagnose en het resetten van individuele spellen • Client software o o Opstarten via EOGstarter (1x) IP-adres van de server ingeven 65 Module 5.1: identificatie Wat we willen simuleren: vermijden dat draadloze communicatie kan gehackt worden Hacker Oogbewegingen Wolk Rolstoel 66 Module 5.1: identificatie spel 1 Server Client spel 2 spel 3 Dashboard … 67 Module 5.1: identificatie • • • • Start client Open Scratch Laad spel in Voer de gegevens in : spelnaam, spelersnaam, paswoord • Klik op de groene startvlag bovenaan rechts 68 Module 5.1: identificatie • • • • Server laat meerdere spelers door zelfde doolhof lopen Rolstoelen en Wolken (= hackers) 1 “game” = 1 doolhof Zorg voor een even aantal groepjes o Verdeel de voorafgedrukte kaartjes per spel o Een groepje krijgt het rolstoeldeel van het spel o Een ander groepje krijgt het wolkdeel van het spel • Communicatie via sensors van Scratch 1.4 • Boodschappen worden verstuurd als “lijsten” met een strikt te volgen formaat en volgorde (zie uitleg Spel 2 en Spel 3) 69 Module 5.1: identificatie Game: beperkte keuze (zie handleiding) Player: willekeurig, maar geen 2 dezelfde in 1 game/doolhof Type: rolstoel of wolk Invoer voor het script Invoer voor de tovenaarshoed Invoer voor het script 70 Module 5.1: identificatie Spelopdracht 1: o Start de juiste programma’s o Vul game en player in (zie ‘identificatie spelopdracht 1’-kaartjes voor rolstoel en wolk) o Kies een paswoord van drie of vier cijfers en vul het in o Spelen maar! 71 Module 5.1: identificatie • Structuur van een commando (lijst): “left”, paswoord “right”, paswoord “up”, paswoord “down”, paswoord 72 Module 5.1: identificatie Spelopdracht 2: paswoord raden door enumeratie • Breid het volgende programma uit: 73 Module 5.1: identificatie • Structuur van het hack-commando: “h”, naam spel, naam speler, gok voor het paswoord • Indien de gok juist is, dan zal de server het paswoord herhalen in zijn antwoord (in elk volgend antwoord) • Indien de gok fout is, dan zal de server “n” antwoorden, of in het begin soms “0.0” • Dit is zo gedaan om robuust te zijn tegen vertragingen op het netwerk 74 Module 5.1: identificatie Oplossing (*) (*) oplossingen staan ook op de USB 75 Module 5.1: identificatie Eens paswoord gevonden: • Neem de wolk/rolstoel van de tegenspeler over door zijn waarden in te vullen voor speler en paswoord in de besturingscommando’s • Zorg ervoor dat je de gegevens van je tegenspeler invult! o Anders vind je je eigen paswoord 76 Module 5.1: identificatie 77 Module 5.1: identificatie Afsluitende denkopdracht: • Enkele berekeningen die aantonen hoe lang een paswoord moet zijn om niet (moeilijk) geraden te kunnen worden 78 Server dashboard http://192.168.0.128:5000/innovationlab 79 Server dashboard 80 Module 5.2: veilige paswoorden • Vertrekpunt: zelfs het beste paswoord kan misbruikt worden als de toepassing vereist dat het paswoord doorgestuurd wordt via een onbeveiligd kanaal o Omdat een hacker het kanaal kan afluisteren en zo het paswoord te weten komt • In deze module bekijken we een systeem met paswoorden, waarbij het paswoord niet elke keer overgestuurd moet worden (*) deze module kan eventueel weggelaten worden (**) de oplossingen staan op USB 81 Module 5.2: veilige paswoorden Hill methode voor vercijfering • Paswoord = n x n matrix (hier: n = 3) • Vercijfering: cijfertekst = paswoord x boodschap • Vb: LEPELS -> [11 4 15], [4 11 18] é 12 ù é 1 2 3 ùé 11 ù ê ú ê úê ú 16 = 2 1 8 4 úê ê ú ê ú ê 1 ú ê 2 4 1 úê 15 ú ë û ë û ûë é 2 ù é 1 2 3 ùé 14 ù ê ú ê úê ú 7 = 2 1 8 11 úê ê ú ê ú ê 18 ú ê 2 4 1 úê 18 ú ë û ë û ûë • (rekenen modulo 26) • [12 16 1], [2 7 18] -> MQCBHS 82 Module 5.2: veilige paswoorden • Denkopdracht: ontcijfer nu een gegeven cijfertekst, die gemaakt werd met het volgende paswoord: é 1 2 0 ù ê ú 2 1 0 ê ú ê 0 0 3 ú ë û • Moeilijkheid: oplossen van vergelijking zoals 3z = 13 o o Oplossing: tel bij rechterlid gehele veelvouden van 26 op, totdat je een gehele oplossing krijgt voor z Opdracht kan eventueel overgeslagen worden 83 Module 5.2: veilige paswoorden Methode van vraag-en-antwoord toevalsgenerator Ik ben Alice Vercijfer eens 1234? pasw pasw 1234 1234 Hill Hill 8351 Het antwoord is 8351 8351 8351=8351 84 Module 5.2: veilige paswoorden Vraag-en-antwoord zonder vraag • Vraag-en-antwoord vereist 3 boodschappen ipv 1 • Vervang toevalsgenerator door een voorspelbare generator • Alice kan de vraag voorspellen, en meteen het antwoord berekenen • Aantal boodschappen wordt verminderd tot 1 85 Module 5.2: veilige paswoorden • Link met praktijk: Internet bankieren gebruikt o o Vraag-en-antwoord: systemen met “challenge” en “signature” Vraag-en-antwoord zonder vraag: systemen met toestelletjes die paswoorden genereren • Het is belangrijk dat de leerlingen het infoblad lezen! Volledig! 86 Module 5.2: veilige paswoorden Spelopdracht 3: implementeer vraag-en-antwoord zonder vraag • Begrijp de structuur van de commando’s • Implementeer een teller die de vragen genereert • Implementeer Hillvercijfering 87 Module 5.2: veilige paswoorden Structuur van de commando’s: “hillpassword”, commando, c1, c2, t0, t1, t2 • Commando: “up”, “down”, “left”, of “right” • c1, c2: afgeleid uit teller • t0, t1, t2: “antwoord” = resultaat van Hillvercijfering 88 Module 5.2: veilige paswoorden c1, c2: afgeleid uit teller • c1 = quotiënt van de gehele deling “teller gedeeld door 4” • c2 = rest van de gehele deling “teller gedeeld door 4” 89 Module 5.2: veilige paswoorden é t0 ù é pw0 ê ú ê ê t1 ú = ê pw3 ê t2 ú ê pw6 ë û ë pw1 pw4 pw7 pw2 ù é c1 ú ê pw5 ú ´ ê c2 pw8 úû êë cmd ù ú ú ú û • pw0, …, pw8: 9 cijfers van de paswoordlijst • cmd: getal bepaald door commando o o down = 2, left = 4, right = 6, up = 8 Bijvraagje: waarom cmd betrekken in de berekening? 90 Opbouw van een projectdag op school Afronden en afsluitende film 91 Afronden en afsluitende film • Stop op tijd, om geen anti-climax te hebben • Neem tijd voor: o o o Opruimen Nabespreking Afsluit-film 92 Opbouw van deze bijscholingsdag • Kadering InnovationLab • Kadering project Ooggestuurde interface • Doorlopen van de projectdag en de modules o o Voormiddag: 1, 2, 3 Namiddag: 4, 5 • Doornemen documentatie, materiaal en voorbereiding • Deelnemen met jouw school • Afsluiter en evaluatie 93 InnovationLab documentatie • Voor de leerlingen: Info- en experiment-blaadjes per module o Filmpjes • Voor de leerkrachten: o Uitgebreide leerkrachtenhandleiding met o • Extra achtergrond informatie • Antwoorden op vragen • Suggesties bij veelgemaakte fouten Allemaal op website https://eng.kuleuven.be/innovationlab/documenten 94 InnovationLab koffers • Leerlingen werken per 2, aan 1 PC o Leerlingenbakje per groep (13 groepen of 26 lln) o Leerkrachten bakje (+ USB stick!) Niet voorzien: Multimeters! 95 Opbouw van deze bijscholingsdag • Kadering InnovationLab • Kadering project Ooggestuurde interface • Doorlopen van de projectdag en de modules Voormiddag: 1, 2, 3 o Namiddag: 4, 5 • Doornemen documentatie, materiaal en voorbereiding • Deelnemen met jouw school • Afsluiter en evaluatie o 96 Deelnemen met jouw school: praktisch • Projectdag of enkele halve dagen voor o o Tussen de 10 en de 250 leerlingen Van de 3e graad ASO of TSO (min 4 uur wiskunde) • Reserveren InnovationLab koffers voor een bepaalde week o o Vandaag Of via email: [email protected] • Afhalen / terugbrengen koffer in Heverlee / Kortrijk • Contractje 97 InnovationLab voorbereidingen • Reserveren PC klas (met projectiemogelijkheid) • Kopieren documentatie + loginkaartjes • Software-bestanden op PC zetten Contact met systeembeheerders – check zie leerkrachtenhandleiding pg 8 ! • Uittesten server (module 5) • Testen multi-meters o • Leerkracht is begeleider….. 98 Opbouw van deze bijscholingsdag • Kadering InnovationLab • Kadering project Ooggestuurde interface • Doorlopen van de projectdag en de modules Voormiddag: 1, 2, 3 o Namiddag: 4, 5 • Doornemen documentatie, materiaal en voorbereiding • Deelnemen met jouw school o • Afsluiter en evaluatie 99 Vragen 100