Setelah pada artikel sebelumnya kita membahas cara menghubungkan sensor fingerprint AS608 dengan ESP8266 NodeMCU, sekarang kita masuk ke tahap berikutnya yaitu mendaftarkan sidik jari ke sensor AS608.
Proses ini sangat penting karena sebelum digunakan untuk absensi, sidik jari pengguna harus terlebih dahulu disimpan ke dalam memori sensor fingerprint.
Pada tutorial ini kita akan membuat proses enrollment sederhana:
Masukkan ID Fingerprint
↓
Scan sidik jari pertama
↓
Angkat jari
↓
Scan sidik jari kedua
↓
Buat template fingerprint
↓
Simpan ke AS608
Setelah berhasil, fingerprint tersebut dapat digunakan untuk proses verifikasi pada sistem absensi.
Daftar Isi
1. Apa Itu Enrollment Fingerprint?2. Persiapan Hardware
3. Wiring AS608 ke ESP8266
4. Cara Kerja Enrollment
5. Program ESP8266
6. Cara Upload Program
7. Proses Pendaftaran Fingerprint
8. Pengujian Fingerprint
9. Masalah yang Sering Terjadi
10. Kesimpulan
11. Artikel Selanjutnya
1. Apa Itu Enrollment Fingerprint?
Enrollment adalah proses mendaftarkan sidik jari baru ke dalam memori sensor fingerprint.
Misalnya kita ingin mendaftarkan Bayu.
Kita menentukan:
ID Fingerprint : 1
Nama : Bayu
Kemudian jari Bayu dipindai dua kali.
Sensor AS608 akan membuat template fingerprint dan menyimpannya pada ID tersebut.
Contohnya:
ID 1 → Bayu
ID 2 → Andi
ID 3 → Budi
ID 4 → Siti
Pada saat absensi, sensor tidak perlu mengetahui nama pengguna secara langsung.
Sensor cukup menghasilkan:
Fingerprint ID = 1
Kemudian ESP8266 dan server dapat menerjemahkannya menjadi:
ID 1 → Bayu
2. Persiapan Hardware
Komponen yang diperlukan:
| No | Komponen | Jumlah |
|---|---|---|
| 1 | ESP8266 NodeMCU | 1 |
| 2 | Sensor fingerprint AS608 | 1 |
| 3 | Kabel jumper | Secukupnya |
| 4 | Kabel USB | 1 |
| 5 | Komputer/Laptop | 1 |
Untuk tahap enrollment ini kita belum perlu menggunakan database atau CodeIgniter 4.
Kita fokus memastikan AS608 dapat mendaftarkan fingerprint dengan benar.
3. Wiring AS608 ke ESP8266
Gunakan konfigurasi yang sama dengan artikel sebelumnya.
| AS608 | ESP8266 |
|---|---|
| TX | D6 |
| RX | D5 |
| GND | GND |
| VCC | Sesuai spesifikasi modul |
Komunikasinya menggunakan UART.
Perhatikan bahwa jalur TX dan RX harus diperhatikan dengan benar:
AS608 TX → ESP8266 RX
AS608 RX → ESP8266 TX
Catatan: konfigurasi pin dan tegangan dapat berbeda tergantung breakout AS608 yang digunakan. Periksa label modul dan spesifikasi hardware sebelum menyalakan rangkaian.
4. Cara Kerja Enrollment
Proses pendaftaran fingerprint dilakukan dalam beberapa tahap.
Tahap 1
Program meminta ID fingerprint.
Contohnya:
Masukkan ID: 1
Tahap 2
Pengguna menempelkan jari.
Tempelkan jari...
AS608 membaca sidik jari.
Tahap 3
Jari diangkat.
Angkat jari
Tahap 4
Jari yang sama ditempelkan kembali.
Tempelkan jari yang sama...
Sensor melakukan scan kedua.
Tahap 5
AS608 membuat template fingerprint.
Jika berhasil:
Fingerprint cocok
Membuat model...
Tahap 6
Template disimpan pada ID yang dipilih.
Contohnya:
Fingerprint berhasil disimpan!
ID: 1
5. Program ESP8266
Untuk komunikasi dengan sensor fingerprint, kita dapat menggunakan library Adafruit Fingerprint Sensor bersama komunikasi serial yang sesuai dengan konfigurasi ESP8266.
Contoh program enrollment:
#include <SoftwareSerial.h>
#include <Adafruit_Fingerprint.h>
// Sesuaikan dengan wiring:
// AS608 TX -> D6 (RX ESP8266)
// AS608 RX -> D5 (TX ESP8266)
SoftwareSerial fingerSerial(D6, D5);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&fingerSerial);
uint8_t id;
void setup()
{
Serial.begin(115200);
delay(1000);
finger.begin(57600);
Serial.println();
Serial.println("================================");
Serial.println(" AS608 FINGERPRINT ENROLLMENT ");
Serial.println("================================");
if (finger.verifyPassword())
{
Serial.println("Sensor AS608 terdeteksi.");
}
else
{
Serial.println("Sensor AS608 tidak terdeteksi.");
Serial.println("Periksa VCC, GND, RX dan TX.");
while (1)
{
delay(100);
}
}
Serial.println("Masukkan ID fingerprint 1-127:");
}
void loop()
{
if (Serial.available())
{
id = Serial.parseInt();
if (id == 0)
{
Serial.println("ID tidak valid.");
return;
}
Serial.print("Mendaftarkan fingerprint ID: ");
Serial.println(id);
if (enrollFingerprint(id))
{
Serial.println();
Serial.println("================================");
Serial.println("FINGERPRINT BERHASIL DISIMPAN");
Serial.print("ID: ");
Serial.println(id);
Serial.println("================================");
}
else
{
Serial.println();
Serial.println("Fingerprint gagal didaftarkan.");
}
Serial.println();
Serial.println("Masukkan ID fingerprint berikutnya:");
}
}
bool enrollFingerprint(uint8_t id)
{
int p = -1;
Serial.println("Tempelkan jari pada sensor...");
while (p != FINGERPRINT_OK)
{
p = finger.getImage();
if (p == FINGERPRINT_OK)
{
Serial.println("Gambar sidik jari berhasil dibaca.");
}
else if (p == FINGERPRINT_NOFINGER)
{
delay(100);
}
else
{
Serial.println("Gagal membaca sidik jari.");
return false;
}
}
p = finger.image2Tz(1);
if (p != FINGERPRINT_OK)
{
Serial.println("Gagal membuat template pertama.");
return false;
}
Serial.println("Angkat jari...");
delay(1500);
while (finger.getImage() != FINGERPRINT_NOFINGER)
{
delay(100);
}
Serial.println("Tempelkan jari yang sama sekali lagi...");
p = -1;
while (p != FINGERPRINT_OK)
{
p = finger.getImage();
if (p == FINGERPRINT_OK)
{
Serial.println("Scan kedua berhasil.");
}
else if (p == FINGERPRINT_NOFINGER)
{
delay(100);
}
else
{
Serial.println("Gagal membaca scan kedua.");
return false;
}
}
p = finger.image2Tz(2);
if (p != FINGERPRINT_OK)
{
Serial.println("Gagal membuat template kedua.");
return false;
}
p = finger.createModel();
if (p != FINGERPRINT_OK)
{
Serial.println("Kedua scan tidak cocok.");
return false;
}
p = finger.storeModel(id);
if (p != FINGERPRINT_OK)
{
Serial.println("Gagal menyimpan fingerprint.");
return false;
}
return true;
}
Catatan: library dan konfigurasi serial harus disesuaikan dengan board ESP8266 dan versi library yang digunakan. Jika komunikasi tidak berhasil, periksa kembali pin RX/TX, baudrate, power supply, dan library yang terpasang.
6. Cara Upload Program
Setelah program dimasukkan ke Arduino IDE:
Pilih Board
Pilih board ESP8266 NodeMCU yang sesuai dengan board yang digunakan.
Kemudian pilih port COM ESP8266.
Setelah itu klik:
Upload
Tunggu sampai proses upload selesai.
7. Membuka Serial Monitor
Setelah program berhasil di-upload, buka:
Tools → Serial Monitor
Atur baudrate:
115200
Jika sensor berhasil terhubung, akan muncul:
================================
AS608 FINGERPRINT ENROLLMENT
================================
Sensor AS608 terdeteksi.
Masukkan ID fingerprint 1-127:
8. Mendaftarkan Fingerprint
Misalnya kita ingin menyimpan fingerprint Bayu pada ID 1.
Masukkan:
1
Kemudian tekan Enter.
Serial Monitor akan menampilkan:
Mendaftarkan fingerprint ID: 1
Tempelkan jari pada sensor...
Tempelkan jari.
Setelah scan pertama berhasil:
Gambar sidik jari berhasil dibaca.
Angkat jari...
Angkat jari.
Kemudian:
Tempelkan jari yang sama sekali lagi...
Tempelkan jari yang sama.
Jika kedua scan cocok:
Scan kedua berhasil.
Kemudian sensor membuat template dan menyimpannya.
Jika berhasil:
================================
FINGERPRINT BERHASIL DISIMPAN
ID: 1
================================
Sekarang fingerprint sudah tersimpan di sensor.
9. Jangan Menggunakan ID yang Sama
Misalnya:
ID 1 → Bayu
Kemudian kita mendaftarkan orang berikutnya.
Gunakan:
ID 2 → Andi
Jangan langsung menggunakan ID 1 lagi jika ingin mempertahankan fingerprint Bayu.
Contoh:
| Fingerprint ID | Nama |
|---|---|
| 1 | Bayu |
| 2 | Andi |
| 3 | Budi |
| 4 | Siti |
10. Pengujian Fingerprint
Setelah enrollment berhasil, kita perlu melakukan verifikasi.
Misalnya fingerprint Bayu disimpan:
ID = 1
Ketika Bayu menempelkan jari pada sensor, AS608 nantinya akan menghasilkan:
Fingerprint ditemukan
ID = 1
ESP8266 kemudian dapat menggunakan ID tersebut untuk proses absensi.
Contohnya:
AS608
↓
ID = 1
↓
ESP8266
↓
Database
↓
ID 1 = Bayu
↓
ABSEN MASUK
11. Kenapa Nama Tidak Disimpan Langsung di AS608?
Ini konsep penting untuk sistem kita.
Sensor hanya bertugas menyimpan template fingerprint dan ID.
Data pengguna disimpan di database.
Contohnya:
AS608
Dengan cara ini sistem menjadi lebih fleksibel.
Jika nama pegawai berubah, kita cukup mengubah database tanpa harus mendaftarkan ulang fingerprint.
12. Untuk Sistem Multi-Device
Karena target sistem kita nantinya adalah absensi multi-device, kita juga perlu memperhatikan satu hal.
Misalnya ada:
ABS-001 → Mesin Absensi Kantor
ABS-002 → Mesin Absensi Gudang
ABS-003 → Mesin Absensi Sekolah
Fingerprint ID 1 pada sensor di masing-masing mesin belum tentu merujuk ke orang yang sama.
Karena itu, ketika sistem sudah masuk tahap multi-device, identitas fingerprint sebaiknya diperlakukan bersama identitas perangkat.
Contohnya:
Device Finger ID
ABS-001 1
ABS-001 2
ABS-002 1
ABS-002 2
Server dapat menentukan dari mesin mana absensi berasal.
Ini akan kita bahas lebih dalam ketika masuk ke database dan API CodeIgniter 4.
13. Masalah yang Sering Terjadi
❌ Sensor tidak terdeteksi
Periksa:
VCC
GND
TX
RX
Pastikan TX dan RX tidak tertukar.
❌ Fingerprint gagal dibuat
Coba:
- bersihkan permukaan sensor;
- pastikan jari tidak terlalu basah;
- jangan terlalu cepat mengangkat jari;
- gunakan jari yang sama pada scan kedua;
- posisikan jari dengan konsisten.
❌ Template tidak cocok
Jika muncul:
Kedua scan tidak cocok
ulang proses enrollment.
Tekanan dan posisi jari pada scan pertama dan kedua sebaiknya relatif sama.
❌ ID sudah digunakan
Gunakan ID lain.
Misalnya:
ID 1 sudah digunakan
maka gunakan:
ID 2
Kesimpulan
Pada tutorial ini kita sudah berhasil memahami proses pendaftaran fingerprint AS608 menggunakan ESP8266 NodeMCU.
Alur enrollment adalah:
ESP8266
↓
AS608
↓
Pilih ID
↓
Scan pertama
↓
Scan kedua
↓
Buat template
↓
Simpan
Setelah fingerprint tersimpan, tahap berikutnya adalah membuat program untuk membaca dan mencari fingerprint.
Hasil akhirnya nanti bukan lagi sekadar:
Fingerprint OK
ID = 1
tetapi:
Fingerprint OK
ID : 1
Nama : Bayu
Tanggal : 02-09-2026
Jam : 07:30:15
Status : MASUK
Device : ABS-001
Dan data tersebut akan dikirim ke CodeIgniter 4 melalui API.


Tidak ada komentar:
Posting Komentar