Sensor Reef
IoT web applicatie voor data verzameling
Urban Reef ontwikkelt "Reefs", keramische structuren met als functie de biodiversiteit binnen steden te vergroten. Tijdens mijn afstudeerstage werkte ik aan het Sensor Reef project, bedoeld om dataverzameling en het inzien van data makkelijker te maken. Mijn bijdrage bestaat uit een webapplicatie (laravel + vue.js) en netwerkfunctionaliteit voor een sensor systeem (LoRaWan, c++) om data op te slaan en in te zien. Het ontwikkel process bestond uit de volgende fasen:
- Literatuur-onderzoek naar biodiversiteit en bioreceptiviteit.
- doelgroep-onderzoek, hoe wordt data verzameld en geanalyseerd en door wie?
- UX Design, een concept ontwikkelen met doelgerichte features die waarde creëren voor de doelgroep.
- Ontwikkeling, een prototype opzetten, testen en doorontwikkelen.
Literatuur en doelgroep onderzoek
Om de stakeholders beter te begrijpen deed ik onderzoek naar specifieke begrippen die veel gebruikt werden binnen Urban Reef. De kennis opgedaan vanuit dit onderzoek gebruikte ik vervolgens om interviews op te zetten met meerdere stakeholders binnen Urban Reef. Het doel hiervan was om de globale ontwikkelmethodologie te begrijpen en specifiek de manier van dataverzameling en -verwerking. Als aanvulling participeerde ik ook in het verzamelen van data om persoonlijk inzicht te krijgen in de werkwijze.
UX Design
De inzichten verzameld uit de interviews en participatie heb ik destilleerde ik naar thema's en bijbehorende 'insight statements', zie media onderaan de pagina. Deze werden het uitgangspunt voor het opstellen van 'user stories'. Voor het ontwerpen van bepaalde features maakte ik clickable prototypes met behulp van Figma om deze snel te kunnen testen en op het ontwerp te itereren.
Ontwikkeling
De webapplicatie is ontwikkeld met Laravel, Inertia.js en Vue.js. Laravel is een robust framework dat development makkelijk maakt omdat functionaliteiten snel gescaffold kunnen worden. Door middel van Inertia.js + Vue.js was het mogelijk om interactieve formulieren te maken die het dataverzamelingprocess versnellen.
De netwerk functionaliteit voor het sensorsysteem is ontwikkeld in c++ met Platform.io. De keuze is op Platform.io gevallen omdat het embedded development toegankelijk maakt en meer flexibiliteit heeft ten opzichte van Arduino. Het sensor systeem maakt gebruik van LoRaWan technologie omdat dit batterij efficient is en niet afhankelijk is van de beschikbaarheid van internet. Een beperking is dat LoRaWan alleen kleine payloads kan versturen. Daarom ontwikkelde ik een encoder en decoder die de data ven sensoren kan versturen door middel van een byte array. Het proces van communicatie is onderaan in flowchart uitgewerkt.
Broncode:
Wil je meer weten? Lees hier mijn scriptie. De appendices zijn verwijderd i.v.m. persoonsgegevens en bedrijfsgeheimen.