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
The schemetic of the electronics is shown in the image bellow:
The table below shows an image of the components used for this project.
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 |
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: