1 of 15

MARSFarm Reporting

  • Prototype running on a Raspberry Pi
    • Python code using the following libraries:
      • Flask & Nginx
      • Flask Blueprints
      • MongoDB
      • Plotly charts
  • Currently two main types of reports:
    • Trial based one (trial of individual box)
    • Experiment based (all trails within an experiment)

NOTE:

While running on actual data, this is a prototype for demonstration purposes and does not necessarily reflect current or future MARSFarm work.

2 of 15

Data Sources

  • 4 semesters of GBE data extracted directly from the Google Drive, converted to STAT format.
  • GBE_D: GBE with a Raspberry Pi, used to develope LED control
  • MARSFarm_V1: MARSFarm V1 box with some extra files to export data in STAT format.
  • OAB: Experimental MARSFarm VX running on a breadboard
  • Pico: Breadboard Raspberry Pico running multiple sensors and micopython

3 of 15

4 of 15

5 of 15

6 of 15

7 of 15

8 of 15

9 of 15

10 of 15

11 of 15

12 of 15

13 of 15

STAT Data Model

  • Based on BPM (Business Data Modeling) with Data Warehouse influences
    • Event Oriented:
      • When – date and time information
      • Where – school, box, plot, …
      • Who – person or sensor
      • What – subject, attribute and value
      • Status – also record failures
  • Good mapping to MIAPPE

14 of 15

Events (examples, not exhaustive):

  • Agronomic Activities
    • Planting
    • Harvesting
    • Irrigation
  • Pheontype Observations
    • Height
    • Mass
  • Environment Observations
    • Temperature
    • Humidity
    • CO2
  • Other supporting data
    • Trial (is an activity!)
    • Experiment (also an activity)
    • Organization
    • Plants
    • Recipe

15 of 15

Record Example

  1. _id:63e59e88f5b868e4add6092c
  2. time
  3. :Object
    1. timestamp:1675992712.843758
    2. timestamp_str:"2023-02-09 20:31:52"
    3. day:105
    4. week:15
  4. trial
  5. :Object
    • id:"1"
    • name:"Trial_1"
  6. location
  7. :Object
    • farm:"OpenAgBloom"
    • field:“Webb_House"
    • plot:"MARSFarm_Dummy“
  8. activity_type
  9. :"Environment_Observation"

  1. subject
  2. :Object
    1. subject:"Air"
    2. attribute:Object
      1. name:"Temperature"
      2. value:0
      3. unit:"C"
  3. participant
  4. :Object
    • name:"SI7021"
    • type:"sensor"
  5. status
  6. :Object
    • status_qualifier:"Test"
    • comment:"Failure getting SI7021"
  7. experiment
  8. :Object
    • id:"1"
    • name:"Exp_1"