Environmental data wrangling

The Kratky Tank target includes a mandate to set up data monitoring for the tank, but in hindsight, this can't be done in the isolated context of a single grow frame. I intend to try a variety of hydroponic, aeroponic, aquaponic (and even soil-ponic :-) systems, and each will have different attributes that need to be monitored, but they all need to fit into a cohesive data gathering system. So I'm going to split out a few related sub-targets to handle the development of tools to monitor these distinct elements.


Throughout the research, there are at least 3 distinct levels of granularity at which data collection might need to happen:

  • information about the room
  • information about the frame (tank, tower, soil plot, etc)
  • information about each specimen

In addition to that granularity dimension, some attributes are either too difficult or too expensive to monitor automatically, so I'll need to be able to capture data either way and still integrate the measurements into the same data system.

To that end, I've sketched out a client/server model in which a central database server will provide a lightweight API over which client modules can report their readings. Whether the measurements are taken with a ruler and entered manually into a smartphone app, or are captured and reported automatically by an Arduino-based sensor array, all the data will be kept in one place.

While contemplating this system, I was struck by a mental image of all these little boxes scattered around the lab, watching everything and constantly telling the server what was going on; like little brothers snitching to mom. So in honor of that image, I'm calling this the "snitchbox" system.

It will be impossible for me to anticipate all the attributes this system will require, in advance, so I'm going to design the framework to be flexible and hope I'll be able to adapt it as new needs arise in future experiments.

For now, in the context of the Kratky Tank target, I need to design three components:

  • the "LabMom" server to catch and store all the reports (see Target LabMom)
  • a snitchbox for monitoring conditions in a given Kratky tank (see Target Snitchbox Kratky)
  • and a snitchapp for collecting manual entries and forwarding them to mom (see Target SnitchApp)

Comments