Giter Club home page Giter Club logo

hydroponic's Introduction

#Hydroponic

##Hardware

In this implementation Ebb and Flow system is used. This system works by temporarily flooding the grow tray with nutrient solution and then draining the solution back into the reservoir. When the scheduler turns the pump on nutrient solution is pumped into the grow tray. When the timer shuts the pump off the nutrient solution flows back into the reservoir. The water pump is set to come on several times a day, depending on the size and type of plants, temperature and humidity and the type of growing medium used.

alt tag

Components used

  • Arduino Uno
  • Arduino relay
  • DHT11 Temperature and humidity sensor
  • DS18B20 Water temperature sensor
  • Photocell light sensor
  • Raspberry Pi 3
  • Pi camera v2.1

Overall Architecture

alt tag

Raspberry Pi has the role of the server that controls the Arduino, stores sensor values and hosts a web app. Pi sends a request at user defined interval to the Arduino (1) to read the data of all the sensors (temperature, humidity, etc.). Arduino reads the values (2,3) and sends them to the Pi over USB connection (4). Those values are stored in a SQLite database (5) that besides sensor readings contains also the log of the devices (light and water pump), users and notifications. User can interact with the system either using web app or telegram bot. Web app (7, 10) is used for displaying sensor data in the form of charts and working time for devices, providing user with configuration page where he can set on/off intervals of the devices and desired values of the sensors (used for notifying when they are out of range). From here user can take pictures manually or open the timelapse view for specified date range. Telegram bot (7, 10) can retrieve the data about sensor values in the last 24h, send notifications about values out of range for sensors (specified in the config part of web app) and capture pictures.

Web app interface

alt tag alt tag

Useful links

System build: http://bit.ly/2alQpj7

Tips for growing in hydroponics: http://bit.ly/2a5jRJd

Pictures of system development: http://imgur.com/a/kVj2a

###Useful links:

Running Telegram bot in Python: http://bit.ly/2af284B

System walkaround

https://www.youtube.com/watch?v=Uy2Df0rXX6M

Telegram bot demo

https://www.youtube.com/watch?v=GUoj2lxdjzk

Technologies used

Setting up

git clone https://github.com/djolez/hydroponic.git

Web app: Run bower install in web-app folder

Telegram bot: Add Hydrobot on Telegram

NGINX installation instructions: http://nginx.org/en/docs/beginners_guide.html

Future upgrades

  • Build case for Arduino and sensors, make light holder with adjustable height, make holder for Raspberry and camera
  • Enclose the system in a box so the environment conditions can be kept at the desired values more easily
  • Add wifi/ethernet shield to Arduino in order to use MQTT protocol thus removing the need for serial communication with Raspberry
  • Nutrient solution cooler
  • (Optimistic) Fully automated nutrient and pH regulation using pH and electrical conductivity sensors in combination with peristaltic pumps
  • (Optimistic) Fully automated drain/refill of the nutrient solution

Additional info

This project was developed for the course of "Pervasive Systems 2016", held by Prof. Ioannis Chatzigiannakis within the Master of Science in Computer Science of University of Rome "La Sapienza".

Homepage of Pervasive Systems 2016 course : http://ichatz.me/index.php/Site/PervasiveSystems2016

Homepage of Prof. Ioannis Chatzigiannakis: http://ichatz.me/index.php

Homepage of MSECS "La Sapienza": http://cclii.dis.uniroma1.it/?q=msecs

hydroponic's People

Contributors

vega-dev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.