v2.1.0 #4
zulfikriyahya
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Sistem Presensi RFID dengan Manajemen Antrean (Queue System) Berbasis ESP32-C3
Deskripsi Proyek
Sistem ini adalah perangkat presensi kehadiran berbasis IoT yang dirancang untuk lingkungan dengan konektivitas intermiten. Versi 2.1.0 memperkenalkan arsitektur penyimpanan Sistem Antrean Berbasis Berkas (File-based Queue System).
Pembaruan ini mengatasi keterbatasan memori (RAM) pada mikrokontroler ESP32-C3 saat menangani data offline dalam jumlah besar. Alih-alih menyimpan ribuan data dalam satu berkas CSV besar yang membebani buffer, sistem memecah data menjadi beberapa berkas antrean kecil yang diproses secara berurutan.
Fitur Utama (Versi 2.1.0)
1. Arsitektur Antrean Terdistribusi
/queue_0.csv,/queue_1.csv, dst).2. Manajemen Sinkronisasi Efisien
.csv) hanya dihapus dari SD Card setelah server memberikan respon sukses (HTTP 200), menjamin integritas data (transaksi atomik).3. Pencegahan Redundansi
Spesifikasi Perangkat Keras dan Pinout
Sistem menggunakan bus SPI bersama (shared SPI bus) untuk modul RFID dan SD Card. Manajemen perangkat dilakukan melalui pin Chip Select (CS) yang berbeda.
Prasyarat Perangkat Lunak
Pastikan pustaka berikut terinstal pada lingkungan pengembangan:
Konfigurasi Parameter Antrean
Parameter berikut dalam kode sumber mengontrol perilaku sistem antrean:
Mekanisme Operasional
1. Logika Penyimpanan (Write)
queue_N.csvsaat ini memiliki jumlah baris <MAX_RECORDS_PER_FILE.N+1) dan membuat berkas baru.MAX_QUEUE_FILES, sistem kembali ke indeks 0 (mekanisme overwrite sirkular, namun dalam praktik normal data lama sudah tersinkronisasi dan terhapus).2. Logika Sinkronisasi (Read/Upload)
queue_0.csvhinggaqueue_99.csv.sync-bulk.200 OK, berkas tersebut dihapus dari SD Card.Spesifikasi API Backend
Endpoint Sinkronisasi Massal (Bulk Sync)
Sistem menggunakan endpoint ini untuk mengirimkan satu batch (maksimal 50 data) sekaligus.
/api/presensi/sync-bulkPOSTContent-Type: application/json,X-API-KEY: [Token]{ "data": [ { "rfid": "1234567890", "timestamp": "2025-12-07 08:00:01", "device_id": "ESP32_A1B2", "sync_mode": true }, ... (hingga 50 objek) ] }Struktur Penyimpanan File
Pada SD Card, struktur berkas akan terlihat sebagai berikut saat mode offline aktif:
Setiap berkas CSV memiliki header:
rfid,timestamp,device_id,unix_time.Riwayat Versi
Lisensi
Hak Cipta © 2025. Perangkat lunak ini dikembangkan untuk penggunaan internal dan tujuan edukasi. Distribusi ulang diizinkan dengan menyertakan atribusi penulis.
This discussion was created from the release v2.1.0.
All reactions