Skip to content

Repository files navigation

SmartBin Control (Kiosk) 🤖

Aplikasi pengendali utama (Kiosk) SmartBin yang berjalan di unit Raspberry Pi. Bertanggung jawab atas deteksi botol plastik, komunikasi IoT melalui MQTT, dan integrasi data dengan API pusat.

🌟 Fitur Utama

  • Otomatisasi IoT (MQTT): Terhubung ke EMQX Broker untuk pengiriman data setoran botol secara real-time.
  • Deteksi Botol: Logika pemrosesan untuk sensor/kamera di Raspberry Pi guna menghitung jumlah botol yang masuk.
  • Autentikasi Member di Unit: Member dapat melakukan setoran dengan memasukkan Nomor HP & PIN atau pemindaian QR Code.
  • Sinkronisasi API: Mengirimkan data setoran ke API pusat untuk penambahan poin member.
  • Manajemen Kiosk: Konfigurasi ID unit, lokasi, dan status operasional secara dinamis dari database.
  • Antarmuka Pengguna (UI): Tampilan yang dioptimalkan untuk layar sentuh unit kiosk.

🚀 Instalasi

  1. Prasyarat:

    • Flutter SDK (Desktop/Linux support enabled)
    • Raspberry Pi dengan OS pendukung (Debian/Ubuntu)
    • Akses internet untuk MQTT & API
  2. Kloning Repositori:

    git clone <repository-url>
  3. Instal Dependensi:

    flutter pub get
  4. Konfigurasi Lingkungan: Buka lib/core/config.dart dan sesuaikan pengaturan MQTT & API:

    const String MQTT_BROKER = "g4f48271.ala.asia-southeast1.emqxsl.com";
    const int MQTT_PORT = 8883;
    const String API_BASE_URL = "https://smartbin.umediatama.com/api/v1";
  5. Jalankan Aplikasi:

    flutter run -d linux

📡 Konfigurasi MQTT (EMQX)

Aplikasi ini menggunakan EMQX Cloud sebagai broker pesan:

  • Username: smartbin
  • Topic: smartbin/deposit
  • Port: 8883 (SSL/TLS)

🛠️ Tech Stack

  • Framework: Flutter (Desktop/Embedded)
  • Messaging: MQTT Client
  • Networking: Dio
  • Storage: Shared Preferences
  • Icons: Lucide Icons

📖 Alur Kerja Sistem (Data Pipeline)

Sistem beroperasi dengan alur komunikasi data terintegrasi sebagai berikut:

  1. Raspberry Pi (Hardware): Mendeteksi botol plastik yang masuk melalui sensor/kamera dan mengirimkan sinyal informasi jumlah botol.
  2. MQTT Broker (EMQX): Menerima data dari Raspberry Pi sebagai perantara pesan (Messaging Broker) secara real-time.
  3. Control Smartbin App (Subscriber): Aplikasi Flutter ini berlangganan (subscribe) ke topik MQTT, menerima data botol, dan memprosesnya untuk ditampilkan di layar.
  4. Sentral API (Finalisasi): Setelah data divalidasi di aplikasi, Control Smartbin mengirimkan data transaksi tersebut ke API Pusat untuk memperbarui saldo poin member secara permanen.

© 2024 SmartBin Engineering - IoT Division

About

aplikasi control smartbin bank sampah (kios)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages