Menyimpan ID Fingerprint sensor ke database MySQL menggunakan Board IoT Project Controller ESP12E/F
Halo semuanya, kali ini DT Production akan memberikan sebuah tutorial yaitu bagaimana melakukan pengiriman data ke database MySQL pada web hosting. disini percobaan yang dilakukan menggunakan modul Fingerprint. Jadi projek yang akan kita buat kali ini yaitu ID hasil enroll pada modul fingerprint akan kita simpan ke dalam database MySQL yang ada pada web hosting.
Tentunya ini sangat berguna untuk teman – teman yang akan membuat projek misalkan sistem absensi, pencocokan id yang implementasinya dapat diterapkan di kantor, sekolah, kampus dll, serta projek lainya.
Pada pecobaan kali ini DT Production menggunakan board IoT Project Controller sebuah produk dari DT Production yang bisa teman – teman dapatkan di online market place seperti TOKOPEDIA & BukaLapak.
jika teman teman belum tau seperti apa board atau kontroller tersebut
teman – teman dapat melihat postingan ini, klik disini untuk melihat.

Selanjutnya yang perlu teman – teman perhatikan apakah modul fingerprint yang teman – teman miliki cocok dengan library Adafruit Fingerprint Sensor Library .
Pertama teman – teman download library yang akan dipakai pada link berikut.
Kemudian tambahkan library tersebut kedalam software Arduino IDE teman – teman.
Setelah berhasil menambahkan library tersebut, selanjutnya koneksikan board IoT Project Controller dengan modul Fingerprint Sensor.
Wiring
IoT Project Controller 5v == => Modul Fingerprint VCC
IoT Project Controller GND ===> Modul Fingerprint GND
IoT Project Controller D6 ===> Modul Fingerprint TX
Project Controller D7 ===> Modul Fingerprint RX
Selanjutnya kita akan melakukan enroll pada fingerprint. akan tetapi jika teman – teman ingin menghapus id – id yang sudah pernah di enroll maka teman – teman dapat menjalankan sketch berikut, buka software Arduino IDE copy sketch berikut ini kemudian upload ke kontroler. dan cek serial monitor untuk melakukan aksi penghapusan id.
#include#include SoftwareSerial mySerial(12, 13); Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); void setup() { Serial.begin(9600); while (!Serial); delay(100); Serial.println("\n\nDeleting all fingerprint templates!"); Serial.println("Press 'Y' key to continue"); while (1) { if (Serial.available() && (Serial.read() == 'Y')) { break; } } finger.begin(57600); if (finger.verifyPassword()) { Serial.println("Found fingerprint sensor!"); } else { Serial.println("Did not find fingerprint sensor :("); while (1); } finger.emptyDatabase(); Serial.println("Now database is empty :)"); } void loop() { }
Untuk melakukan enroll atau menyimpan ID – ID pada modul fingerprint, copy sketch berikut ini kemudian upload ke kontroler. hasil enroll ini sebentar akan kita kirim ke database MySQL. cek serial monitor untuk melakukan aksi penyimpanan ID Fingerprint
#include#include SoftwareSerial mySerial(12, 13); Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); uint8_t id; void setup() { Serial.begin(9600); while (!Serial); delay(100); Serial.println("\n\nAdafruit Fingerprint sensor enrollment"); finger.begin(57600); if (finger.verifyPassword()) { Serial.println("Found fingerprint sensor!"); } else { Serial.println("Did not find fingerprint sensor :("); while (1) { delay(1); } } } uint8_t readnumber(void) { uint8_t num = 0; while (num == 0) { while (! Serial.available()); num = Serial.parseInt(); } return num; } void loop() { Serial.println("Ready to enroll a fingerprint!"); Serial.println("Please type in the ID # (from 1 to 127) you want to save this finger as..."); id = readnumber(); if (id == 0) { return; } Serial.print("Enrolling ID #"); Serial.println(id); while (! getFingerprintEnroll() ); } uint8_t getFingerprintEnroll() { int p = -1; Serial.print("Waiting for valid finger to enroll as #"); Serial.println(id); while (p != FINGERPRINT_OK) { p = finger.getImage(); switch (p) { case FINGERPRINT_OK: Serial.println("Image taken"); break; case FINGERPRINT_NOFINGER: Serial.println("."); break; case FINGERPRINT_PACKETRECIEVEERR: Serial.println("Communication error"); break; case FINGERPRINT_IMAGEFAIL: Serial.println("Imaging error"); break; default: Serial.println("Unknown error"); break; } } p = finger.image2Tz(1); switch (p) { case FINGERPRINT_OK: Serial.println("Image converted"); break; case FINGERPRINT_IMAGEMESS: Serial.println("Image too messy"); return p; case FINGERPRINT_PACKETRECIEVEERR: Serial.println("Communication error"); return p; case FINGERPRINT_FEATUREFAIL: Serial.println("Could not find fingerprint features"); return p; case FINGERPRINT_INVALIDIMAGE: Serial.println("Could not find fingerprint features"); return p; default: Serial.println("Unknown error"); return p; } Serial.println("Remove finger"); delay(2000); p = 0; while (p != FINGERPRINT_NOFINGER) { p = finger.getImage(); } Serial.print("ID "); Serial.println(id); p = -1; Serial.println("Place same finger again"); while (p != FINGERPRINT_OK) { p = finger.getImage(); switch (p) { case FINGERPRINT_OK: Serial.println("Image taken"); break; case FINGERPRINT_NOFINGER: Serial.print("."); break; case FINGERPRINT_PACKETRECIEVEERR: Serial.println("Communication error"); break; case FINGERPRINT_IMAGEFAIL: Serial.println("Imaging error"); break; default: Serial.println("Unknown error"); break; } } p = finger.image2Tz(2); switch (p) { case FINGERPRINT_OK: Serial.println("Image converted"); break; case FINGERPRINT_IMAGEMESS: Serial.println("Image too messy"); return p; case FINGERPRINT_PACKETRECIEVEERR: Serial.println("Communication error"); return p; case FINGERPRINT_FEATUREFAIL: Serial.println("Could not find fingerprint features"); return p; case FINGERPRINT_INVALIDIMAGE: Serial.println("Could not find fingerprint features"); return p; default: Serial.println("Unknown error"); return p; } Serial.print("Creating model for #"); Serial.println(id); p = finger.createModel(); if (p == FINGERPRINT_OK) { Serial.println("Prints matched!"); } else if (p == FINGERPRINT_PACKETRECIEVEERR) { Serial.println("Communication error"); return p; } else if (p == FINGERPRINT_ENROLLMISMATCH) { Serial.println("Fingerprints did not match"); return p; } else { Serial.println("Unknown error"); return p; } Serial.print("ID "); Serial.println(id); p = finger.storeModel(id); if (p == FINGERPRINT_OK) { Serial.println("Stored!"); } else if (p == FINGERPRINT_PACKETRECIEVEERR) { Serial.println("Communication error"); return p; } else if (p == FINGERPRINT_BADLOCATION) { Serial.println("Could not store in that location"); return p; } else if (p == FINGERPRINT_FLASHERR) { Serial.println("Error writing to flash"); return p; } else { Serial.println("Unknown error"); return p; } }
kemudian jika sudah berhasil melakukan enroll, sediakan layanan hosting dan domain, teman – teman dapat memanfaatkan hosting gratisan untuk percobaan ini di 000webhost. buatlah hosting dan domain gratis disana. sekarang kita akan membuat sebuah database langkah awal buatlah sebuah database pada hosting contoh nama database-nya db_finger, selanjutnya buat sebuah tabel contohnya bernama tb_finger yang memiliki 1 kolom yaitu kolom id.
CREATETABLE `db_finger`.`tb_finger` ( `id` INT(11) NULL , PRIMARY KEY(`id`)) ENGINE = MyISAM;
selanjutnya buat sebuah file
get-id.php Selanjutnya paste source code berikut ke dalam file get-id.php
Kemudian buat juga satu file koneksi.php copy source code dibawah ini kemudian paste pada file koneksi.php
connect_error) { die('Database Not Connect. Error : ' . $dbconnect->connect_error); }
perlu diperhatikan pada DBHOST, DBUSER, DBPASS, DBNAME masukan sesuai dengan host, user password , dan nama database yang sudah teman – teman buat pada file hosting.
Kemudian upload kedua file ke direktori hosting Public_html.
Buka arduino IDE, kemudian download dan copy paste sketch berikut ini
Sketch ini merupakan dasar dari projek berikut ini.
Silahkan dikembangkan sesuai kebutuhan dari teman – teman. Terimakasih dan semoga bermanfaat.
apa saja yang anda gunakan untuk membuat alat tersebut ?
terima kasih
Halo, Board IoT Project Controller, Modul fingerprint bisa versi FPM10A dan USB to TTL untuk upload program.
apakah ini pasti berhasil ?
ya tentu saja
Mas untuk source lengkapnya bolah share. Saya mau buat aplikasi absensi siswa di sekolah. Mkasi mas
Halo mas, di project nya sudah ada example project seperti di video demo. silahkan mas kembangkan sesuai dengan kebutuhan. terimakasih
Modul fingernya beli dimana mas
Halo mas, untuk modul FPM nya bisa beli di toko kami sudah ready:
https://www.tokopedia.com/dtproduction
terimkasih berhasil , namun id yang masuk trus 1, tidak sesuai id fingernya.. mohon pencerahannya…
Halo, terimakasih telah berkomentar. jika hanya 1 ID yang dapat tersimpan berarti secara garis besar anda sudah tidak memiliki masalah dengan server.
karna proses pengiriman data dijalankan pada saat menempelkan jari pada FPM modul kemungkinan terbesar anda hanya mendaftarkan satu jari saja. karena isi dari parameter yang disimpan ke database adalah ID dari hasil pembacaan FPM modul.
Excellent way of explaining, and nice paragraph to
get data regarding my presentation subject, which i am going to present in college.
Fodboldtrøjer Med Eget Tryk
We are a group of volunteers and starting a new scheme in our community.
Your website offered us with valuable info to work on. You’ve done an impressive job
and our whole community will be thankful to you.
Maglie Juve Onlin
Thank you, Maglie
saya mau tanya kalo enroll fingerprint dengan esp32 gimana ya cara nya, saya udh coba script nya salah di bagian ini (Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);) dan di serial software nya. mohon bantuan nya
terima kasih.
Halo, coba gunakan hardware serial mas
saya sudah buat fingerprint dan rfid min, apakah kalo saya buat tambahan pakai database biar datanya kesimpan ke sql apa bisa ya min ?