The Fish Feeder project automates the feeding of pet fish, solving common problems such as irregular feeding schedules and the need for remote management. This project integrates hardware and software components to ensure reliable and consistent feeding.
The Fish Feeder system is composed of the following components:
- NodeMCU ESP8266 Microcontroller: Controls the hardware and communicates with the server.
- SG90 Servo Motor: Dispenses fish food.
- OLED Display: Provides local status updates.
- Membrane Switch Keypad: Allows manual interaction with the system.
The software stack includes:
- Node.js Server: Manages feeding schedules and communicates with the microcontroller.
- React Native Mobile App: Allows users to set schedules, initiate feeds, and monitor feeding history.
- Firebase: Ensures real-time data synchronization and notifications.
- HiveMQTT Broker: Facilitates real-time communication.
- Flexible Feeding Schedules
- Manual Feeding
- Feeding History Monitoring
- Real-Time Notifications
FishFeeder/
├── FishFeeder-App/
│ └── (React Native mobile app code)
├── NodeMCU-Code/
│ └── (ESP8266 code)
├── server/
│ └── (Express.js server code)
└── docs/
- Node.js
- React Native CLI
- Firebase account
- HiveMQTT account
- Arduino IDE (for NodeMCU programming)
-
Clone the Repository
git clone https://github.com/yourusername/FishFeeder.git cd FishFeeder -
Install Server Dependencies
cd server npm install -
Setup Firebase
- Create a Firebase project and add your configuration to the server and mobile app.
-
Install Mobile App Dependencies
cd ../FishFeeder-App npm install -
Upload Code to NodeMCU
- Open
NodeMCU-Codein Arduino IDE. - Upload the code to your ESP8266.
- Open
-
Start the Server
cd server npm start -
Run the Mobile App
cd ../FishFeeder-App npx react-native run-android # For Android npx react-native run-ios # For iOS
-
Interact with the System
- Use the mobile app to set feeding schedules and initiate manual feeds.
- Monitor feeding history and receive notifications.
Detailed documentation, including the project report and presentation, can be found in the docs folder.
Contributions are welcome! Please submit a pull request or open an issue for any improvements or suggestions.
This project is licensed under the MIT License. See the LICENSE file for details.
We would like to thank our instructors and peers for their support and guidance throughout this project.
Feel free to explore the repository and contribute to the project. Happy feeding!
