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
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:
- Apa saja alat dan bahan yang digunakan untuk membuat rangkaian IoT Remote Access Kunci Pintu Berbasis Rfid, Blynk dan Nodemcu Esp8266?
- Aplikasi apa yang digunakan pada rangkaian IoT Remote Access Kunci Pintu Berbasis Rfid, Blynk dan Nodemcu Esp8266?
- Bagaimana cara kerja rangkaian IoT Remote Access Kunci Pintu Berbasis Rfid, Blynk dan Nodemcu Esp8266?
- 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:
- Mengetahui lebih dalah tentang IoT, terutama rangkaian IoT Remote Access Kunci Pintu Berbasis Rfid, Blynk dan Nodemcu Esp8266.
- Menambah wawasan dan ilmu pengetahuan.
- Mengetahui alat dan bahan serta cara kerja rangkaian IoT Remote Access Kunci Pintu Berbasis Rfid, Blynk dan Nodemcu Esp8266.
- 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 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