Skole · Kristiania · 2024
Drivhussystem
Overvåking av et drivhus med sensorer. Måledata i sanntid, varsler på mobilen og historikk over tid.

Sammendrag
Et system som overvåker et drivhus og holder vekstforholdene optimale ved hjelp av sensorer og IoT. Det er bygget med Arduino og sensorer fra Adafruit som måler temperatur, luftfuktighet og lys.
Gjennom research fant jeg ut hvilke faktorer som betyr mest for å dyrke Goldfinger-bananer og Cayenne-ananas. Sensorene følger med på nettopp disse, og resultatet er et system som viser måledataene i sanntid og varsler når forholdene ikke er som de skal.
Prosessen
Forarbeid
Jeg startet med å sette meg inn i vekstforholdene for bananer og ananas, og fant ut at de kan dyrkes sammen fordi de utfyller hverandre når det gjelder skygge og miljø. Så kartla jeg hvilke faktorer som kunne måles med sensorer på en ESP32, og valgte ThingSpeak til lagring i skyen fordi det er enkelt å bruke og godt dokumentert.

Et realistisk scenario
I virkeligheten ville et slikt program vært tilpasset bestemte sorter. Ut fra det jeg fant, valgte jeg Goldfinger-bananer og Cayenne-ananas, siden vekstbehovene deres passer godt sammen, og tilpasset varslene slik at forholdene holdes optimale for akkurat disse.

Fra MVP til ferdig produkt
Etter forarbeidet bygde jeg en MVP av hver funksjon og satte dem sammen til ett program. Så la jeg til varsler når sensorverdiene havner utenfor normalen, og sending av data til ThingSpeak. Det ferdige produktet har et dashboard med målere for temperatur og luftfuktighet.
Dokumentasjon og kodestruktur
Koden er godt kommentert og delt inn i fem deler: globale variabler, oppsett, hjelpefunksjoner, hovedfunksjoner og loop. Hver funksjon har en kort beskrivelse, så det er lett for andre å forstå hvordan koden henger sammen.

Varsler
Systemet varsler når lys, temperatur eller luftfuktighet er utenfor det normale. Står drivhusdøren åpen, kommer det et varsel via Pushsafer som også tar med værdata fra OpenWeatherMap-API-et. Slik får brukeren beskjed om alt som kan skade avlingen.

Oppsett i skyen
Skyoppsettet bygger på en guide fra Random Nerd Tutorials, tilpasset ESP32. Det gir sanntidsovervåking og lagring av måledataene, og full oversikt over forholdene i drivhuset.
Flere drivhus
Skal løsningen brukes i flere drivhus, kan datainnsamling og visualisering samles på én IoT-plattform. Da får hvert drivhus sitt eget dashboard, og en felles database åpner for mer avansert analyse.
Biblioteker
Prosjektet bruker disse bibliotekene: ThingSpeak fra MathWorks, Adafruit_SHT31, Adafruit_DotStar og Adafruit_LTR329 fra Adafruit, og ArduinoJson.