Skip to content

djolez/SEEDS

Repository files navigation

SEEDS

Functionalities

The app is based on a client-server approach. First of all, the server interfaces directly to a microcontroller through serial connection, and it represents the entry point to all the devices that can measure the data about the hydroponic system. The board can communicate with connected devices thanks to embedded C scripts that poll the data according to the settings provided by the server. Then, the server runs a web server exposing REST APIs which can be consumed by the client in order to retrieve data. Of course, users can also send data to the server and/or devices through those APIs. In fact, a user can set, for the devices that allow it, a range of acceptable values, a time schedule to work in, a polling interval and a check interval and finally which devices to show data about. When setting up the system, the user is able to specify as many boards he preferes, along with the devices attached to it.

In particular, the data is shown in the client by plotting it in a graph related to a specific device (i.e: data belonging to a specific device, considering all the sub-devices connected to it, are shown in the same graph) with the exception of some kind of devices like relays which can be only toggled.
In this way, the plant growing can be completely automated in the sense that the only action that the user needs to perform is to change the nutrient solution at the right time.





Technologies used

The whole system exploits a set of libraries and technologies in order to provide the functionalities mentioned above.

Server

The server is completely written in python, so it can run even on small embedded systems like RaspberryPi. In particular, it makes use of:

  • Flask a micro web framework written in Python used for RESTful request dispatching
  • SQLite a lightweight database
  • Peewee a simple and small ORM used to easily store data on the underlying SQL database by means of models

Client

The client is represented by an Android application, which uses some opensource libraries to let the user control the server:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors