Giter Site home page Giter Site logo

sascha-kirch / aquapi Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 1.0 7.65 MB

AquaPi is a plant watering project using a Raspberry Pi and an Arduino Uno. The Raspberry Pi is the master device. It processes the user's input via a XBox controller, it shows a menu on the LCD display, it manages the Arduino and its connected sensors and it hosts and updates a database and a web interface. The arduino controlls the sensors and the actuators and communicates via USB with the RaspberryPi

License: MIT License

Python 59.20% PHP 24.72% Hack 4.13% CSS 2.85% C++ 9.10%
raspberry-pi arduino xbox-controller wattering 3d-printing laser-cutting webserver database humidity-sensor temperature-sensor google-charts apache2 mariadb-database

aquapi's Introduction

AquaPi

AquaPi is a plant watering project using a Raspberry Pi and an Arduino Uno. The Raspberry Pi is the master device. It processes the user's input via a XBox controller, it shows a menu on the LCD display, it manages the Arduino and its connected sensors and it hosts and updates a database and a web interface. The arduino controlls the sensors and the actuators and communicates via USB with the RaspberryPi

Hardware

Electronics

The schemetic of the electronics is shown in the image bellow:

The table below shows an image of the components used for this project.

Component Details Image Model
Temperature and Humidity Sensor DHT11, 16bit
Water level sensor Capacitive sensor
Soil moisture sensor Capacitive sensor
Water pump 3V and 5V, 100 liters per hour
Relay -
Display HD44780 1602 LCD Module

Mechanics

Some of the mechanical components are crafted using CO2 laser cutter and 3D printer. The models are designed in Tinkercad and the links are provided in the table bellow:

Component Crafted with Tinkercad Link Image Model
Cover Plate CO2 Laser cutter https://www.tinkercad.com/things/ephjkj1Kwn3
Water tank 3D Printer https://www.tinkercad.com/things/as097kxnf2B
Hose holder 3D Printer https://www.tinkercad.com/things/him38nNyUkI
Display Frame 3D Printer https://www.tinkercad.com/things/j6xcOHT7CJA

Software

Database and Webinterface

A database is used to store information gathered by the sensors, to register one or more AquaPi setups and to store when the plant was watered. The following tools are used:

Component Used Tool / Package Installation commadn
Webserver Apache2 sudo apt install apache2 -y
PHP php 7.3 sudo apt install php7.3 php7.3-mbstring php7.3-mysql php7.3-curl php7.3-gd php7.3-zip -y
Database MariaDB 10 sudo apt-get install mariadb-client mariadb-server
Database Management PHPMyAdmin sudo apt-get install phpmyadmin

A webinterface is provided, to retrive the content of the database and to provide help. The design is responsive and can be used on the smartphone as well (only workes on Android, due to the API used for graphical representation)

Desktop view AquaPi webinterface:

Smartphone view AquaPi webinterface:

Repo Stats

since 16.04.2022

aquapi's People

Contributors

sascha-kirch avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

adeledavid91

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.