JobinBiju/Home-Fi
Home Automation App mit Flutter, Adafruit IO und Esp32-Entwicklungsboard.
- Stars
- 173
- Forks
- 66
- Letzter Push (UTC)
- 05.11.2024
- Projektstatus
- Aktiv
SprachenDartC++SwiftKotlinObjective-C
Technische Themen
Verwendete Abhängigkeiten
Abhängigkeiten 13 Einträge
- flutter
{"sdk":"flutter"} - cupertino_icons
^1.0.3 - flutter_circle_color_picker
^0.3.0 - flutter_dotenv
^5.0.0 - flutter_svg
^0.22.0 - font_awesome_flutter
^9.1.0 - get
^4.1.4 - get_storage
^2.0.2 - google_fonts
^2.1.0 - http
^0.13.3 - lottie
^1.0.1 - mqtt_client
^9.3.1 - flutter_testEntwicklung
{"sdk":"flutter"}
Ranglisten
Original-README
Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.
Projekt-README ein-/ausklappen
Home-Fi: Smart Home Automation System
Home-Fi Logo
A modern home automation solution combining Flutter's beautiful UI with ESP32's powerful capabilities and Adafruit IO's reliable cloud infrastructure.
✨ Features
- 🏠 Control multiple home appliances remotely
- 💡 RGB light control with color picker
- 📊 Real-time device status monitoring
- 🌡️ Temperature and humidity sensing
- 🔐 Secure communication with Adafruit IO
- 📱 Beautiful, responsive Flutter UI
- ⚡ Low-latency ESP32 control
🎯 System Architecture
Mobile App (Flutter) <-> Adafruit IO Cloud <-> ESP32 Device <-> Home Appliances
- Flutter App: Handles user interface and cloud communication
- Adafruit IO: Manages device state and real-time data
- ESP32: Controls physical devices and sensors
🚀 Getting Started
Prerequisites
- Flutter SDK (2.0 or higher)
- Arduino IDE
- ESP32 Development Board
- Adafruit IO Account
- Basic electronic components (relays, RGB LED, sensors)
Installation
-
Clone the repository
git clone https://github.com/yourusername/home-fi.git cd home-fi -
Set up Flutter app
flutter pub get -
Configure Adafruit IO
- Create an Adafruit IO account
- Set up required feeds (switches, RGB values, sensor data)
- Copy your AIO Key
-
ESP32 Setup
- Install required libraries in Arduino IDE
- Update credentials in ESP32 code
#define IO_USERNAME "your_username" #define IO_KEY "your_aio_key" -
Run the app
flutter run
📱 User Interface
| Splash Screen | Dashboard | RGB Control |
| Splash Screen | Dashboard | RGB Control |
🛠️ Hardware Setup
Components Required
- ESP32 Development Board
- Relay Module (for appliance control)
- RGB LED Strip
- DHT11/DHT22 Sensor (optional)
- Power Supply
- Connecting Wires
📡 Communication Protocol
The system uses MQTT protocol for communication:
- Topics: Organized by device type (switches/rgb/sensors)
- Message Format: JSON payloads for complex data
- Update Frequency: Real-time for switches, 1s for sensor data
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Flutter team for the amazing framework
- Adafruit for their reliable IoT platform
- ESP32 community for their extensive documentation