Coder Social home page Coder Social logo

ets-reactnative1 / tower_grow Goto Github PK

View Code? Open in Web Editor NEW

This project forked from matthewalunni/tower_grow

0.0 0.0 0.0 4.53 MB

A 3D printed IoT desktop hydroponic garden controlled through a react native mobile application

License: GNU Affero General Public License v3.0

JavaScript 39.45% Ruby 2.32% Python 20.95% Objective-C 13.21% Java 18.51% Starlark 5.56%

tower_grow's Introduction

Tower Grow

Your Desktop Hydroponic Garden

Hydroponics

  • Hydroponics refers to the art of gardening without soil.
  • Hydroponics can provide a controlled environment supplied with the needed amount of oxygen, water, and nutrient rich solutions.
  • Hydroponics can be used to grow flowers, vegetables, and herbs.

Benefits of Hydroponics

  • A benefit of using hydroponics compared to traditional agriculture is that hydroponics needs 90% less water, and allows us to control how much light needed and for how long, and the pH level of the water can be monitored and adjusted based on the needed environment, which accelerates the plants growth to half the time.
  • Plants need the soil to supply them with water and nutrients, but they don’t need it to photosynthesize. Hhydroponics the allows needed nutrients to be dissolved in water and then can be applied directly to the root of the plants either by flooding, misting or immersion.
  • This helps to reduce variability in plant growth due to a controlled environment where no animals, pests or environmental conditions could affect plants growth.

Design

  • Our designed was inspired by different smart garden products, but we were aiming to provide a more durable size of a portable hydroponic garden that can be easily moved and mainly fits anywhere.
  • This product could be ideal for a kitchen, office, or basement, focusing on growing as much as we can in a small footprint.
  • This product features a modular design that can allow growth all year around in suboptimal light conditions.

Software

How It Works

  • The mobile application is written in react native, and sends text instructions to a PubNub channel based on user inputs, the deviceitself is programmed using python on a raspberry pi 4b.

Threading and Parallelism

  • Parallelism refers to performing multiple computations at the same time. The main execution splits into multiple threads, as illustrated by the image below.

  • There are two main processes (threads) at work in the program.
  • The first thread is the method handle_pubnub_message (listener, channel). This method will listen for a message on a specified PubNub channel, and then respond to it accordingly.
  • The second thread is called handle_schedule(). This handles the scheduling feature by checking if on/off times are set. Following this, if the current time is equal to the specified on/off time, the program will output the correct action, either turning off the led lights, or turning on the led lights.
  • Pseudocode follows: If (current time == ON_TIME): turn on led lights

Hardware

Components

ep099 pi pump led strip
EP-0099 4 Channel Relay HAT Raspberry Pi 4B 5V USB Water Pump LED Strip

Schematic

Final Design

Future Considerations

PH Sensor Ultrasonic Sensor
A PH sensor can be implemented for PH value detection and to control and monitor the needed PH value for the plants. An ultrasonic sensor can be used to detect how much water is in the reservoir and how much water is needed. This information can be used to help the user calculate the quantity of nutrients to be added to the solution.

tower_grow's People

Contributors

bardiaalavi-2020 avatar matthewalunni avatar snyk-bot 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.