Panduan lengkap dari hardware, fingerprint, ESP8266, database, API hingga dashboard absensi
Ringkasan: Pada tutorial ini kita akan membangun sistem absensi fingerprint menggunakan sensor AS608 dan ESP8266 (NodeMCU). Data absensi akan diproses oleh ESP8266, dikirim melalui jaringan WiFi ke server CodeIgniter 4, lalu disimpan ke database MySQL untuk ditampilkan pada dashboard.
Daftar Isi
1. Gambaran Sistem2. Komponen yang Digunakan
3. Diagram Blok Sistem
4. Skema Wiring
5. Cara Kerja Sistem
6. Flowchart Sistem
7. Database MySQL
8. API CodeIgniter 4
9. Program ESP8266
10. Dashboard Absensi
11. Pengujian
12. Pengembangan Selanjutnya
1. Gambaran Sistem Absensi
Sistem ini dibuat untuk mencatat kehadiran menggunakan sidik jari. Sensor AS608 digunakan untuk membaca dan memverifikasi sidik jari, sedangkan ESP8266 bertugas sebagai pengendali utama sekaligus penghubung ke server melalui WiFi.
Setelah sidik jari berhasil diverifikasi, ESP8266 mengambil waktu dari RTC DS3231 dan mengirim data seperti ID fingerprint, identitas pengguna, tanggal, jam dan status absensi ke server CodeIgniter 4 melalui API.
2. Komponen yang Digunakan
| No | Komponen | Jumlah | Fungsi |
|---|---|---|---|
| 1 | ESP8266 NodeMCU | 1 | Mikrokontroler dan koneksi WiFi |
| 2 | AS608 Fingerprint Sensor | 1 | Membaca dan memverifikasi sidik jari |
| 3 | LCD 16x2/20x4 I2C | 1 | Menampilkan informasi absensi |
| 4 | RTC DS3231 | 1 | Menyediakan waktu real-time |
| 5 | Buzzer aktif | 1 | Indikator suara |
| 6 | LED + resistor | 2 | Indikator berhasil/gagal |
| 7 | Adaptor 5V | 1 | Catu daya |
| 8 | Kabel jumper | Secukupnya | Penghubung rangkaian |
3. Diagram Blok Sistem
Alur utama sistem adalah:
AS608 Fingerprint
|
v
ESP8266 / NodeMCU
| | |
| | +--> LCD
| +----------> RTC DS3231
| +----------> Buzzer / LED
|
+---- WiFi ----> API CodeIgniter 4 ----> MySQL
|
v
Dashboard Absensi
4. Skema Wiring
Contoh koneksi yang digunakan pada proyek ini:
| Modul | Pin Modul | ESP8266 NodeMCU |
|---|---|---|
| AS608 | RX | D5 |
| AS608 | TX | D6 |
| AS608 | VCC | VIN/5V sesuai modul dan spesifikasi |
| AS608 | GND | GND |
| LCD I2C | SDA | D2 |
| LCD I2C | SCL | D1 |
| RTC DS3231 | SDA | D2 |
| RTC DS3231 | SCL | D1 |
| RTC DS3231 | VCC/GND | 3.3V/GND sesuai modul |
Catatan: Tegangan catu dan level logika harus mengikuti datasheet/modul yang digunakan. Jangan menganggap semua breakout AS608 identik. Pastikan jalur RX/TX dan catu daya benar sebelum menyalakan rangkaian.
5. Cara Kerja Sistem
1. ESP8266 melakukan inisialisasi sensor fingerprint, RTC, LCD dan koneksi WiFi.2. Pengguna menempelkan jari pada sensor AS608.
3. AS608 mencari kecocokan fingerprint yang sudah terdaftar.
4. Jika cocok, ESP8266 memperoleh ID fingerprint.
5. ESP8266 membaca waktu dari RTC DS3231.
6. Data absensi dikirim ke API CodeIgniter 4 melalui WiFi.
7. Server memvalidasi perangkat dan data yang diterima.
8. Data disimpan ke database MySQL.
9. Dashboard dapat menampilkan data absensi secara realtime/berkala.
10. Jika verifikasi gagal, sistem dapat memberikan bunyi buzzer dan indikator LED merah.
6. Flowchart Sistem
START | v Inisialisasi ESP8266 | v Inisialisasi AS608, RTC, LCD | v Hubungkan WiFi | v Menunggu sidik jari | v Verifikasi fingerprint | +---- Gagal ----> Buzzer / LED merah | Berhasil | v Ambil ID Finger + waktu | v Kirim data ke API | v Simpan ke MySQL | v Tampilkan hasil pada LCD | v END / kembali menunggu
7. Database MySQL
Untuk tahap awal, database dapat dipisahkan menjadi tabel perangkat, pengguna fingerprint dan log absensi. Contoh struktur log absensi:
| Field | Contoh | Keterangan |
|---|---|---|
| id | 1 | ID data |
| device_id | 1 | Perangkat yang melakukan absensi |
| idfinger | 25 | ID fingerprint dari AS608 |
| tanggal | 2026-08-31 | Tanggal absensi |
| jam | 07:30:15 | Waktu absensi |
| status | masuk | Status kehadiran |
| created_at | 2026-08-31 07:30:15 | Waktu pencatatan server |
8. API CodeIgniter 4
ESP8266 tidak perlu mengakses database secara langsung. Arsitektur yang lebih aman adalah ESP8266 mengirim data ke endpoint API CodeIgniter 4, kemudian server melakukan validasi dan menyimpan data ke MySQL.
Contoh alur:
ESP8266 | | POST data absensi v CodeIgniter 4 API | | validasi device + data v MySQL | v Response JSON | v ESP8266
9. Program ESP8266
Program firmware nantinya menangani beberapa fungsi utama: koneksi WiFi, komunikasi serial dengan AS608, pembacaan RTC, LCD, buzzer/LED, pengiriman HTTP request dan penanganan kondisi offline.
Pada tahap lanjutan, kita juga dapat menambahkan antrean absensi offline sehingga data tetap tersimpan sementara ketika internet terputus dan dikirim kembali saat koneksi tersedia.
10. Dashboard Absensi
Dashboard CodeIgniter 4 dapat menampilkan:
- Jumlah pegawai hadir.
- Daftar absensi hari ini.
- Jam masuk dan pulang.
- Data fingerprint.
- Status perangkat online/offline.
- Log perangkat.
- Riwayat absensi.
- Laporan berdasarkan tanggal.
11. Pengujian
Pengujian sebaiknya dilakukan bertahap, mulai dari hardware sampai server.
1. Pastikan ESP8266 menyala normal.2. Uji komunikasi AS608.
3. Uji pendaftaran fingerprint.
4. Uji verifikasi fingerprint.
5. Uji RTC dan waktu.
6. Uji LCD, buzzer dan LED.
7. Uji koneksi WiFi.
8. Uji API CodeIgniter 4.
9. Pastikan data masuk ke MySQL.
10. Pastikan data tampil pada dashboard.
12. Pengembangan Selanjutnya
Setelah sistem dasar berhasil, proyek dapat dikembangkan menjadi sistem absensi multi-device. Setiap ESP8266 memiliki kode perangkat dan API key sendiri sehingga server dapat mengetahui perangkat mana yang mengirim data.
Fitur berikutnya dapat meliputi heartbeat device, status online/offline, device log, absensi offline, sinkronisasi otomatis, pengelolaan fingerprint, laporan PDF/Excel dan notifikasi Telegram.
Kesimpulan
ESP8266 dan AS608 dapat digunakan sebagai dasar sistem absensi fingerprint yang terhubung ke server. Dengan CodeIgniter 4 sebagai backend dan MySQL sebagai database, sistem dapat dikembangkan dari satu mesin menjadi sistem absensi multi-device.
Artikel ini merupakan bagian pertama dari seri pembuatan sistem absensi. Pada artikel berikutnya kita akan masuk ke tahap yang lebih teknis, mulai dari pembuatan database, API CodeIgniter 4, firmware ESP8266, hingga dashboard.


Tidak ada komentar:
Posting Komentar