Skip to content

Just a group project providing a cheap and versatile feeding system, in order to allow fish tank's owners to take care of their pets while abroad. 🐠🐟🐠

Notifications You must be signed in to change notification settings

marb08/FeedTheReef

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

76 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Abstract

Feed The Reef is a group project developed during the Pervasive Systems course at "La Sapienza" University of Rome. The idea is to build an IoT environment in order to realize a smart fish tank. The goal of the project is to provide a cheap and versatile feeding system, in order to allow fish tank's owners to take care of their pets while abroad, during holidays or during busy work days. The main advantage of our solution, compared to the existing services on the market, is the possibility to access the sensors through a web interface, being able to interact with the fish tank whenever the user wants; moreover, is a cheap and versatile solution that can be easily implemented to interact also with other types of feeding environments (e.g. dogs, cats, birds, etc.).

-Update Extra work on the project is in progress in order to increase its adaptability by taking advantage of the LoRa technology.

How does it work?

The project is conceptually divided into three parts:

  • The frontend layer that presents the actual status of the environment through a web interface and allows the user to interact with the system
  • The middle layer, realised with a Python server continuously running on the Raspberry Pi 3, which elaborates all the information available from both the high and lower levels
  • The low layer, realised entirely on the Nucleo STM32 board, that collects all information retrived from sensors and executes the commands received from the middle layer (e.g. status of the enviroment, feed the fishes, temperature value, etc.).

-Update The the low layer is now able to remotely communicate with the middle layer through LoRa technology. This update permits to increase the number of low-level devices connected to the middle layer and freely move them in the environment.

Architecture

Brief description

The user is able to connect to the web interface from his own laptop or mobile device. The information are visible through an Apache Web server supported by a PHP-fpm interpreter, which communicates directly with the backend: a Python Web server running on the Raspberry Pi 3. Moreover, the Raspberry is connected through a Serial Peripheral Interface (SPI) to the Nucleo STM32-F401 board, which sends commands towards different sensors, depending on the action that the user wants to accomplish.

-Update The "Nucleo STM32-F401" board has been changed with two "B-L072Z-LRWAN1" in order to implement the LoRa technology and remove the USB cable between the previous board and the Raspberry Pi 3. One Lora board implements the low layer, the other one instead is connected to the Raspbery Pi 3 in order to send commands and receive the gathered data. The communication is encrypted through symmetric encryption technology, the well known AES algorithm. Still, some work is going on for completing the porting. In particular, the compatibility with the temperature sensor DS1820 not recognized by the "B-L072Z-LRWAN1" board. Help me on this issue on the official MBED forum.

Web Interface

This is the simple web interface through which the user is able to send commands remotely to the system and receive back a live streaming from the webcam.

-Update The project now includes the Grafana platform for viewing and monitor, through plots, the data recorded by the system. The Grafana server is installed and runs on the Raspberry Pi 3 and, it is connected to the Postgresql DBMS.

Hardware

  • Raspberry Pi 3
  • Nucleo STM32-F401
  • Analog PH Sensor
  • Analog Temperature Sensor
  • Led lights
  • Webcam

-Update

  • B-L072Z-LRWAN1

Technologies used

  • ARM Mbed OS
  • Python
  • Apache
  • PHP
  • PostgreSQL
  • Bash scripting

-Update

  • Grafana

Future features

We designed a Blender model for the screw and the tank containing the food, beacuse the current one is really coarse handmade.

Demo

Demo - YouTube

Code

-Update

Contact our project members

Linkedin:

Check out our project presentation

SlideShare:

Merchandising

About

Just a group project providing a cheap and versatile feeding system, in order to allow fish tank's owners to take care of their pets while abroad. 🐠🐟🐠

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published