Mundarija:

LCD 1602 bilan RFID xavfsizlik tizimi: 4 qadam
LCD 1602 bilan RFID xavfsizlik tizimi: 4 qadam

Video: LCD 1602 bilan RFID xavfsizlik tizimi: 4 qadam

Video: LCD 1602 bilan RFID xavfsizlik tizimi: 4 qadam
Video: rfid система. LCD дисплей 1602. Русификация 2024, Noyabr
Anonim
LCD 1602 bilan RFID xavfsizlik tizimi
LCD 1602 bilan RFID xavfsizlik tizimi

Kirish

Bugun biz RFID xavfsizlik tizimini yaratamiz. Bu xavfsizlik tizimi kabi ishlaydi, shuning uchun RFID yorlig'i yoki kartasi yonida bo'lsa, 1602 LCD displeyida xabar paydo bo'ladi. Ushbu loyihaning maqsadi RFID eshik qulflari qanday ishlashini taqlid qilishdir. Shunday qilib, u RFID yorlig'i yoki kartasi RFID Reader yonida bo'lganda ishlaydi, u kartani yoki tegni aniqlaydi va LCD displeyda xabarni ko'rsatadi.

Uskunalar

  • RFID RC522 o'quvchi
  • Raspberry Pi 3
  • Non paneli
  • Jumper simlari
  • LCD 1602
  • T-Cobbler

Endi, boshlaylik!

1 -qadam: RFID RC522 va LCD 1602 ni yig'ish

RFID RC522 va LCD 1602 ni yig'ish
RFID RC522 va LCD 1602 ni yig'ish

Shunday qilib, endi biz LCD va RFID -ni non paneliga ulaymiz. Quyida pin raqamining diagrammasi ko'rsatilgan rasm. Bu rasmga muhtoj bo'lmaganlar uchun ham yozma shaklda. RFID RC522 -da siz 8 ta ulanish mavjudligini ko'rasiz, bu SDA (Serial Data Signal), SCK (Serial Clock), MOSI (Master Out Slave In), MISO (Master In Slave Out), IRQ (Interrupt) So'rov), GND (Ground Power), RST (Reset-Circuit) va 3.3v (3.3v Power In). Biz bularning barchasidan tashqari IRQ -ni Raspberry Pi -ning GPIO pinlariga ulashimiz kerak bo'ladi.

Siz ularni GPIO pinlariga to'g'ridan -to'g'ri ulashingiz mumkin, yoki biz bu qo'llanmada bo'lgani kabi, RFID RC522 -ni elektron jadvalimizga ulang, keyin u erdan Raspberry Pi -ning GPIO pinlariga ulang.

RFID RC522 -ni Raspberry Pi -ga ulash juda oddiy, shuning uchun faqat 7 ta GPIO pinini to'g'ridan -to'g'ri RFID o'quvchisiga ulashingiz kerak. Quyidagi jadvalga amal qiling va RC522 -ni ulashingiz kerak bo'lgan GPIO pinlarining holatini ko'rish uchun bizning GPIO qo'llanmasini ko'rib chiqing.

SDA 24 -pinga ulanadi.

SCK 23 -pinga ulanadi.

MOSI 19 -pin bilan ulanadi.

MISO 21 -pinga ulanadi.

GND 6 -pin bilan ulanadi.

RST 22 -pin bilan bog'lanadi.

3.3v 1 -pin bilan ulanadi.

Siz simlarni ulashni tugatganingizdan so'ng, biz kodlashning qiziqarli qismiga o'tamiz! Qani ketdik

2 -qadam: RFID sozlamalari

RFIDni ishga tushirish uchun biz Raspberry Pi terminali yordamida GitHub -dan ba'zi omborlarni yuklab olishimiz kerak. Shunday qilib, birinchi navbatda, malinangizga sharbat bering, shunda u yoqilishi mumkin.

Terminalni oching va uni kiriting:

sudo raspi-config

2. Bu buyruq boshqa ekranni olib keladi va u erdan Interfacing Options ga o'ting va keyin bu variantni yoqish uchun P4 SPI ga o'ting.

3. Terminalga qaytib, quyidagini yozing:

sudo qayta yuklash

Biz SPIni to'g'ri yoqish uchun shunday qilamiz.

4. Raspberry Pi terminalni qayta ishga tushirgandan so'ng, quyidagilarni yozing:

lsmod | grep spi

Buni SPI to'g'ri yoqilganligini tekshirish uchun qilishimiz kerak. Shunday qilib, agar siz spi_bcm2835 ni ko'rsangiz, u holda sizning RFID Raspberry Pi tomonidan ro'yxatga olingan va endi siz LCD 1602 ni o'rnatishga o'tishingiz mumkin.

Muammolarni bartaraf qilish; nosozliklarni TUZATISH

Agar biron sababga ko'ra SPI faollashtirilmagan bo'lsa, SPI ishlashini ta'minlash uchun quyidagi amallarni bajaring.

7. Agar biron sababga ko'ra SPI moduli ishga tushmagan bo'lsa, biz Raspberry Pi -da quyidagi buyruqni ishga tushirib yuklash konfiguratsiya faylini qo'lda tahrir qila olamiz.

sudo nano /boot/config.txt

8. Konfiguratsiya fayli ichida "dtparam = spi = on" ni topish uchun Ctrl + W tugmalar birikmasidan foydalaning. Agar siz uni topgan bo'lsangiz, uning oldida # borligini tekshiring. Agar uni o'chirib tashlang, chunki bu faollashtirish chizig'ini izohlaydi. Agar siz chiziqni umuman topa olmasangiz, faylning pastki qismiga "dtparam = spi = on" qo'shing.

O'zgarishlarni kiritgandan so'ng, o'zgarishlarni saqlash uchun Ctrl + X tugmachalarini bosib Y va Enter ni bosing. Siz endi 5 -qadamdan o'tishingiz mumkin, Raspberry Pi -ni qayta ishga tushiring va modul yoqilganligini tekshiring.

Shunday qilib, biz RFID -ni tugatdik va LCD 1602 -ga o'tamiz!

3 -qadam: LCD 1602 ni sozlash

Shunday qilib, LCD displeyni harflarni ko'rsatish uchun biz omborni yuklab olishimiz kerak, shuningdek boshqa narsalarni yuklab olishimiz kerak.

1. LCD omborini o'rnatish uchun terminalni oching va uni kiriting:

git klon

2. Ma'lumotlar omborining to'g'ri o'rnatilganligini tekshirish uchun terminalga bu funktsiyani kiritish kerak:

ls

Agar siz lcd nomli papkani ko'rsangiz, siz omborni muvaffaqiyatli o'rnatdingiz.

3. Endi, biz katalogni o'zgartirishimiz kerak, buni ushbu funktsiyani yozish orqali amalga oshirishimiz mumkin:

CD -disk

4. Nihoyat, biz yangi python faylini yaratishimiz kerak, shuning uchun yangi python 3 faylini yarating va uni yangi papkada saqlang va Security.py deb nomlang.

5. Shundan so'ng, ushbu kodni faylga yozing va saqlang.

#!/usr/bin/env python

RPi. GPIO -ni GPIO sifatida import qilish

import MFRC522 import signalini import vaqti import lcddriver

Continue_reading = To'g'ri

ko'rsatish = lcddriver.lcd ()

# Skript o'chirilganda tozalash uchun SIGINT yozib oling

def end_read (signal, kadr): global Continue_reading nashri ("Ctrl+C yozildi, o'qish tugadi.") Continue_reading = Noto'g'ri GPIO.cleanup ()

# SIGINTni bog'lang

signal.signal (signal SIGINT, end_read)

# MFRC522 sinf ob'ektini yarating

MIFAREReader = MFRC522. MFRC522 ()

# Xush kelibsiz

chop etish ("MFRC522 ma'lumotlarini o'qish misoliga xush kelibsiz") chop etish ("To'xtatish uchun Ctrl-C tugmalarini bosing.")

# Bu tsikl chiplarni tekshirishda davom etadi. Agar u yaqin bo'lsa, UID oladi va autentifikatsiya qilinadi

o'qishni davom ettirishda: # Kartalarni qidirish (holati, TagType) = MIFAREReader. MFRC522_Request (MIFAREReader. PICC_REQIDL)

# Agar karta topilsa

if status == MIFAREReader. MI_OK: chop etish ("Karta aniqlandi") display.lcd_display_string ("Salom inson", 1) display.lcd_display_string ("Kirish huquqi berilgan", 2) time.sleep (1.5) display.lcd_clear () # Get karta UID (holati, uid) = MIFAREReader. MFRC522_Anticoll ()

# Agar bizda UID bo'lsa, davom eting

agar holat == MIFAREReader. MI_OK:

# UID -ni chop etish

chop etish ("Kartani o'qish UID: %s, %s, %s, %s") %(uid [0], uid [1], uid [2], uid [3]) # Bu autentifikatsiya uchun standart kalit key = [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF] # Skaner qilingan tegni tanlang MIFAREReader. MFRC522_SelectTag (uid)

# Tasdiqlash

status = MIFAREReader. MFRC522_Auth (MIFAREReader. PICC_AUTHENT1A, 8, key, uid)

# Tasdiqlanganligini tekshiring

if status == MIFAREReader. MI_OK: MIFAREReader. MFRC522_Read (8) MIFAREReader. MFRC522_StopCrypto1 () else: chop etish ("Autentifikatsiya xatosi")

4 -qadam: Xavfsizlik tizimini ishga soling

Biz hamma narsaga tayyormiz va endi biz nihoyat xavfsizlik tizimini ishga tushiramiz! Ishlash uchun biz terminalni ochishimiz kerak.

1. Ochiq terminal

2. Biz katalogni lcd papkaga o'zgartirishimiz kerak, shuning uchun uni terminalga kiriting:

CD -disk

3. Buni yozing:

python Security.py

Yaxshi! Terminalda "Xavfsizlik tizimiga xush kelibsiz" deb yozilishi kerak.

ID yorlig'ini RFID o'quvchiga joylashtiring va nima bo'lishini ko'ring.

Agar RFID uni o'qisa, u terminalda va LCD displeyda "Salom inson" va uning ostida "Kirish huquqi" ko'rsatiladigan karta aniqlanganini aytadi.

Agar bu siz bilan sodir bo'lmasa, iltimos, o'z davrangizni tekshiring va yordam so'rang

Tavsiya: