Code Monkey home page Code Monkey logo

smart-gardening's Introduction

Smart-Gardening

A Smart Solution to your Gardening Problems

The technology which could make our life prosper within the walls could also help to create our own corner of nature nourish. In this project, a smart gardening system has been proposed that utilizes the concept of the Internet of Things (IoT). The main objective of this project is to optimize water usage during gardening and remotely maintain the garden.

In this system, important information related to the plant, like, temperature, relative humidity, and the soil moisture is continuously recorded in a cloud-based Database. Artificial Intelligence (AI) based planning is done in regular intervals for watering the plants and provide adequate lighting in the garden area for aesthetics.

The real-time sensor status can be directly monitored and controlled by the end-users of the garden through his or her smartphone using Telegram application. A plant recognition model has been introduced in this system, where a Convolutional Neural Network (CNN) based deep-learning algorithm classifes the plant categories. Moreover, this model also informs the end user about the health of the plant.


Architecture of the Smart-Gardening System:

Architecture


Paper:

Please see the detailed report from here and cite the work for future use.


Guidelines:

  1. AI PLAN contains all the Domain and Problem files for the AI Planning.

smartGarden_domain.pddl, smartGarden_problem - The domain and sample problem file to automate watering of multiple plants.

smartGardenlighting_domain.pddl, smartGardenlighting_problem - The domain and sample problem file to turn on/off lamp in the garden area based on present luminance level.


  1. CONTROLLER contains all the .py files for controlling the Telegram bot and automating the AI planning problems.

telegramapp.py, iotcontrol.py - These files controls the telegram bot.

lampplanner.py, waterplanner.py- automates the optimum usage of water and light(generates problem files and execute the planner).

water.py, lamp.py- handles the output of the planner turn on/off the plugwise connected to motor/lamp

publish.py- publish to cloudmqtt broker

subscribe.py-subscribe to cloudmqtt broker

storeindb.py-store the subscribed data in the AWS RDS for monitoring and planning purpose.


  1. DL MODEL contains all the files related to training the model for plant identification and health info.

cnn.py- This script is used for training a CNN-based Machine Learning Model and the model can be saved as .h5 file PlantIdentification.py - This script is used for predicting the plant name and health status using the deployed ML model. The model can be downloaded from here


PLEASE NOTE:

  1. Install all the necessary packages mentioned in the respective script.

  2. The folder structures shown here were not maintained during the project. These are shown here for better understanding about the code. After cloning the repo, please paste all the files in a common folder.

smart-gardening's People

Contributors

niloy-chakraborty 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.