Взгляд изнутри: RFID в современном мире. Часть 1: RFID в быту / Хабр

Rfid запись

Третий урок из цикла «Всё про RFID».
Сегодня мы продолжим изучать RFID считыватель на базе микросхемы RC522.
В первой части была теория, во второй мы сделали электронный rfid замок с доступом по карте или брелоку. Теперь настала очередь рассмотреть запись на карту

Давайте представим, что мы некое предприятие и у нас есть группа сотрудников и нам надо выпустить именные карты для допуска этих сотрудников в офис.

В этом уроке мы научимся писать на карту свою фамилию и имя, номер офиса, а в следующем уроке добавим время прихода и ухода.

Чтение и запись rfid меток не сложный процесс. Надо просто понять принцип и знать структуру rfid карты, а с модулем RFID RC522 и Ардуино – это вообще просто, так как большинство функций прописано в библиотеке MFRC522.h.
Rfid  карта состоит из секторов и блоков, подробнее смотрите урок 1.

сектора и блоки
Сначала посмотрим, как подключить модуль считывания RC522 к Ардуино.  Для тех, кто смотрел предыдущий урок и не поленился собрать свой замок мои поздравления. Напишите кто собрал замок.
Объяснять схему не буду, и так всё понятно. Если что не понятно пишите в комментариях.

подключение

Сначала посмотрим, что получилось, а потом рассмотрим скетч.

Сначала давайте посмотрим дамп карты. Для этого загружаем из скетч dumpinfo.

Прикладываем карту к считывателю и ждём пока не считаются все данные.
Нас интересуют сектора 1 и 2.

В нулевом блоке хранится служебная информация. Эта информация не перезаписываемая и прошита производителем. По крайней мере на картах  которые идут в комплекте с модулем. Существуют карты где и эту информацию можно перезаписывать.
В первых  4 байтах находится  серийный номер карты, а в оставшихся байтах информация о производителе. 

В первом блоке сейчас находятся нули, это говорит о том что там нет информации. Её также нет и во втором и четвёртом блоке. Эти блоки мы будем использовать для записи и хранения нашей информации.

дамп-карты
Сначала запускаем Пример 1.
пример-1
Нас просят поднести карту для считывания.
Что же, давайте так и сделаем.
Дождёмся окончания.

Что мы здесь видим, точнее, увижу только я, так как у вас пока чистая карта и вы ничего не увидите, ну кроме НОМЕРА КАРТЫ.

  • В сектор 1 у меня записана ФАМИЛИЯ.
  • В секторе 2  ИМЯ
  • Третий сектор использовать нельзя, так как это трейлер.
  • А в четвёртом секторе НОМЕР КАБИНЕТА.

Давайте рассмотрим скетч.
скетч
Как подключен модуль rc522 я рассказывать не буду. Давайте сразу перейдём  к считыванию секторов.
В самом начале мы должны проверить ключ карты и если он совпадает, то продолжаем работу.
По умолчанию для новой карты ключ равен FFFFFF.
Потом ждём пока не появится новая карта.
Выводим номер КАРТЫ в шестнадцатеричной системе. С этим всё понятно из предыдущего урока.
Код для вывода фамилии, имени и кабинета одинаков.
Меняется только номер блока. Поэтому я расскажу только про фамилию.

  • Создаём массив – буфер –  для хранения значений.
  • Указываем номер блока.
  • Затем в статус загружаем разные значения.

Такие как – Ключ карты, номер блока, UID карты.
Если всё правильно то можно работать дальше, а если нет, то выскочит ошибка и скетч прекратит работу.
Дальше мы в цикле выводим все 16 байт из блока.

И так со всеми блоками, то есть с блоками 1, 2 и 4.
Со считыванием разобрались, теперь давайте разбираться с записью.

Загружаем скетч Пример 2.
запись на карту
Поднести карту.

Кстати там есть ограничение на время ожидания ввода текста. Я установил 60 секунд.
ограничение
Сначала вводим ФАМИЛИЮ  и символ «решётка». Этот символ даёт знать, что ввод окончен и надо обработать текст. Нажимаем ENTER.
Затем вводим ИМЯ и снова вводим решётку и нажимаем ENTER.
Теперь вводим номер кабинета, решётку и ENTER.
И если после каждого ввода у вас не было ошибок и вы видите надпись УБЕРИТЕ КАРТУ, то значит всё прошло хорошо, и теперь можно перейти к ПРИМЕРУ 1 и считать ваши записи с карты.
Записывать на карту можно до 200 тыс. раз, так что можете тренироваться и не ограничивать себя.

Ну вот и всё. Всё работает. И как всегда в конце урока я прошу вас поставить лайк этому видео если оно вам понравилось. И жду ваших комментариев.
Следующее видео будет про копирование и клонирование карт.
И чем больше ваших положительных отзывов, тем быстрее оно выйдет.
До встречи в следующих уроках.
Как и обещал, хочу рассказать про русский шрифт. Если вы будете делать записи на латинице, то в каждом блоке вы можете сохранить до 16  символов. А вот если вы будете писать на кириллице, то всего лишь 8 букв.

Это потому, что для хранения будут использован формат Unicode , а он требует для хранения 2 байта. 

Постскриптум.

Я ещё написал код для очистки блоков карт. Правда, это только набросок, но он вполне рабочий.

Rfid система контроля доступа для дверного замка

Давайте создадим небольшой проект на Arduino, чтобы продемонстрировать, как простой модуль RFID считывателя RC522 можно использовать для создания RFID системы контроля доступа для дверного замка. Наша программа будет сканировать уникальный идентификатор каждой RFID метки, когда она достаточно близко, чтобы запитываться от считывателя RC522.

Так выглядит результат.

Рисунок 13 Демонстрация работы RFID системы контроля доступа для дверного замка
Рисунок 13 – Демонстрация работы RFID системы контроля доступа для дверного замка

Конечно, этот проект можно привязать к открытию дверей, включению реле, включению светодиода или к чему-то еще.

Если вы не знакомы с символьными LCD дисплеями размером 16×2, то взгляните на эту статью.

Прежде чем мы перейдем к загрузке кода и сканированию меток, давайте посмотрим на принципиальную схему проекта.

Рисунок 14 RFID система контроля доступа для дверного замка. Подключение RFID считывателя RC522 и LCD дисплея к Arduino
Рисунок 14 – RFID система контроля доступа для дверного замка. Подключение RFID считывателя RC522 и LCD дисплея к Arduino

Всё! Теперь попробуйте приведенный ниже скетч в работе.

#include <SPI.h>
#include <MFRC522.h>
#include <LiquidCrystal.h>

#define RST_PIN 9
#define SS_PIN 10

byte readCard[4];
String MasterTag = "20C3935E";	// ЗАМЕНИТЕ этот ID метки на ID своей метки!!!
String tagID = "";

// Создание объектов
MFRC522 mfrc522(SS_PIN, RST_PIN);
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); //Параметры: (rs, enable, d4, d5, d6, d7) 

void setup() 
{
  // Инициализация
  SPI.begin();        // SPI шина
  mfrc522.PCD_Init(); // MFRC522
  lcd.begin(16, 2);   // LCD дисплей

  lcd.clear();
  lcd.print(" Access Control ");
  lcd.setCursor(0, 1);
  lcd.print("Scan Your Card>>");
}

void loop() 
{
  
  // Ждем, пока не будет доступна новая метка
  while (getID()) 
  {
    lcd.clear();
    lcd.setCursor(0, 0);
    
    if (tagID == MasterTag) 
    {
      lcd.print(" Access Granted!");
      // Вы можете написать здесь любой код, например, открывание дверей,
      // включение реле, зажигание светодиода или что-то другое, что взбредет вам в голову.
    }
    else
    {
      lcd.print(" Access Denied!");
    }
    
    lcd.setCursor(0, 1);
    lcd.print(" ID : ");
    lcd.print(tagID);
      
    delay(2000);

    lcd.clear();
    lcd.print(" Access Control ");
    lcd.setCursor(0, 1);
    lcd.print("Scan Your Card>>");
  }
}

// Чтение новой метки, если она доступна
boolean getID() 
{
  // Получение готовности для чтения PICC карт
  if ( ! mfrc522.PICC_IsNewCardPresent()) 
  { // Продолжать, если к RFID считывателю поднесена новая карта
    return false;
  }
  
  if ( ! mfrc522.PICC_ReadCardSerial()) 
  { // Когда карта поднесена, считать серийный номер и продолжить
    return false;
  }
  
  tagID = "";
  for ( uint8_t i = 0; i < 4; i  ) 
  { // Карты MIFARE, кторые мы используем, содержат 4-байтовый UID
    //readCard[i] = mfrc522.uid.uidByte[i];
    tagID.concat(String(mfrc522.uid.uidByte[i], HEX)); // Сложить эти 4 байта в одну переменную String
  }
  tagID.toUpperCase();
  mfrc522.PICC_HaltA(); // остановить чтение
  return true;
}

Программа довольно проста. Сначала мы включаем необходимые библиотеки, определяем выводы Arduino, создаем объекты LCD и MFRC522 и определяем главную метку.

#include <SPI.h>
#include <MFRC522.h>
#include <LiquidCrystal.h>

#define RST_PIN 9
#define SS_PIN 10

byte readCard[4];
String MasterTag = "20C3935E";	// ЗАМЕНИТЕ этот ID метки на ID своей метки!!!
String tagID = "";

// Создание объектов
MFRC522 mfrc522(SS_PIN, RST_PIN);
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); //Параметры: (rs, enable, d4, d5, d6, d7) 

В функции setup() мы инициализируем интерфейс SPI, объект MFRC522 и LCD дисплей. После этого мы печатаем на LCD дисплее приветственное сообщение.

void setup() 
{
  // Инициализация
  SPI.begin();        // SPI шина
  mfrc522.PCD_Init(); // MFRC522
  lcd.begin(16, 2);   // LCD дисплей

  lcd.clear();
  lcd.print(" Access Control ");
  lcd.setCursor(0, 1);
  lcd.print("Scan Your Card>>");
}

В функции loop() мы ждем, пока не будет отсканирована новая метка. Как только это будет сделано, мы сравним неизвестную метку с мастер-меткой, определенной в функции setup(). Всё! Если ID метки совпадает с ID мастера, доступ предоставляется, в противном случае в доступе будет отказано.

void loop() 
{
  
  // Ждем, пока не будет доступна новая метка
  while (getID()) 
  {
    lcd.clear();
    lcd.setCursor(0, 0);
    
    if (tagID == MasterTag) 
    {
      lcd.print(" Access Granted!");
      // Вы можете написать здесь любой код, например, открывание дверей,
      // включение реле, зажигание светодиода или что-то другое, что взбредет вам в голову.
    }
    else
    {
      lcd.print(" Access Denied!");
    }
    
    lcd.setCursor(0, 1);
    lcd.print(" ID : ");
    lcd.print(tagID);
      
    delay(2000);

    lcd.clear();
    lcd.print(" Access Control ");
    lcd.setCursor(0, 1);
    lcd.print("Scan Your Card>>");
  }
}

Ключевым моментом в проекте является пользовательская функция getID(). Как только она просканирует новую карту, внутри цикла for она преобразует 4 байта UID в строки и объединяет их для создания одной строки.

boolean getID() 
{
  // Получение готовности для чтения PICC карт
  if ( ! mfrc522.PICC_IsNewCardPresent()) 
  { // Продолжать, если к RFID считывателю поднесена новая карта
    return false;
  }
  
  if ( ! mfrc522.PICC_ReadCardSerial()) 
  { // Когда карта поднесена, считать серийный номер и продолжить
    return false;
  }
  
  tagID = "";
  for ( uint8_t i = 0; i < 4; i  ) 
  { // Карты MIFARE, кторые мы используем, содержат 4-байтовый UID
    //readCard[i] = mfrc522.uid.uidByte[i];
    tagID.concat(String(mfrc522.uid.uidByte[i], HEX)); // Сложить эти 4 байта в одну переменную String
  }
  tagID.toUpperCase();
  mfrc522.PICC_HaltA(); // остановить чтение
  return true;
}

Оригинал статьи:

Rfid: метки для всех №1

Взгляд изнутри: RFID в современном мире. Часть 1: RFID в быту / Хабр

RFID (Radio frequency identification, радиочастотная идентификация) — метод удалённого хранения и получения данных с помощью устройств, называемых RFID-метками.
RFID-метка – это небольшой объект, который может быть связан или объединен с продуктом, человеком, животным.
RFID-метки содержат антенны, позволяющие им получать и отправлять сигнал радиочастотной идентификации, запрашиваемый из RFID-трансивера. Пассивные метки не нуждаются во внутреннем источнике питания, тогда как в активных метках он необходим. 

История

Полагается, что первое известное устройство было инструментом для
шпионажа и было изобретено Львом Тереминым для Советского правительства в 1945 году. Устройство Теремина было подслушивающим устройством, а не идентификационной меткой. Технология, используемая в RFID, была в ходу еще в начале 1920-х
(по сведениям одного источника, хотя тот же источник заявляет, что RFID-системы появились только в конце 60-х.).
Похожая технология, импульсный приемопередатчик IFF, была изобретена англичанами в 1939 году и
обычно использовалась союзниками во Второй Мировой Войне чтобы идентифицировать
самолеты в системе “свой-чужой”. Другая ранняя работа по исследованию RFID
– значительный труд Гарри Стокмана, озаглавленный “Communication by Means of Reflected Power” (октябрь 1948).
Однако потребовалось еще 13 лет
значительного прогресса во многих областях,
прежде чем RFID технология не стала реальностью.

Типы RFID-меток

Как уже мы говорили, RFID-метки могут быть активными или пассивными. 

У пассивных RFID-меток нет внутреннего источника питания.
Электрический заряд получается со входящим
радиосигналом, он обеспечивает достаточную мощность для
передачи ответ. Ожидаемый ответ пассивной RFID-метки (сигнал ограниченной мощности) представляет собой резюме – обычно ID number (GUID). Отсутствие
питания означает, что устройство может быть достаточно маленьким: существует коммерчески доступный продукт, который может быть внедрен под кожу. На 2005 год, самые маленькие коммерчески доступные устройства
0.4х0.4 мм, что тоньше листа бумаги, такие устройства практически невидимы. Пассивные метки на практике читаются с расстояния примерно от 10 миллиметров до 6 метров.

Активные RFID-метки, с другой стороны, имеют внутренний источник питания и могут иметь более дальний диапазон и больший объем памяти чем пассивные метки, так как есть возможность запоминать информацию, посланную через трансивер. Сейчас самые маленькие активные метки имеют размер с монету. Многие активные метки имеют диапазон в десятки метров, а батарейка работает до 10 лет.

Так как пассивные метки дешевле для производства и у них нет батареи, большая часть RFID-меток относится к пассивной разновидности. На 2004 год эти метки стоили от
40 центов. Пока это достаточно дорого для
массового применения, однако при
значительных объемах производства (10 биллионов единиц в год)
стоимость одной метки может упасть до 5
центов. Пока это самый оптимистический
прогноз, аналитики из Gartner и Forrester Research согласны, что цена меньше
10 центов (объема продукции в 1 биллион единиц) достижима через 6-8 лет,
остальные аналитики верят, что такие цены достижимы в пределах 10-15 лет.

В то время как ценовые преимущества пассивных меток над активными значительны, остальные факторы, включая точность
надежность работы в определенных средах, например, в воде и металле, и надежность делают использование активных меток довольно обычным на сегодняшний день.

Есть 4 различных типа меток, которые обычно используются. Они разделены на категории по их радиочастотности: метки низкой частотности (125
или 134.2 кГц), метки высокой частотности (13.56 МГц), метки ультравысокой частотности (UHF марки,
868-956 МГц), и микроволновые марки (2.45 ГГц). UHF марки не могут быть использованы повсеместно, так как нет никаких всеобщих правил по их использованию.

Существуют так же некоторые устройства-приемоответчики и карты с бесконтактными чипами, которые выполняют схожие функции.

Система RFID

Система RFID может состоять из нескольких компонентов: tags, tag readers, edge servers,
middleware и application software.

Цель системы RFID в том, чтобы запускать передачу информации мобильным устройством, которое называется марка. Информация читается RFID-считывателем и перерабатывается согласно нуждам специфических приложений. Информация, передаваемая маркой, может обеспечивать идентификацию и информацию о местоположении, или специфику маркированного продукта, такую как цена, цвет, дата покупки и др. Использование RFID в слежении и приложениях доступа впервые появилось в 1980-х. RFID быстро привлек внимание из-за его способности отслеживать движущиеся объекты. Так как технология была усовершенствована, начинается ее распространение и у RFID-меток появляется все больше активных пользователей.

В типичной RFID-системе индивидуальные объекты оборудованы маленькими недорогими марками. Марка содержит транспондер с цифровым чипом памяти, который дает уникальный электронный код продукта. Запрашивающее устройство, антенна,
совмещенная с трансивером и декодером, излучает сигнал, активирующий RFID-метку, так что она может читать и записывать информацию
в себя. Когда RFID-метка проходит через электромагнитную зону, она обнаруживает активизирующий сигнал читающего устройства. Читающее устройство расшифровывает информацию, закодированную в 
чипе и информация посылается серверу для обработки.

Возьмем, как пример, книги в библиотеке. Охранная арка может обнаружить была ли книга соответствующим образом оформлена на получение. Когда пользователи возвращают предметы, часть работы охраны – заново установить метку, и запись предмета в интегрированной системе библиотеки автоматически обновляется. В некоторых RFID возвратная квитанция может быть сгенерирована,
а  сама книга может быть размещена в
стеллаже возвратным оборудованием. 

Текущее использование

Пример: метки в 13.56 МГц размещены в рецептах для ветеранов с плохим зрением. Лекарства
Департамента по делам ветеранов сейчас
поставляются с активными метками. Эти 
устройства хранят такую информацию как: название лекарства,
инструкция, меры предосторожности и др. RFID-метки с низкой частотностью обычно используются для идентификации животных. Домашним животным можно имплантировать небольшие чипы, которые позволят им быстрее вернуться к хозяину в случае если они потеряются.
Кстати и пивные бочонки так же отслеживаются с помощью низкочастотных RFID-меток. В Америке используется два типа RFID-меток: 125 кГц (первоначальный стандарт) и 134.2 кГц (международный стандарт).

Высокочастотные RFID-метки используются в библиотечных книгах и в книжных магазинах, спутниковом слежении,
осуществлении контроля доступа,
отслеживании авиагрузоперевозок,
отслеживании предметов снаряжения. Высокочастотные метки широко используются в идентифицирующих бейджах, заняв место более ранних карт с магнитной полоской. Эти бейджи
для подтверждения подлинности носителя не
надо прикладывать к считывающему
устройству, а достаточно лишь пройти рядом
с ним. Кредитная карта American Express Blue включает в себя высокочастотную RFID-метку,
для функции ExpressPay. 

UHF RFID-метки обычно используются в спутниковом и контейнерном слежении, а так же для
наблюдения за грузовиками и трейлерами при грузоперевозках.

Зачастую предполагается, что RFID-метки – это замена
штрихкодов. Возможно, они никогда не
заменят штрихкоды целиком, что частично объясняется их более высокой ценой.
Для отдельных дешевых товаров большая
стоимость метки неприемлема, несмотря на
все преимущества, которые предоставляет
метка (представьте себе хотя бы
инвентаризацию в магазине). Так же можно принять во внимание, что хранение информации
по отдельным товарам занимает довольно
иного места, так что наиболее вероятная
ситуация – слежение за партиями товара
начиная с паллетов или за дорогими,
штучными изделиями.

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

В январе 2003 компания Michelin начала тестирование RFID транспондеров, вмонтированных в шины.
Сейчас уже производитель предлагает шины с RFID-метками.
Начинающаяся с 2004 года, опция Smart Key доступна для Toyota Prius и некоторых моделей Lexus. Ключ-брелок использует активную RFID-схему, которая позволяет машине подтверждать наличие ключа в пределах 3 футов от сенсора. Водитель может открыть двери и завести машину в то время как ключ остается в кошельке или кармане.

Имплантаты для людей

Имплантируемые RFID чипы, разработанные для маркировки животных, сейчас так же используются людьми. Ранний эксперимент с RFID имплантатом был проведен английским ученым-кибернетиком Кевином Варвиком, который имплантировал чип в свою руку в 1988 году. Благодаря использованному цифровому решению
Кевин решил проблему обеспечения доступа в
дом, компьютерного доступа, хранения медицинских записей,
работы с различными правоохранительными приложениями. Baja Beach Club в Барселоне использует имплантируемый чип для идентификации VIP клиентов, которые в свою очередь используют его для оплаты напитков.
Отделение полиции в Мехико имплантировало приблизительно 170 своим офицерам чип, чтобы разрешить доступ к полицейским базам данных и иметь возможность отследить их в случае похищения.
Амал Граафстра, уроженец штата Вашингтон, бизнесмен, имплантировал RFID чип в свою левую руку в начале 2005 года. Размер чипа составлял 12мм в длину и 2 мм в ширину. 

(Продолжение следует)

Всё ли так хорошо?

Использование RFID вызвало серьезные споры, и некоторые защитники конфиденциальности потребителей инициировали бойкот продукции. Эксперты по защите прав потребителей Кэтрин Альбрехт и Лиз Макинтайр, два выдающихся критика, назвали две основные проблемы конфиденциальности в отношении RFID, которые заключаются в следующем:

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

Если отмеченный товар оплачивается кредитной картой или в сочетании с использованием карты лояльности, то можно будет косвенно установить личность покупателя, прочитав глобальный уникальный идентификатор этого товара, содержащийся в теге RFID. Это возможно, если человек, наблюдающий, также имел доступ к данным карты лояльности и кредитной карты, а человек с оборудованием знает, где будет покупатель.

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

Безопасность
Безопасность
  • Метки (в дальнейшем “теги”) не должны ставить под угрозу конфиденциальность их владельцев. 

  • Информация не должна передаваться неавторизованным читателям и не должна дать возможность создания долгосрочных ассоциаций отслеживания между тегами и их владельцами.

  • Чтобы предотвратить отслеживание, владельцы должны иметь возможность обнаруживать и отключать любые теги, которые они несут.

  • Общедоступные выходные данные тегов должны быть случайными или легко изменяемыми, чтобы избежать долгосрочных ассоциаций между тегами и держателями.

  • Содержимое частного тега должно быть защищено контролем доступа и, если предполагается, что каналы опроса небезопасны, шифрованием.

  • И теги, и читатели должны доверять друг другу. Спуфинг любой из сторон должен быть практически невозможным. 

  • Помимо обеспечения механизма контроля доступа, взаимная аутентификация между тегами и считывателями также обеспечивает определенную степень доверия. Атаки с перехватом сеанса и повторным воспроизведением также вызывают беспокойство. Индукция отказа или прерывание питания не должны нарушать протоколы или открывать окна для попыток взлома. И теги, и считыватели должны быть устойчивы к повторному воспроизведению или атакам типа «злоумышленник в середине».

Обзор аппаратного обеспечения – модуль чтения / записи rf522 rfid

RFID модуль RC522 на основе микросхемы MFRC522 от NXP – это один из самых недорогих вариантов RFID, который вы можете найти в интернете менее чем за четыре доллара. Обычно он поставляется с картой RFID метки и брелоком с объемом памяти 1 КБ. И что лучше всего, он может записать метку, чтобы вы могли хранить в ней свое секретное сообщение.

Рисунок 3 Модуль RFID считывателя RC522 с меткой-картой и меткой-ключом
Рисунок 3 – Модуль RFID считывателя RC522 с меткой-картой и меткой-ключом

Модуль считывателя RFID RC522 предназначен для создания электромагнитного поля на частоте 13,56 МГц, которое он использует для связи с метками RFID (стандартные метки ISO 14443A). Считыватель может взаимодействовать с микроконтроллером через 4-контактный последовательный периферийный интерфейс (SPI) с максимальной скоростью передачи данных 10 Мбит/с. Он также поддерживает связь по протоколам I2C и UART.

У модуля имеется вывод прерывания. Это удобно потому, что вместо того, чтобы постоянно опрашивать RFID модуль «есть ли карта в поле зрения?», модуль сам предупредит нас, когда метка окажется рядом.

Рабочее напряжение модуля составляет от 2,5 до 3,3 В, но хорошая новость заключается в том, что логические выводы допускают напряжение 5 вольт, поэтому мы можем легко подключить его к Arduino или любому микроконтроллеру с 5-вольтовой логикой без использования какого-либо преобразователя логических уровней.

Характеристики RFID модуля RC522
Частотный диапазон13,56 МГц, ISM диапазон
ИнтерфейсSPI / I2C / UART
Рабочее напряжение питанияот 2,5 В до 3,3 В
Максимальный рабочий ток13-26 мА
Минимальный ток (отключение питания)10 мкА
Логические входыдопускают 5 В
Расстояние считывания5 см

Повторное использование rfid меток

В типичных прикладных RFID системах

повторно метки не применяются. Тем не менее повторное использование меток может радикально снизить расходы на оборудование, связанное с прикладной системой, и таким образом уменьшить ее полную стоимость владения. Наконец, стоимость меток обычно является единственным видом периодических издержек на оборудование для любой

прикладной RFID системы

без повторного использования меток.

Хотя

повторное использование RFID меток

может казаться хорошей идеей, вы должны будете

ответить на следующие вопросы

перед решением об их повторном использовании:

1.

какими причинами компания обосновывает повторное использование метки?

2.

в каких точках метка может восстанавливаться для повторного использования?

3.

какие этапы потребуются для повторного использования метки и последующего ввода ее в обращение?

Экономическое обоснование повторного использования RFID меток зависит от ряда факторов, включая следующие:
1.Потребность в дополнительном персонале. Вам может или не может потребоваться дополнительный персонал в зависимости от характеристик операций и стратегии повторного использования.
2.Тренировка персонала. Хотя ей часто пренебрегают, но обычно для эксплуатационного персонала необходима некоторая форма практического обучения правильному сбору и повторному использованию меток. Если ваш персонал не будет обучен надлежащим образом, то у вас возникнет риск повреждения меток в течение фазы повторного использования.
3.Затраты на обработку. Как правило, с RFID меткой связаны некоторые затраты на обработку.
4.Характеристики операций. Одной из них являются размеры физической распределенности операций. К примеру, при внедрении нашими специалистами складской RFID системы учета продукции для одного из предприятий, повторное использование меток было полностью оправдано, так как в основном сотрудники Заказчика выполняют складские операции с малой физической распределенностью в одном большом помещении, а не широко географически распределенные операции. И такие применения более реалистичны для бизнес-операций, выполняемых “под одной крышей”, чем для операций, охватывающих несколько географических регионов.
5.Ресурсы, необходимые для изменения каких-либо бизнес-процессов. Вы должны определить, нужно ли вам подстраивать любые из существующих бизнес-процессов к процессу повторного использования. Если это так, то вы должны будете рассчитать дополнительные ресурсы (например, время, деньги и персонал), необходимые для работы с этими измененными процессами.
6.Стоимость влияния на существующие бизнес-процессы. Нужно ли вам подстраивать какие-либо параметры операций (например, скорость загрузки автомобиля для отправки товара или скорость движения конвейера)? Если да, то как эти изменения воздействуют на общую эффективность операций?

Все эти перечисленные факторы потенциально увеличивают эксплуатационные расходы. Будет ли экономия от повторного использования меток перевешивать общие расходы, связанные с этими факторами? Если да, то разработчикам определенно следует рассмотреть вариант с повторным применением. Если в прикладной системе используются дорогие активные (и даже пассивные) RFID метки, то разработчикам следует серьезно подумать об экономическом обосновании повторного использования.

Если предположить, что

повторное употребление RFID меток

может быть оправданно, то в какой точке операции будут собираться радиометки, прикрепленные к предметам? В общем случае вам следует собирать радиометки в конце жизненного цикла маркированного предмета. В зависимости от определения жизненного цикла предмета этой точкой может быть момент его выхода со сборочной линии (в случае с автомобилем) или его готовность к переработке (барабан с химическим веществом). Процесс сбора будет, скорее всего, вводить дополнительные этапы обработки в бизнес-операции. Тем не менее получаемая от повторного использования экономия может с избытком компенсировать накладные расходы, связанные с такими дополнительными этапами.

Как после сбора RFID меток вам сделать их вновь полезными? Вы можете предположить, что по меньшей мере нужно стереть данные в радиометке. Однако это не так. Если конец жизненного цикла маркированного объекта означает, что объект “мертв и готов” по отношению к операциям, вы просто можете повторно использовать идентификатор радиочастотной метки этого объекта для нового, “живого” объекта в самом начале его жизненного цикла. Получаемая от повторного использования меток экономия может с избытком компенсировать накладные расходы, связанные с этими дополнительными этапами.

Попытка взлома

Для нашего эксперимента мы приобрели на «Авито» комплект замка: контроллер Iron Logic Z5R со встроенным RFID-считывателем, электромагнитный замок, кнопку отпирания и набор RFID-карт. Сам контроллер является универсальным и может работать не только с RFID-картами, но и с ключами iButton. Многие, наверное, знакомы с такими: металлическая таблетка, похожая на батарейку, вставленная в пластиковую ручку.

Мы прорабатывали две базовые идеи взлома замка. Первая заключалась в том, чтобы открыть его с помощью простого магнита, например, от компьютерного жесткого диска. В жестком диске такие магниты используются в системе управления «голосовой» головкой, читающей данные с магнитных «блинов». Дело в том, что в некоторых RFID-системах используются небольшие SMD-реле. Они управляются контроллером.

Когда контроллер не «видит» зарегистрированный ключ, реле пропускает через себя электрический ток — замок закрыт. Если в поле «зрения» контроллера появляется зарегистрированный ключ, на реле перестает подаваться управляющее напряжение, и оно размыкается — замок открыт.

Такой способ, например, хорошо работает с RFID-замками китайской компании Hfeng. Она поставляет замки в Россию, США и еще несколько стран. Но в случае с контроллером Z5R это не сработало. Дело в том, что в нем, в отличие от китайских замков, для управления замком используются не реле, а транзисторы, которым на изменение магнитного поля глубоко наплевать: пока на затвор подается напряжение, транзистор пропускает ток, как только оно исчезает — перестает.

Вторая идея заключалась в перехвате уже декодированных данных с RFID-ключей на контроллере. Такое тоже возможно, особенно на замках, где приемо-передатчик и контроллер выполнены на разных платах. В этом случае приемо-передатчик принимает данные с карты, декодирует их, а затем уже декодированные данные отправляет контроллеру. Тот сопоставляет их с данными в базе и открывает замок.

В этом случае можно установить «жучок» (в нашем случае контроллер ESP8266 с Wi-Fi с версией прошивки NodeMCU), который будет перехватывать передаваемый по проводам код и отображать его в собственном веб-интерфейсе. Этот код затем можно записать на другую карту и использовать ее для прохода или передать сразу в линию контроллеру по команде из того же веб-интерфейса.

Но все оказалось гораздо сложнее. Доставшийся нам контроллер Z5R установлен в пластиковом корпусе над принимающей антенной и целиком залит компаундом. При этом управляющий чип расположен на нижней стороне, и добраться до него, не сломав устройство, практически невозможно.

Предисловие

Итак, стоит, наверное, напомнить, что вскрытие меток для меня явилось продолжением хобби работы с электронной микроскопией и распила

в далёком уже 2022 году. В

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

К этой статье, пожалуй, мало что можно добавить на сегодняшний день: всё те же 3(4) самых распространённых стандарта LF (120-150 kHz), HF (13.65 MHz – подавляющее большинство меток работает в этом диапазоне), UHF (фактически тут два частотных диапазона 433 и 866 MHz), за которыми тянется ещё парочка менее известных; те же принципы работы – индуцирование радиоволнами питания чипа и обработка входящего сигнала с выдачей информации обратно в приёмник.

В общем и целом, RFID-метка выглядит примерно так: подложка, антенна и сам чип.

Метка Tag-it от Texas Instruments

Однако, серьёзно поменялся «ландшафт» применения этих меток в быту.

Если в 2022ом году NFC (Near-Field Communication) был диковиной штукой в смартфоне, которым не понятно, как и где можно было воспользоваться. А такие гиганты, как, например, Sony, активно продвигали NFC и RFID, как способ подключать устройства (колонка от первой Sony Xperia, которая подключается магическим образом от касания телефона – Вау! Шок контент!) и изменять состояния (например, пришли домой, провели по метке, телефон включил звук, подключился к WiFi и т.д.), что по моим ощущениям не пользовалось особой популярностью.

То в 2022ом только ленивый не пользуется wireless картами (всё тот же NFC по большому счёту), телефонами с виртуальными картами (сестра при смене телефона настоятельно требовала NFC в оном) и прочими «упрощателями» жизни на базе этой технологии. RFID стали неотъемлемой частью нашей повседневной жизни: одноразовые проездные в автобус, карточки для прохода в многие офисные и не только здания, мини-кошельки внутри организаций (как, например, CamiPro в EPFL) «и прочая, и прочая, и прочая».

Собственно, именно поэтому набралось такое огромное количество меток, каждую из которых хочется вскрыть и посмотреть, что же прячется внутри: чей чип установлен? защищён ли он? что за антенна стоит?

Но обо всём по порядку…
Взгляд изнутри: RFID в современном мире. Часть 1: RFID в быту / Хабр
Именно эти крохотные кусочки кремния сделали наш мир таким, каким мы его знаем сегодня

Распиновка rfid модуля rc522

Модуль RC522 имеет всего 8 контактов, соединяющих его с внешним миром.

Рисунок 4 Распиновка RFID модуля считывателя RC522
Рисунок 4 – Распиновка RFID модуля считывателя RC522

VCC обеспечивает питание для модуля. Напряжение питания может быть в диапазоне от 2,5 до 3,3 вольт. Вы можете подключить его к выходу 3.3V вашей платы Arduino. Помните, что подключение его к выводу 5V, скорее всего, выведет модуль из строя!

RST – вход для сброса и отключения питания. Когда на этот вывод подается низкий логический уровень, запускается жесткое отключение питания. Оно отключает всех внутренних потребителей тока, включая генератор, и входные выводы отключаются от внешних цепей. Во время нарастающего фронта на этом выводе модуль сбрасывается.

GND вывод земли, должен быть подключен к выводу GND на Arduino.

IRQ – вывод прерывания, который может предупредить микроконтроллер, когда поблизости будет RFID метка.

Вывод MISO / SCL / Tx действует либо как Master-In-Slave-Out (вход ведущего – выход ведомого) при включенном интерфейсе SPI, либо как последовательный тактовый сигнал при включенном интерфейсе I2C, либо как выход последовательных данных при включенном интерфейсе UART.

MOSI (Master Out Slave In) – вход SPI для модуля RC522.

SCK (Serial Clock) принимает тактовые импульсы, предоставляемые мастером на шине SPI, то есть Arduino.

Вывод SS / SDA / Rx действует либо как вход, когда включен интерфейс SPI, либо как линия последовательных данных, когда включен интерфейс I2C, либо как вход последовательных данных, когда включен интерфейс UART.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *