https://github.com/rnasterofmysea/Smart_Fishbowl

The Smart Fishbowl project aims to automate and monitor aquarium maintenance using a combination of hardware and software components. It integrates systems for water temperature management, feeding, and filtration, all controlled via a web interface.
Key Components:
- Water Temperature Management System:
- Functionality: Allows users to set and monitor the aquarium's water temperature through a web application.
- Process:
- User inputs desired temperature via the web interface.
- Arduino compares the set temperature with the current reading.
- Adjustments are made using a servo motor to control the heater.
- Current temperature data is sent to a Raspberry Pi 4 for monitoring.
- Hardware: Arduino, temperature sensor, servo motor, Raspberry Pi 4.
- Feeding System:
- Functionality: Automates fish feeding based on user commands from the web application.
- Process:
- User initiates feeding via the web interface.
- Arduino activates a servo motor to dispense food.
- Completion status is sent to the Raspberry Pi 4.
- Hardware: Arduino, servo motor, Raspberry Pi 4.
- Filtering System:
- Functionality: Manages the aquarium's filtration process, ensuring water quality.
- Process:
- User controls filtration settings through the web interface.
- Arduino operates the filtration mechanism accordingly.
- System status is communicated to the Raspberry Pi 4.
- Hardware: Arduino, filtration hardware, Raspberry Pi 4.
Software Components:
- Backend: Developed using FastAPI to handle RESTful API requests between the web interface and hardware components.
- Frontend: Built with React.js to provide a user-friendly interface for monitoring and controlling the aquarium systems.
System Workflow:
- User interacts with the web application to set parameters or initiate actions.
- The web application sends requests to the FastAPI backend.
- FastAPI processes the requests and communicates with the Arduino via serial communication.
- Arduino performs the necessary actions (e.g., adjusting temperature, feeding) and sends status updates to the Raspberry Pi 4.
- Raspberry Pi 4 updates the web application with the current status for user monitoring.
This integrated approach ensures efficient and user-friendly management of aquarium maintenance tasks, enhancing the overall health and well-being of the aquatic environment.