Att bygga en akvaponi – del 5 – Produktionsspårning

Detta är en beskrivning av hur vi på Johannas Stadsodlingar och Concinnity tillsammans har byggt Johannas Akvaponi Pilotanläggning. Vi vill dela med oss hur vi har gjort och tänkt. Det är ganska mycket att tänka på, så det blir flera inlägg för att täcka det mesta.

Cultivation Management Platform

De digitala system vi byggt har grundats på den vision vi satte i början på projektet som vi kallar Cultivation Management Platform (CMP).

Cultivation Management Platform, Copyright 2019 Johannas Stadsodlingar AB. Some rights reserved. Creative Commons BY-SA-NC 3.0.

CMP kan delas upp i fyra delar:

● Vattenkvalitets- och näringstester (Water quality & nutrient tests)
● Vatten-, luft- och automationssensorer (Water & air sensors)
● Produktionsspårning (Production management)
● Distributed ledger / blockkedja (Blockchain)

I detta avsnitt beskriver vi arbetet med produktionsspårning.

Systemet i stora drag

Med digital spårning, eller produktionsspårning, samlar vi in data om hur själva odlingen framskrider. Huvuddelarna i detta system är en mobilapp och en molnbaserad service som appen kommunicerar med. Med mobilappen registrerar vi varje betydelsefull händelse under en plantas väg genom systemet, från frö till färdigt salladshuvud! All data lagras i molntjänsten och är tillgänglig både från appen och från ett administrativt gränssnitt i tjänsten.

Mobilapp för produktionsspårning

Odlingsprocessen som data

Odlingsprocessen organiseras i vad vi kallar för omgångar, där en omgång är ett eller flera groddningstillfällen av samma frö gjorda vid samma tidpunkt. Under tiden en planta går från frö till skörd genererar och registrerar vi fyra händelser som vi kallar Groddning, Stickling, Planta och Skörd. Varje omgång består i sin tur av en eller flera “behållare” där plantorna växer. Vid groddningens början sätts fröna i substrat i brickor med mellan 77 och 150 plantor. Dessa brickor står på ett odlingsbord, en grund bassäng med några centimeter vatten. Brickan är täckt med en plasthuv för högre värme och luftfuktighet. Den första händelsen, Groddning, registreras när vi frösätter en bricka.

IMG_0337

Anke flyttar sticklingar från en bricka till en flotte

Groddningsperioden är ca en vecka lång varefter brickan flyttas till ett annat odlingsbord där sticklingarna får fortsätta sin tillväxt under några veckor. När denna flytt görs registrerar vi en Stickling-händelse. Hur lång tid plantorna spenderar som stickling beror på typen av planta. När sticklingarna växt till rätt storlek på brickan är det dags att flytta ut dem till de stora odlingsbassängerna. Detta sker genom att varje enskild planta flyttas till en flotte. Flottarna är en knapp kvadratmeter stora, och rymmer 30 eller 32 plantor. De två olika typerna av flottar har olika stora hål där växten placeras och är därför lämpliga för olika typer av plantor. För varje flotte registrerar vi en Planta-händelse. Efter ett antal veckor på flottarna, återigen olika lång tid beroende på typ av växt, skördas de färdiga plantorna. Vanligen görs detta samma dag eller dagen innan de levereras till kund. För varje flotte som skördas skapar vi en Skörd-händelse.

IMG_1937

En flotte tas ur bassängen för skörd

För varje händelse registrerar vi data om tidpunkt för händelsen, vem som gör registreringen, och antalet plantor som just då finns på brickan eller flotten. Exempelvis har några frön inte kommit igång och vi registrerar bortfallet när vi skapar sticklingshändelsen. Vid Groddning och Plantering registrerar vi det ID den odlingsbricka eller -flotte som används har. Man kan också göra en anteckning. Därutöver lagras följande för de olika händelserna:

  • Groddning: frösort, leverantör, ID på odlingsbricka, antal frön och ev. odlingtillbehör som används
  • Stickling: antal sticklingar
  • Plantering: ID på flotte och antal plantor
  • Skörd: antal skördade plantor

Implementation

Produktionsspårningssystemet består i huvudsak av två delar. En mobilapp och en server som appen kommunicerar med via HTTP och som lagrar den data som registreras via appen. Appen är byggd med ramverket Flutter. Flutter gör det möjligt att skapa appar som använder samma källkod men som kan användas på både Android- och iOS-baserade telefoner och surfplattor. Molntjänsten är byggd med ramverket Django, ett ramverk för alla typer av HTTP-baserade backendlösningar. Utöver Django använder vi också PostgreSQL som databas och Hasura som tillhandahåller ett GraphQL-API mot databasen.

I nästa inlägg tittar vi närmare på vår integration med blockkedja.

Texten i detta inlägg är licensierad under Creative Commons BY-NC-SA International.