Senin, 19 April 2021

INTERNET OF THINGS: REMOTE ACCESS KUNCI PINTU BERBASIS RFID, BLYNK DAN NODEMCU ESP8266


INTERNET OF THINGS:

REMOTE ACCESS KUNCI PINTU 

BERBASIS RFID, BLYNK DAN NODEMCU ESP8266

 

Mata Kuliah:

Arsitektur dan Organisasi Komputer

 

Dosen Pengampu:

Aditya Prapanca, S.T., M.Kom.

 

Disusun oleh:

Alfian Rahman Hidayatullah                   (20051204049)

Ilyas Jahfal Alim                                      (20051204051)

Yoga Dwi Nugroho                                  (20051204083)

Rasid                                                        (20051204085)

 

 

BAB I

PENDAHULUAN

 

1.1  LATAR BELAKANG

   Seiring majunya perkembangan jaman, inovasi peralatan baru banyak diciptakan guna mempermudah aktivitas manusia. Hal ini mendorong perkembangan teknologi telah banyak menghasilkan alat sebagai piranti untuk mempermudah kegiatan manusia bahkan menggantikan peran manusia dalam suatu fungsi tertentu. Teknologi memegang peran penting di era modernisasi seperti saat ini, dimana teknologi menjadi bagian yang tidak dapat dipisahkan dalam kehidupan sehari-hari. Contoh dari perkembangan teknologi adalah IoT (Internet of Things).

    Internet of Things (IoT) merupakan perluasan dari konektifitas internet yang dapat terhubung secara terus menerus. Internet of Things berpengaruh dalam berbagai macam industri seperti manufaktur, logistik, kesehatan, tata kota, rumah, pertanian, bahkan industri otomotif. Internet of Things yang memiliki potensi untuk mengubah dunia seperti yang pernah dilakukan oleh internet, bahkan mungkin lebih baik. Internet of Things (IoT) dapat diartikan sebagai benda-benda yang ada di sekitar dapat berkomunikasi antara satu sama lain melalui jaringan internet. Sebagai contoh ialah benda elektronik berbasis Internet of Things (IoT) dapat ditanamkan sensor yang dibuat selalu aktif dan terhubung secara luas, baik dengan jaringan lokal maupun dengan jaringan global.

    Terdapat kekhawatiran tentang bahaya pada pertumbuhan IoT, terutama di bidang privasi dan keamanan. Pintu adalah hal yang paling disorot dalam ruang lingkup sistem keamanan, karena fungsi pintu sebagai akses utama untuk keluar masuk ruangan. Dengan alasan tersebut, kami melakukan pembuatan projek rangkaian IoT Remote Access Kunci Pintu Berbasis Rfid, Blynk dan Nodemcu Esp8266 guna menggantikan peran manusia dengan suatu alat, oleh karena itu pada dasarnya pintu tersebut telah dikontrol melalui program, sehingga diharapkan setiap pintu tidak harus dijaga terus-menerus.

 

1.2  RUMUSAN MASALAH

Berdasarkan latar belakang yang telah dijelaskan, maka dapat diidentifikasikan berbagai hal sebagai berikut:

  1. Apa saja alat dan bahan yang digunakan untuk membuat rangkaian IoT Remote Access Kunci Pintu Berbasis Rfid, Blynk dan Nodemcu Esp8266?
  2. Aplikasi apa yang digunakan pada rangkaian IoT Remote Access Kunci Pintu Berbasis Rfid, Blynk dan Nodemcu Esp8266?
  3. Bagaimana cara kerja rangkaian IoT Remote Access Kunci Pintu Berbasis Rfid, Blynk dan Nodemcu Esp8266?
  4. Apa fungsi dari rangkaian IoT Remote Access Kunci Pintu Berbasis Rfid, Blynk dan Nodemcu Esp8266 pada masyarakat umum?

 

1.3  TUJUAN

Tujuan dari Praktikum dan pembuatan laporan ini adalah: 

  1. Mengetahui lebih dalah tentang IoT, terutama rangkaian IoT Remote Access Kunci Pintu Berbasis Rfid, Blynk dan Nodemcu Esp8266.
  2. Menambah wawasan dan ilmu pengetahuan.
  3. Mengetahui alat dan bahan serta cara kerja rangkaian IoT Remote Access Kunci Pintu Berbasis Rfid, Blynk dan Nodemcu Esp8266.
  4. Mengetahui fungsi rangkaian IoT Remote Access Kunci Pintu Berbasis Rfid, Blynk dan Nodemcu Esp8266 bagi masyarakat umum.


 

BAB II

PEMBAHASAN

 

2.1 ALAT DAN BAHAN REMOTE ACCESS KUNCI PINTU BERBASIS RFID, BLYNK DAN NODEMCU ESP8266

  •  ALAT

1)      Gunting


2)      Double tape


3)      Obeng


4)      Solder dan tenol



  •  BAHAN

1)      Selenoid door lock (harga Rp 42.000)


2)      Nodemcu ESP8266 (harga Rp 50.000)


3)      Papan breadboard (harga Rp 20.000)


4)      Kabel jumper (harga Rp 15.000)


5)      Relay Module 1 channel (harga Rp 16.500)


6)      DC IN Female & 12v Adaptor (harga Rp 20.000)


7)      RFID Mifare RC522 (harga Rp 31.500)

    

C.    SKEMA RANGKAIAN



 

2.2 LANGKAH-LANGKAH PEMBUATAN IOT REMOTE ACCESS KUNCI PINTU BERBASIS RFID, BLYNK DAN NODEMCU ESP8266

  • Hubungkan RFID dan NodeMCU ESP8266 menggunakan kabel jumper sesuai tabel berikut (Tabel dibuat berdasarkan skema rangkaian di atas)

NodeMCU ESP8266

RFID MRFC522

D4

SDA

D5

SCK

D7

MOSI

D6

MISO

-

IRQ

D2

RST

3V

3.3V

G

GND

            Berikut gambarnya:


  • Dari skema rangkaian di atas dapat kita lihat bahwa: kabel gnd solenoid lock terhubung dengan gnd power supply, kabel 12v power supply terhubung dengan pin relay modul common, dan pin relay modul normally open (NO) terhubung dengan kabel 12v solenoid lock.

            Berikut gambarnya:


  •  Hubungkan Relay Module dan NodeMCU ESP8266 menggunakan kabel jumper sesuai tabel berikut (Tabel dibuat berdasarkan skema rangkaian di atas)

NodeMCU ESP8266

Relay Module

D0

IN

V3

V3

G

GND


            Berikut gambarnya:


 

2.3  LANGKAH-LANGKAH KONFIGURASI BLYNK

Untuk remote access kami menggunakan aplikasi Blynk, untuk men-download-nya teman-teman dapat mencari di google PlayStore. Kami menggunakan Blynk dengan konfigurasi sebagai berikut:

·         Pertama, buka aplikasi Blynk

·         Klik new project dan masukkan nama projek “IoT RFID”

·         Klik pada device dan pilih Nodemcu

·         Pilih jenis koneksi WIFI

·         Kemudian klik Create. Terakhir, akan ada token otentikasi yang nantinya akan digunakan dalam pemrograman Nodemcu

(Setelah beberapa step di atas, seperti ini tampilannya)


·         Setelah menekan Create, kita akan menerima token otentikasi yang akan kita gunakan dalam coding nanti


·         Selanjutnya klik di mana saja pada layar, kemudian geser ke bawah dan tambahkan widget tab


·         Atur tab tersebut dan tambahkan dua tab dengan nama “Monitoring” dan “Remote Access


·         Klik tab Monitoring, klik lagi pada layar, kemudian cari dan tambahkan widget terminal

·         Sekarang klik widget terminal, kemudian atur pin virtual ke V2 dan add newline ke yes


·         Selanjutnya klik tab Remote Access, klik lagi pada layar dan tambahkan 3 button

·         Atur ukuran dan posisi button sesuai kebutuhan

·         Pada masing-masing button, atur nama, button mode ke switch, dan pilih virtual pin V3, V4, V5 secara berturut-turut.


·         Untuk memulai, klik tombol start di pojok kanan atas

 

2.4 LANGKAH-LANGKAH INSTALL ARDUINO IDE DAN MENAMBAHKAN MRFC522 LIBRARY

A.    Proses Instalasi Software Arduino IDE

1.      Unduh software Arduino IDE

Link untuk mengunduh: https://downloads.arduino.cc/arduino-1.8.13-windows.exe


2.      Setelah mengunduh Arduino IDE, tambahkan board ESP8266 ke IDE tersebut.

Buka menu File -> Preferences. Lalu, pada Additional Board Manager URL tambahkan link berikut: https://arduino.esp8266.com/stable/package_esp8266com_index.json

 

3.      Buka menu Tools -> Board -> Board Manager


4.      Cari ESP8266 kemudian tekan install


5.      Tunggu proses installing selesai, lalu restart Arduino IDE nya

 

B.     Proses menambahkan library RFID MRFC522

1.      Download file library nya pada link https://github.com/miguelbalboa/rfid

2.      Buka Arduino IDE. Kemudian pilih menu Skecth -> Include Library -> Add .ZIP Library



3.      Pilih file rfid-master.zip kemudian klik open.

 

2.5 PEMROGRAMAN ARDUINO

1        Sebelum memulai pemrograman, pilih dalam menu Tools > Boards > ESP8266 Boards > NodeMCU 0.9


2        Kemudian pada port, sesuaikan perangkat kalian terhubung apa COM berapa


3        Kode untuk mengetahui nomor id kartu

#include <SPI.h>

#include <MFRC522.h>

 

#define SS_PIN 2  //D4                      //ss pin disesuaikan

#define RST_PIN 0 //D3                    //rst pin disesuaikan

 

MFRC522 rfid(SS_PIN, RST_PIN);

MFRC522::MIFARE_Key key;

 

String strID;

 

void setup() {

  // put your setup code here, to run once:

  SPI.begin();

  rfid.PCD_Init();

  Serial.begin(9600);

  Serial.println("I am waiting for card...");

}

 

void loop() {

  // put your main code here, to run repeatedly:

if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial())

    return;

 

  // Serial.print(F("PICC type: "));

  MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);

  // Serial.println(rfid.PICC_GetTypeName(piccType));

 

  // Check is the PICC of Classic MIFARE type

  if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&

      piccType != MFRC522::PICC_TYPE_MIFARE_1K &&

      piccType != MFRC522::PICC_TYPE_MIFARE_4K) {

    Serial.println(F("Your tag is not of type MIFARE Classic."));

    return;

  }

  //id kartu dan yang akan dikirim ke database

  strID = "";

  for (byte i = 0; i < 4; i++) {

    strID +=

      (rfid.uid.uidByte[i] < 0x10 ? "0" : "") +

      String(rfid.uid.uidByte[i], DEC) +

      (i != 3 ? ":" : "");

  }

  strID.toUpperCase();

  Serial.print("Kartu ID Anda : ");

  Serial.println(strID);

  delay(1000);

}

 

4        Kode untuk mengakses solenoid lock menggunakan scan RFID (3 kode di bawah ini digabung)

1.      Kode untuk include library dan inisialisasi variabel dan fungsi setup dan loop

// RFID and IoT

 

#include <SPI.h>

#include <MFRC522.h>

#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

 

//definisikan pin out esp8266 yang terhubung pada pin SDA dan RST MRFC522

#define SS_PIN 2  //D4                      //ss pin disesuaikan

#define RST_PIN 0 //D3                    //rst pin disesuaikan

 

//inisialisasi variabel elock dengan pin D0 esp8266

int elock = D0;

 

//kode autentikasi Blynk   

char auth[] ="ljXnLR48BWYT0UePpe2AmWBJhf_CgFAp";

 

//SSID dan PASS Wifi yang terhubung dengan esp8266

char ssid[] = "nama wifi";                   //nama wifi disesuaikan

char pass[] = "pass wifi";                    // pass wifi disesuaikan

 

SimpleTimer timer;

 

//inisialisasi variabel pemicu remote access

int fflag = 0;

int eflag = 0;

int jflag = 0;

WidgetTerminal terminal(V2);

void iot_rfid();

 

MFRC522 rfid(SS_PIN, RST_PIN);

MFRC522::MIFARE_Key key;

 

String strID;

 

void setup() {

  SPI.begin();

  rfid.PCD_Init();

  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);

      pinMode(elock,OUTPUT);

      digitalWrite(elock, HIGH);

  timer.setInterval(1000L, iot_rfid);

}

 

void loop() {

  timer.run(); // Initiates SimpleTimer

  Blynk.run();

}

 

2.      Kode fungsi RFID untuk scan kartu

void iot_rfid()

{

        // Kode secara default ditetapkan FFFFFFFFFFFFh

        MFRC522::MIFARE_Key key;

        for (byte i = 0; i < 6; i++) {

                key.keyByte[i] = 0xFF;

        }

        // Mambaca kartu baru

        if ( ! rfid.PICC_IsNewCardPresent()) {

                return;

        }

 

        // Memilih kartu

        if ( ! rfid.PICC_ReadCardSerial()) {

                return;

        }

        byte piccType = rfid.PICC_GetType(rfid.uid.sak);

        if (        piccType != MFRC522::PICC_TYPE_MIFARE_MINI

                &&        piccType != MFRC522::PICC_TYPE_MIFARE_1K

                &&        piccType != MFRC522::PICC_TYPE_MIFARE_4K) {

                //Serial.println("This sample only works with MIFARE Classic cards.");

                return;

        }

        // Definisikan UID kartu mu di sini

            //rfid.uid.uidByte merupakan variabel yang menyimpan id kartu
            //sehingga angkanya disesuikan dengan nomor id kartu kalian

       

        if( ((rfid.uid.uidByte[0] == 183) && (rfid.uid.uidByte[1] == 114) && (rfid.uid.uidByte[2] == 146) && (rfid.uid.uidByte[3] == 201))&& (fflag == 1) )

        {

         Serial.println("Rasid");

         Blynk.virtualWrite(V2, "Rasid" );

         digitalWrite(elock, LOW);

         delay(5000);

         digitalWrite(elock, HIGH);

        } 

        else

        if(( (rfid.uid.uidByte[0] == 247) && (rfid.uid.uidByte[1] == 30) && (rfid.uid.uidByte[2] == 190) && (rfid.uid.uidByte[3] == 181))&& (eflag == 1) )

        {

         Serial.println("Ilyas Jahfal");

         Blynk.virtualWrite(V2, "Ilyas Jahfal" );

         digitalWrite(elock, LOW);

         delay(5000);

         digitalWrite(elock, HIGH);

        }

        else

        if( ((rfid.uid.uidByte[0] == 198) && (rfid.uid.uidByte[1] == 69) && (rfid.uid.uidByte[2] == 34) && (rfid.uid.uidByte[3] == 75))&& (jflag == 1) )

        {

         Serial.println("UMUM");

         Blynk.virtualWrite(V2, "UMUM" );

         digitalWrite(elock, LOW);

         delay(5000);

         digitalWrite(elock, HIGH);

        }

        else

        Serial.println("Tak dikenal!");

        Blynk.virtualWrite(V2, "Tak dikenal!" );

}

 

3.      Kode untuk Blynk Write pada Virtual Pin

// in Blynk app writes values to the Virtual Pin 3

BLYNK_WRITE(V3)

{

   fflag = param.asInt(); // assigning incoming value from pin V3 to a variable

}

// in Blynk app writes values to the Virtual Pin 4

BLYNK_WRITE(V4)

{

   eflag = param.asInt(); // assigning incoming value from pin V4 to a variable

}

 

BLYNK_WRITE(V5)

{ 

    jflag = param.asInt(); // assigning incoming value from pin V5 to a variable

}

 

2.6 CARA KERJA REMOTE ACCESS KUNCI PINTU BERBASIS RFID DAN NODEMCU ESP8266

·         Nyalakan ESP8266 melalui micro usb dan sambungkan colokan power supply ke steker listrik

·         Tunggu ESP8266 dalam proses menyambungkan ke WIFI hingga lampu biru pada ESP8266 menyala (Lampu biru menandakan telah tersambung ke WIFI dan siap digunakan)

·         Siapkan kartu dan tag yang telah kita daftarkan ID nya pada coding

·         Tempelkan kartu atau tag ke RFID

·         Ketika kartu ditempelkan maka solenoid lock nya akan terbuka

·         Untuk menggunakan fitur remote access nya dapat dilakukan melalui Blynk

·         Pada Blynk, pilih salah satu pengguna yang akan diubah menjadi off

·         Setelah pengguna di off kan, maka pengguna tersebut tidak dapat mengakses solenoid lock

 

2.7 FUNGSI REMOTE ACCESS KUNCI PINTU BERBASIS RFID, BLYNK DAN NODEMCU ESP8266 BAGI MASYARAKAT UMUM

·         Memudahkan user untuk membuka pintu rumah atau brangkas menggunakan kartu

·         Mengikuti perkembangan zaman dengan menggunakan teknologi keamanan yang lebih modern

·         Dapat mengatur user mana saja yang dapat mengakses kunci

·         Menambahkan id kartu untuk user baru lebih mudah


 

BAB III

PENUTUP

3.1  KESIMPULAN

      Dari penjelasan kami tentang rangkaian IoT Remote Access Kunci Pintu Berbasis Rfid, Blynk dan Nodemcu Esp8266 dapat ditarik kesimpulan yaitu memiliki cara kerja membuka dan menutup solenoid lock dengan cara mengubah aliran listrik yang terhubung melalui modul relay dan penggunaan remote access melalui aplikasi Blynk untuk mengendalikan user mana saja yang diberi izin untuk mengakses solenoid lock. Dengan teknologi ini diharapkan dapat memudahkan user dalam meningkatkan keamanan, seperti mengunci pintu rumah atau brangkas. Namun, teknologi ini memiliki kekurangan yaitu harus terhubung dengan listrik dan internet.

 


LAMPIRAN

Foto anggota kelompok




 

Foto rangkaian IoT





 

 

 

 


Tidak ada komentar:

Posting Komentar