Menyimpan ID Fingerprint sensor ke database MySQL menggunakan Board IoT Project Controller ESP12E/F

Menyimpan ID Fingerprint sensor ke database MySQL menggunakan Board IoT Project Controller ESP12E/F
930 x 180 AD PLACEMENT

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.

DOWNLOAD LIBRARY FINGERPRINT

930 x 180 AD PLACEMENT

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

930 x 180 AD PLACEMENT
#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

930 x 180 AD PLACEMENT
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

Download Sketch

Sketch ini merupakan dasar dari projek berikut ini.

Silahkan dikembangkan sesuai kebutuhan dari teman – teman. Terimakasih dan semoga bermanfaat.

930 x 180 AD PLACEMENT

Programmer & Videographer.

16 thoughts on “Menyimpan ID Fingerprint sensor ke database MySQL menggunakan Board IoT Project Controller ESP12E/F

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

You might also like
930 x 180 AD PLACEMENT