1. Kan ni beskriva projektet och vad ni ville bygga?
Projektet gick ut på att utveckla ett övervakningssystem för hydroponisk växtodling med hjälp av inbyggda system och IoT-teknik. Målet var att ta fram en demonstrerbar prototyp som kunde samla in data från flera sensorer, skicka mätvärden till en molnplattform och göra det möjligt att övervaka odlingen på ett tydligt sätt.
Hydroponisk odling kräver kontroll av flera viktiga parametrar, exempelvis temperatur, pH-värde, näringsnivå, vattennivå och ljusförhållanden. Därför ville vi bygga ett system som kunde mäta dessa parametrar och presentera dem i ett användarvänligt gränssnitt.
2. Vilka tekniska delar består systemet av?
Systemet består huvudsakligen av en ESP32-mikrokontroller som kör Zephyr RTOS, ett antal sensorer samt ThingsBoard för visualisering och larmhantering. Sensorerna som användes mäter bland annat lufttemperatur, luftfuktighet, vattentemperatur, vattennivå, pH-värde, elektrisk konduktivitet och ljusnivå.
Mätvärdena samlas in av mikrokontrollern och skickas vidare via Wi-Fi och MQTT till ThingsBoard. I ThingsBoard visualiseras värdena i en dashboard, där det även finns larmfunktioner som kan larma om något värde ligger utanför önskat intervall eller om en sensor inte fungerar som den ska.
3. Vilka utmaningar har ni stött på under projektets gång?
En av de största utmaningarna var att integrera flera olika typer av sensorer i samma system, eftersom de använder olika kommunikationssätt, exempelvis I2C, 1-Wire och analoga signaler. Det krävde mycket testning och felsökning för att få stabila mätvärden.
En annan utmaning var kalibreringen av de analoga sensorerna, framför allt pH- och EC-sensorn. Dessa sensorer kräver noggrann kalibrering för att ge tillförlitliga värden, och det blev tydligt hur viktigt det är med bra referensvärden och strukturerade tester.
Det var även en utmaning att arbeta med Zephyr RTOS eftersom det skiljer sig en del från enklare utvecklingsmiljöer som exempelvis Arduino som vi tidigare arbetat med.
4a. Hur fungerar visualisering och övervakning via ThingsBoard?
När ESP32 skickar mätvärden via MQTT visas de i en dashboard där användaren kan följa värdena i realtid och även se historiska mätningar. Dashboarden gör det enkelt att få en överblick över odlingens tillstånd. Vi implementerade även larmfunktioner som reagerar när ett mätvärde hamnar utanför ett definierat intervall eller om ett sensorvärde indikerar fel. På så sätt kan systemet användas för att snabbt upptäcka avvikelser i odlingsmiljön.
4b. Hur var det att utveckla för Zephyr RTOS?
Att utveckla för Zephyr RTOS var både lärorikt och utmanande. Det krävde mer konfiguration än enklare plattformar, men gav samtidigt en tydligare struktur och bättre förståelse för hur realtidsoperativsystem används i inbyggda system. Vi fick arbeta med bland annat drivrutiner, device tree, konfigurationsfiler och modulär kodstruktur. Det gjorde utvecklingen mer komplex i början, men när grunden väl var på plats blev systemet mer organiserat och lättare att bygga vidare på.
5. Hur blev resultatet av projektet?
Resultatet blev en fungerande prototyp som kan mäta flera viktiga parametrar i en hydroponisk odling och skicka dessa vidare till ThingsBoard för visualisering och övervakning. Systemet visar att det går att kombinera sensorer, Zephyr RTOS, MQTT och ThingsBoard till ett flexibelt övervakningssystem.
Prototypen uppfyllde projektets huvudsakliga mål genom att samla in sensordata, presentera värden i en dashboard och använda larmfunktioner för att indikera avvikelser. Det finns samtidigt goda möjligheter att vidareutveckla systemet, exempelvis med automatisk styrning av pumpar, belysning eller näringsdosering.
6. Hur har det varit att genomföra examensarbetet hos Zellaco?
Det har varit väldigt givande att genomföra examensarbetet hos Zellaco. Vi har fått arbeta med ett verklighetsnära projekt där både hårdvara, mjukvara och IoT-lösningar kombineras. Det har gett oss möjlighet att använda kunskaper från utbildningen i ett praktiskt sammanhang.
Vi uppskattar särskilt det stöd och den frihet vi fått under projektets gång. Det har varit utvecklande att få ta ansvar för tekniska val, felsökning och implementation, samtidigt som vi har haft möjlighet att diskutera lösningar och få vägledning när det behövts.