Huvudmoment Skapa i grupp en applikation som pratar med en enhet och ger en användare möjlighet att läsa av och/eller styra den. Utforma och koda ett användargränssnitt för ovannämnda applikation utifrån sina befintliga kunskaper inom JavaScript, CSS och frontendutveckling. Utforma och koda en backend för ovanstående applikation med hjälp av sina befintliga kunskapar inom JavaScript, Node.js och backendutveckling. Använd under grupparbetet agil metodik och versionshantering Idé och förstudiefas Bestäm inom gruppen vad ni vill skapa för typ av IoT- enhet. Utgå från enkla färdiga komponenter som går att köpa billigt i detaljhandeln för att bygga er enhet. Krav på enheten är a) Att det ska gå att koppla upp sig mot enheten via Wifi. b) Att enheten ska kunna läsa av sin omgivning med sensorer och/eller styra en motor, lampa eller liknande. c) Att kommunikation ska gå att upprätta med enheten från en Node.js- baserad webbserver. Förslag på lämplig grundenhet: NodeMCU http://www.nodemcu.com (som går att köpa hos t.ex. Kjell och Co, för cirka 250 kr). Denna har det interna programmeringspråket LUA som är mycket likt JavaScript och inbyggd WiFi. Beskriv vad ni tänker er att enheten ska kunna läsa av och/eller styra, samt vilka hårdvarukomponenter ni behöver för att kunna åstadkomma detta. Lernia Utbildning Sid 1
Implementeringsfas Införskaffa nödvändiga komponenter. Sätt ihop komponenterna. Se till att enheten kan svara på enkla anrop via WiFi och via detta ta emot och skicka information http. (Enheten behöver således fungera som en enkel webbserver.) I grupp utformar och kodar ni en backend för ovanstående applikation med hjälp av sina befintliga kunskaper inom JavaScript, Node.js och backendutveckling. I grupp utformar och kodar ni ett responsivt användargränssnitt för ovannämnda applikation utifrån befintliga kunskaper inom JavaScript, CSS och frontendutveckling. Applikationen ska gå att använda för att enkelt läsa av sensordata och/eller styra komponenter kopplade till IoT- enheten. Under grupparbetet använder ni er av agil metodik och versionshantering. Individuell uppgift Ge en kortfattat muntlig eller skriftlig presentation (ca 5-10 minuter muntligt, alternativt ca 1 500-3 000 tecken skriftligt) som innefattar: En förklaring av begreppen connectivity och Internet of Things. Exempel på olika typer av uppkopplade enheter. En förklaring av grundläggande principer för styrning och kontroll av uppkopplade enheter. Lernia Utbildning Sid 2
För att få uppnå betyget G på gruppinlämningsuppgiften: Arbeta i grupp, i ett agilt team, och använd versionshantering via GitHub under hela detta arbete. Genomför förstudiefasen och presentera er idé och nödvändiga komponenter. Få IoT- enheten att koppla upp sig via WiFi. Få IoT- enheten att ta emot http- anrop, reagera på mottagen data och vid anrop skicka efterfrågad data tillbaka. Skriv en backend där er kod är separerad i olika filer utifrån moduler och klasser. Skriv en responsiv och lättförstådd frontend. Du bedöms individuellt utifrån att du Ska ha haft ett grundläggande deltagande under planering och samarbete i det agila teamet. Samarbetat genom att versionshantera din kod tillsammans med gruppen på ett i grunden korrekt sätt. Har skrivit en andel av koden som motsvarar minst din andel i teamet delat med två. För att få uppnå betyget G på den individuella uppgiften: Du uppnår betyget G om du kan Redogöra för begreppen connectivity och Internet of Things. Nämna grundläggande exempel på olika typer av uppkopplade enheter. Berätta om grundläggande principer för styrning och kontroll av uppkopplade enheter. Lernia Utbildning Sid 3
För att få uppnå betyget VG på gruppinlämningsuppgiften: Arbeta i grupp, i ett agilt team, och använd versionshantering via GitHub under hela detta arbete. Genomför förstudiefasen och presentera på ett utförligt sätt er idé och nödvändiga komponenter. Få IoT- enheten att koppla upp sig via WiFi. Få IoT- enheten att ta emot http- anrop, reagera på mottagen data och vid anrop skicka efterfrågad data tillbaka. Skriv koden för IoT- enhetens webbserver på ett strukturerat sätt. Skriv en backend där er kod är noggrant separerad i olika filer utifrån moduler och klasser. Använd i möjligaste mån OOP. Skriv en responsiv och lättförstådd frontend. Se till att frontendkoden är noggrant strukturerad och uppdelad i olika filer. Du bedöms individuellt utifrån att du Ska ha haft ett aktivt och engagerat deltagande under planering och samarbete i det agila teamet. Samarbetat genom att versionshantera din kod tillsammans med gruppen på ett nyanserat och korrekt sätt. Har skrivit en andel av koden som motsvarar minst din andel i teamet delat med två. För att få uppnå betyget VG på den individuella uppgiften: Du uppnår betyget VG om du kan Redogöra utförligt för begreppen connectivity och Internet of Things. Ge utförliga exempel på olika typer av uppkopplade enheter. Berätta nyanserat om principer för styrning och kontroll av uppkopplade enheter. Lernia Utbildning Sid 4
, individuellt genomförande Efter överenskommelse med utbildningsledare kan gruppinlämnings- uppgiften genomföras individuellt: Frontend behöver i detta fall inte vara responsiv. Backendkoden behöver inte separeras i olika filer klasser. I övrigt gäller samma betygskrav. Lernia Utbildning Sid 5