The Smart Garbage Detection System is designed to improve waste management efficiency using Artificial Intelligence and IoT. It detects garbage, tracks waste collection, and ensures timely cleaning via a mobile application integrated with smart dustbins.
- AI-based garbage detection
- Mobile application with user, cleaner, and admin roles
- Smart dustbin tracking with real-time data
- Incentivized user participation
- Efficient waste management monitoring
The mobile application is categorized into three sections:
- User Section: Users can upload pictures of garbage locations.
- Cleaner Section: Cleaners receive assigned locations and confirm clean-up with images.
- Admin Section: Admins monitor and analyze waste collection activities.
Smart dustbins are equipped with IoT sensors that:
- Measure and report fill levels in real-time.
- Send data to the mobile application for optimized cleaning routes.
- Built with Node.js, Express.js, and MongoDB.
- Manages user authentication, image uploads, and smart dustbin tracking.
- Frontend: Flutter
- Backend: Node.js, Express.js, MongoDB
- Hardware: ESP8266 NodeMCU, Ultrasonic sensors, Wi-Fi module
- AI/ML: Garbage detection model for verifying image content
Ensure you have the following installed:
- Node.js
- MongoDB
- Flutter
- Arduino IDE (for ESP8266 programming)
- Clone the repository:
git clone https://github.com/your-repo/smart-garbage-detection.git cd smart-garbage-detection - Install backend dependencies:
cd backend npm install npm start - Setup MongoDB:
- Start MongoDB service and configure the database.
- Run the Flutter app:
cd frontend flutter pub get flutter run - Deploy smart dustbin hardware:
- Upload the ESP8266 NodeMCU code.
- Connect the IoT sensors to the database.
- Users capture and upload images of garbage locations.
- Cleaners access assigned areas and upload clean-up confirmation images.
- Admins oversee operations and generate performance reports.
- Smart dustbins update their fill levels in real-time for optimized collection.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name - Commit changes:
git commit -m "Add new feature" - Push to the branch:
git push origin feature-name - Open a pull request.