← Til forsidenEnglish

Skole · Kristiania · 2024

Drivhussystem

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

Arduino · C++ · IoT · MongoDB

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

  1. 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.

    Forarbeid
  2. 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.

    Et realistisk scenario
  3. 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.

  4. 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.

    Dokumentasjon og kodestruktur
  5. 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.

    Varsler
  6. 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.

  7. 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.

  8. Biblioteker

    Prosjektet bruker disse bibliotekene: ThingSpeak fra MathWorks, Adafruit_SHT31, Adafruit_DotStar og Adafruit_LTR329 fra Adafruit, og ArduinoJson.

Flere prosjekter →