Skip to content

SpaceAppsReno/GanymedeStation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GanymedeStation

Garden control system

The garden will contain a series of Pods to monitor conditions. Pods will include a moisture sensor, thermistor, and radio transmitter. Pods will be controlled by an Arduino microcontroller.

Each pod will provide the following data:

  • id
  • moisture
  • temperature
  • light
  • voltage (batter) This data will be transmitted to a nearby base station.

There will be a base station near the garden to receive radio transmissions from the pods. Each base station will have a flow meter, water controller, radio receiver, and a connection to the internet. Data from the pods is aggregated by the base station, and posted to the Ganymede server.

The Ganymede server will receive and store data from the base station(s). The data may be accessed through a REST API by clients.

PUT /api/[BaseStationId] - Sets the current battery level and flow value

{ "name":"MyBaseStation", "flow":"9000", "voltage":"3.3", "valves":["valve1","valve2"] }

PUT /[BaseStationId]/[PodId] - Sets the current values of the sensors for the pod

{ "name":"MyPod1", "temperature":"16", "moisture":"255", "light":"50", "voltage":"3.3" }

GET / - Retrieves a list of metadata for all base stations

[ {"name":"MyBaseStation"}, {"name":"MyBaseStation2"} ]

GET /[BaseStationId] - Retrieves battery level and metadata for all pods associated with the base station

{ "_id":"59061e3e8f9ad902fdac9d17", "modified":"2017-04-30T17:26:22.255Z", "name":"MyBaseStation", "flow":9000, "voltage":3.3, "created":"2017-04-30T17:26:22.254Z", "__v":1, "valves":["valve1","valve2"], "pods":["MyPod1"] }

GET /[BaseStationId]/[PodId] - Retrieves current sensor data for the specified pod

{ "_id":"59061e568f9ad902fdac9d18", "light":50, "moisture":255, "temperature":16, "voltage":3.3, "name":"MyPod1", "baseStation":"MyBaseStation", "created":"2017-04-30T17:26:46.731Z", "__v":0 }

A desktop version of the client will be created in WPF for displaying and controlling each base station.