Prototipe sistem penyiraman multi-pot otomatis berbasis Internet of Things (IoT) ini dirancang untuk mengoptimalkan efisiensi kerja dan ketepatan volume air pada lahan pembibitan tanaman hortikultura. Sistem ini mengintegrasikan sensor kelembapan tanah untuk memantau kondisi media tanam secara real-time dan solenoid valve yang berfungsi mengatur distribusi air secara independen dan spesifik pada setiap pot. Terhubung dengan aplikasi mobile berbasis cloud, alat ini memungkinkan pengelola melakukan pemantauan kondisi tanah dan kontrol penyiraman dari jarak jauh, yang divalidasi melalui pengujian skala terbatas pada sampel blok tanaman cabai.
|
|
||
|---|---|---|
| .vscode | ||
| android | ||
| assets/images | ||
| ios | ||
| lib | ||
| linux | ||
| macos | ||
| railway-worker | ||
| test | ||
| web | ||
| windows | ||
| .dockerignore | ||
| .env.example | ||
| .env.template | ||
| .gitignore | ||
| .metadata | ||
| DEBUGGING_LOGS.md | ||
| Dockerfile | ||
| FLEXIBLE_SCHEDULE_GUIDE.md | ||
| README.md | ||
| SETUP_FIREBASE.md | ||
| URGENT_FIX.md | ||
| analysis_options.yaml | ||
| check-queue.js | ||
| clear-and-populate-dummy-data.js | ||
| debug.js | ||
| extract-credentials.js | ||
| firebase-example.json | ||
| firebase-structure-complete.json | ||
| firebase.json | ||
| flutter_analysis.txt | ||
| migrate-history-source.js | ||
| package.json | ||
| pubspec.lock | ||
| pubspec.yaml | ||
| railway-worker.rar | ||
| railway.json | ||
| setup-firebase-jadwal.js | ||
| setup-firebase-threshold.js | ||
| test-firebase-connection.js | ||
| test-firebase-direct.js | ||
| worker.js | ||
README.md
ApsGo - Sistem Penjadwalan Penyiraman Otomatis
Aplikasi Flutter untuk kontrol otomatis sistem penyiraman tanaman berbasis IoT dengan Firebase Realtime Database dan Railway Worker.
Status Terkini
✅ Sistem berjalan real-time dengan delay 20 detik/section ⚠️ Catatan: 1 waktu penjadwalan digunakan untuk banyak pompa sekaligus
Komponen Sistem
1. Flutter Mobile App
- Kontrol manual aktuator (pompa & mosvet)
- Penjadwalan otomatis (waktu mode)
- Monitoring sensor real-time
- History logging
2. Railway Worker (Node.js)
- Background automation 24/7
- Scheduler dengan timezone Asia/Jakarta
- Firebase SDK dengan REST API fallback
- BullMQ job queue untuk reliability
- Auto-recovery dari timeout issues
Fitur Utama
- Dual Mode: Kontrol manual + penjadwalan otomatis
- Real-time Sync: Firebase Realtime Database
- Reliable Execution: Timeout handling + REST API fallback
- History Tracking: Log semua aktivitas penyiraman
- Safety Mechanisms: Auto-shutoff jika error
Teknologi
- Frontend: Flutter (Dart)
- Backend Worker: Node.js v18+
- Database: Firebase Realtime Database
- Queue: Redis + BullMQ
- Deployment: Railway.app
- Authentication: Firebase Auth + Google Sign-In
Getting Started
Mobile App
flutter pub get
flutter run
Railway Worker
cd railway-worker
npm install
node worker.js