Безопасный доступ с помощью считывателя RFID

Carder

Professional
Messages
2,619
Reputation
9
Reaction score
1,719
Points
113
ОГЛАВЛЕНИЕ
  • Компоненты и расходные материалы
  • Приложения и онлайн-сервисы
  • Об этом проекте
  • Код
  • Схехы подключения

В этом руководстве будет показано, как работает считыватель RFID.

КОМПОНЕНТЫ И РАСХОДНЫЕ МАТЕРИАЛЫ

https://hackster.imgix.net/uploads/attachments/1206251/ph-a000066_iso_(1)_ztBMuBhMHo.jpg/IMG]
Arduino UNO.

[IMG]https://hackster.imgix.net/uploads/image/file/111189/13030-01.jpg
Устройство считывания RFID-меток SparkFun.

Карта Adafruit RFID / NFC.

ПРИЛОЖЕНИЯ И ОНЛАЙН-СЕРВИСЫ

IDE_web.jpg

Arduino IDE.

ОБ ЭТОМ ПРОЕКТЕ

Что такое считыватель RFID?
RFID-метка - это система идентификации, которая использует небольшие устройства радиочастотной идентификации для целей идентификации и отслеживания. Система RFID-меток включает саму метку, устройство чтения / записи и приложение хост-системы для сбора, обработки и передачи данных.
Проще говоря, RFID использует электромагнитные поля для передачи данных на короткие расстояния. RFID полезен для идентификации людей, совершения транзакций и т. Д.
Вы можете использовать систему RFID, чтобы открыть дверь. Например, войти может только человек с правильной информацией на своей карте. Система RFID использует:
>> теги, прикрепленные к идентифицируемому объекту, в этом примере у нас есть связка ключей и электромагнитная карта. Каждый тег имеет свой идентификатор (UID).

RFID-Cardpic.jpg

Брелок и электромагнитная карта - обычно используемые теги.
>> двусторонний радиопередатчик-приемник, считыватель, который посылает сигнал на метку и считывает ее ответ.

sku_403052_1.jpg

Приемник радиопередатчика.

Основные характеристики:
  • Входное напряжение: 3,3 В
  • Частота: 13,56 МГц

Теперь, прежде чем набирать необходимый код, вам нужно скачать необходимую библиотеку для этого датчика из этого репозитория .
Извлеките содержимое из zip-папки «rfid-master» и добавьте эту папку библиотеки в существующие библиотеки Arduino.
После этого перезапустите ArduinoIDE.

Теперь наш Arduino готов принимать команды и выполнять их соответствующим образом.
Код Arduino был загружен в конце этого руководства. Скомпилируйте код и устраните опечатки (если есть).
Теперь пришло время подключить наш Arduino к считывателю RFID. См. Схему подключения PIN ниже, а также схему подключения для удобства.

Подключение к Arduino Uno
SDA ------------------------ Цифровой 10
SCK ------------------------ Цифровой 13
MOSI ---------------------- Цифровой 11
MISO ---------------------- Цифровой 12
IRQ ------------------------ не подключен
GND ----------------------- GND
RST ------------------------ Цифровой 9
3,3 В ------------------------ 3,3 В (НЕ ПОДКЛЮЧАЙТЕ К 5 В)

Чтение данных с RFID-метки
После того, как схема будет готова, перейдите в Файл> Примеры> MFRC522> DumpInfo и загрузите код. Этот код будет доступен в Arduino IDE (после установки библиотеки RFID).
Затем откройте монитор последовательного порта. Вы должны увидеть что-то вроде рисунка ниже:

serial-monitor1.png

Поднесите RFID-карту или брелок к считывателю. Поднесите считыватель к бирке ближе, пока не отобразится вся информация.

serial-monitor2.png

Это информация, которую вы можете прочитать с карты, включая UID карты, выделенный желтым цветом. Информация хранится в памяти, которая разделена на сегменты и блоки, как вы можете видеть на предыдущем рисунке.
У вас есть 1024 байта хранилища данных, разделенных на 16 секторов, и каждый сектор защищен двумя разными ключами, A и B.
Запишите свою карту UID, потому что она вам понадобится позже.
Загрузите здесь код Arduino с суффиксом.

Демонстрация
Приблизьте карту, которую вы выбрали для предоставления доступа, и вы увидите:

serial-monitor3.png

Если вы приблизите другой тег с другим UID, появится сообщение об отказе:

serial-monitor4.png

В случае каких-либо вопросов, пожалуйста, оставьте комментарий ниже.

Код Arduino для считывателя RFID Arduino
В приведенном выше фрагменте кода вам нужно изменить if (content.substring (1) == «REPLACE WITH YOUR UID») и ввести карту UID, которую вы написали ранее.
Code:
#include <SPI.h>
#include <MFRC522.h>
 
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance.
 
void setup()
{
  Serial.begin(9600);   // Initiate a serial communication
  SPI.begin();      // Initiate  SPI bus
  mfrc522.PCD_Init();   // Initiate MFRC522
  Serial.println("Approximate your card to the reader...");
  Serial.println();

}
void loop()
{
  // Look for new cards
  if ( ! mfrc522.PICC_IsNewCardPresent())
  {
    return;
  }
  // Select one of the cards
  if ( ! mfrc522.PICC_ReadCardSerial())
  {
    return;
  }
  //Show UID on serial monitor
  Serial.print("UID tag :");
  String content= "";
  byte letter;
  for (byte i = 0; i < mfrc522.uid.size; i++)
  {
     Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
     Serial.print(mfrc522.uid.uidByte[i], HEX);
     content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
     content.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  Serial.println();
  Serial.print("Message : ");
  content.toUpperCase();
  if (content.substring(1) == "BD 31 15 2B") //change here the UID of the card/cards that you want to give access
  {
    Serial.println("Authorized access");
    Serial.println();
    delay(3000);
  }
 
 else   {
    Serial.println(" Access denied");
    delay(3000);
  }
}

Схема подключения

Mifare_bb.png


 
Top