https://github.com/jobinbiju/home-fi
Home Automation App using Flutter, Adafruit IO & Esp32 dev board.
https://github.com/jobinbiju/home-fi
adafruit-io esp32 flutter flutter-apps getx home-automation iot iot-application iot-project iot-projects null-safety rest-api
Last synced: 6 months ago
JSON representation
Home Automation App using Flutter, Adafruit IO & Esp32 dev board.
- Host: GitHub
- URL: https://github.com/jobinbiju/home-fi
- Owner: JobinBiju
- License: mit
- Created: 2021-04-29T03:14:10.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-11-05T06:37:08.000Z (about 1 year ago)
- Last Synced: 2025-05-18T08:09:35.442Z (6 months ago)
- Topics: adafruit-io, esp32, flutter, flutter-apps, getx, home-automation, iot, iot-application, iot-project, iot-projects, null-safety, rest-api
- Language: Dart
- Homepage:
- Size: 4.46 MB
- Stars: 152
- Watchers: 6
- Forks: 55
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Home-Fi: Smart Home Automation System
[](https://flutter.dev/)
[](https://www.espressif.com/)
[](https://io.adafruit.com/)
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
1. **Clone the repository**
```bash
git clone https://github.com/yourusername/home-fi.git
cd home-fi
```
2. **Set up Flutter app**
```bash
flutter pub get
```
3. **Configure Adafruit IO**
- Create an Adafruit IO account
- Set up required feeds (switches, RGB values, sensor data)
- Copy your AIO Key
4. **ESP32 Setup**
- Install required libraries in Arduino IDE
- Update credentials in ESP32 code
```cpp
#define IO_USERNAME "your_username"
#define IO_KEY "your_aio_key"
```
5. **Run the app**
```bash
flutter run
```
## 📱 User Interface
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.
1. Fork the project
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## 📝 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## 🙏 Acknowledgments
- Flutter team for the amazing framework
- Adafruit for their reliable IoT platform
- ESP32 community for their extensive documentation
## ☕ Support