Lewati ke isi

Sentra Membership — Gate & RFID Access Control Module

Overview

Modul Gate & RFID mengendalikan akses fisik ke area gym/studio melalui integrasi MQTT broker antara cloud backend dan edge gateway Raspberry Pi. Mendukung verifikasi via Face Recognition, kartu RFID/NFC, dan QR dinamis.

11.1 Physical Gate Authentication Flowchart

graph TD
    A[Member Scan Wajah / Kartu RFID di Gate] --> B[Kamera Capture & Kirim ke Local Face Engine]
    B --> C[Local Database Cache: Cari Kecocokan Vector Hash]
    C --> D{Apakah Kecocokan > 95%?}
    D -- Tidak --> E[Tolak Masuk & Picu Peringatan Kasir]
    D -- Ya --> F[Verifikasi Status Keanggotaan Aktif]
    F --> G{Status Aktif & Valid?}
    G -- Tidak --> H[Tolak Masuk: Layar Tampilkan Membership Expired]
    G -- Ya --> I[Cek Aturan Anti-Passback]
    I --> J{Apakah Status Akses Valid?}
    J -- Tidak / Double IN --> K[Tolak Masuk: Layar Tampilkan Double Scan Error]
    J -- Ya --> L[Edge Kirim Sinyal Relay Buka Turnstile Gate via MQTT]
    L --> M[Catat Status IN di database lokal & sinkronisasikan ke AWS Cloud]

Anti-Passback (APB) Rule

Anti-Passback adalah mekanisme keamanan yang mencegah satu kartu RFID / wajah digunakan masuk 2x berturut-turut tanpa keluar terlebih dahulu. Aturan ini:

  • Memblokir celah sharing membership — member A masuk, lempar kartu ke luar agar member B masuk dengan kartu sama.
  • Berlaku cross-branch: jika member terakhir tercatat IN di cabang Jaksel, tidak bisa langsung IN lagi di cabang Jakpus dalam selang waktu singkat.
  • Status akses disimpan di tabel gate_logs (access_type: IN | OUT).
  • Sistem memeriksa entri terbaru di gate_logs per member. Jika status terakhir adalah IN, request IN berikutnya langsung ditolak dengan kode ANTI_PASSBACK_VIOLATION.

MQTT Integration Detail

Komponen Role
Cloud Backend (Go) MQTT Publisher — kirim MQTT_CMD_OPEN_GATE_01 ke broker
Mosquitto Broker (Raspberry Pi) MQTT Broker lokal, subscriber untuk sinyal gate
Edge Daemon (Go) MQTT Subscriber — terjemahkan message ke sinyal relay fisik
Relay Board Kontroller hardware turnstile gate

Koneksi cloud → edge menggunakan Secure MQTT over WebSockets TLS 1.3.

11.2 Biometric Privacy Implementation (UU PDP Compliant)

  1. Gambar wajah ditangkap kamera lokal.
  2. Ekstraksi wajah lokal menghasilkan 128-dimensi koordinat vektor wajah.
  3. Vektor diubah menjadi string hash terenkripsi AES-256 menggunakan salt internal.
  4. Foto fisik mentah langsung dihapus dari RAM gerbang lokal dalam waktu < 2 detik setelah ekstraksi. Hanya string hash terenkripsi yang disimpan di database pusat.

Offline Access Cache

Gateway lokal men-cache data biometrik hash member aktif 24 jam terakhir secara lokal di SQLite terenkripsi. Jika internet cabang terputus total, verifikasi wajah tetap berjalan menggunakan data lokal — turnstile tetap dapat dibuka tanpa bergantung cloud.