Advertisement





Iklan

Blueprint Rebuild Sistem Absensi ESP32 + Laravel

 

Skema papan papan ESPDuino-32 bisa dilihat

Gambaran Umum Proyek

Tujuan utama:

  • Merebuild firmware mesin absensi berbasis ESP32.
  • Meniru arsitektur sistem lama yang sudah matang.
  • Tetap kompatibel dengan backend Laravel yang sudah dimiliki.
  • Tidak bergantung pada cloning firmware lama.
  • Membuat sistem modular dan scalable untuk banyak device.


Stack Sistem

Backend

  • Laravel 12
  • PHP 8.2
  • MySQL

Hardware Device

  • ESP32 D1 R32
  • RFID RC522
  • LCD 16x2 I2C
  • Tombol setup/reset
  • Buzzer

Fitur Existing yang Sudah Diketahui

  • RFID attendance
  • QRCode attendance
  • Multi device pairing
  • Device activation
  • Offline queue
  • Captive portal setup
  • Token activation
  • MAC validation
  • Factory reset


Arsitektur Sistem

Flow Utama

ESP32 Boot
   ↓
Cek konfigurasi tersimpan
   ↓
Belum ada config → Setup Mode
Sudah ada config → Normal Mode

Setup Mode ESP32

Trigger

Masuk setup mode:

  • tahan tombol ±5 detik

Factory reset:

  • tahan tombol >10 detik

Captive Portal

ESP32 membuat:

  • Access Point sendiri
  • Web setup internal
  • Login setup

Informasi LCD yang tampil bergantian

Screen 1

SSID: SETUP-8CE0
PASS: 1234567890

Makna:

  • ESP32 membuat WiFi AP.
  • Password AP statis.
  • SSID digenerate otomatis.

Kemungkinan source:

String apName = "SETUP-" + chipId;
WiFi.softAP(apName.c_str(), "1234567890");

Screen 2

IP: 192.168.10.1
PASS: FE8CE0

Makna:

  • IP captive portal.
  • Password login halaman setup.
  • Password kemungkinan digenerate dari chip ID/MAC.


Screen 3

SERIAL NUMBER
CA6377651238324

Makna:

  • Serial unik device.
  • Dipakai untuk aktivasi di dashboard Laravel.

Kemungkinan serial dibuat dari:

  • MAC address
  • chip ID
  • random/checksum


UI Setup Portal

Halaman yang sudah diketahui

  1. Login setup
  2. Form konfigurasi

Teknologi yang kemungkinan dipakai

  • HTML custom
  • CSS custom
  • ESPAsyncWebServer
  • LittleFS/SPIFFS

Kemungkinan struktur filesystem

/data
   index.html
   login.html
   style.css
   app.js

Konfigurasi yang Diinput User

Form setup

  • Server URL
  • SSID WiFi
  • Password WiFi
  • Timezone
  • LCD text line 1
  • LCD text line 2


Flow Aktivasi Device

Alur Aktivasi

Dashboard Laravel
   ↓
Tambah Device + Serial Number
   ↓
ESP32 connect ke server
   ↓
ESP kirim serial + MAC
   ↓
Laravel validasi
   ↓
Laravel kirim token aktivasi
   ↓
ESP simpan token
   ↓
Device ACTIVE

API yang Kemungkinan Ada

Aktivasi device

POST /api/device/activate

Payload:

{
  "serial_number":"CA6377651238324",
  "mac":"AA:BB:CC:DD",
  "firmware":"1.9.5"
}

Response:

{
  "status":"ok",
  "token":"xxxxx"
}

Sistem Anti Clone

Ditemukan pesan:

MAC MISMATCH
MAC DIPAKAI

Kesimpulan:

  • Device diikat ke MAC address.
  • 1 serial kemungkinan hanya untuk 1 ESP.
  • Clone firmware belum tentu bisa dipakai.


Offline Queue

Pesan:

OFFLINE
Queue saved

Kesimpulan:

  • Scan disimpan lokal saat internet mati.
  • Akan dikirim ulang saat koneksi kembali.

Kemungkinan storage:

  • Preferences
  • SPIFFS
  • LittleFS


Library ESP32 yang Kemungkinan Dipakai

FungsiLibrary
AP ModeWiFi.h
DNS RedirectDNSServer
Web ServerESPAsyncWebServer
HTTP APIHTTPClient
JSONArduinoJson
RFIDMFRC522
LCDLiquidCrystal_I2C
StoragePreferences / LittleFS

Kesimpulan Strategi

Pilihan 1 — Clone Firmware

Kelebihan:

  • cepat
  • device langsung identik

Kekurangan:

  • bisa gagal jika secure/encryption aktif
  • sulit maintenance
  • sulit modifikasi
  • masih tergantung firmware lama


Pilihan 2 — Rebuild Firmware (REKOMENDASI)

Kelebihan:

  • kontrol penuh sistem
  • mudah dikembangkan
  • mudah maintenance
  • scalable multi device
  • support OTA
  • bisa custom kebutuhan madrasah

Kesimpulan:
Rebuild firmware lebih realistis dan lebih powerful dibanding reverse engineering firmware lama.


Target Versi Baru

Fitur Minimal

  • RFID scan
  • Captive portal setup
  • Login setup
  • Pairing device
  • Device activation
  • Token auth
  • Offline queue
  • LCD info
  • Buzzer
  • Factory reset


Pengembangan Lanjutan

Ide fitur modern

  • OTA update
  • Dashboard monitoring device
  • QR pairing
  • Auto WiFi reconnect
  • Hybrid RFID + QR
  • Device online/offline realtime
  • RSSI monitoring
  • Multi server fallback


Posisi Saat Ini

Status:

  • Backend Laravel tersedia.
  • Database tersedia.
  • Hardware tersedia.
  • Flow aktivasi sudah dipahami.
  • Blueprint arsitektur sudah cukup jelas.
  • Rebuild firmware sangat memungkinkan.

Tahap berikutnya:

  1. Bedah struktur Laravel API.
  2. Buat endpoint aktivasi device.
  3. Buat firmware captive portal dasar.
  4. Implement login setup.
  5. Implement pairing + token.
  6. Implement RFID attendance.
  7. Tambahkan offline queue.
  8. Finalisasi UI setup.

Posting Komentar

0 Komentar