Arduino rfid. Введение в RFID с Arduino: работа с модулем MFRC522

Как работает RFID с Arduino. Какое оборудование нужно для работы с RFID-метками. Как подключить модуль MFRC522 к Arduino. Как считывать и записывать данные на RFID-метки с помощью Arduino. Какие возможности предоставляет библиотека MFRC522 для Arduino.

Что такое RFID и как она работает

RFID (Radio Frequency IDentification) — это технология радиочастотной идентификации объектов с помощью специальных меток. RFID-система состоит из трех основных компонентов:

  • RFID-метки (транспондеры) — небольшие электронные устройства, содержащие уникальный идентификатор и память для хранения данных
  • RFID-считыватель — устройство для считывания/записи информации с меток
  • Управляющий компьютер или микроконтроллер для обработки данных

Принцип работы RFID заключается в следующем:

  1. RFID-считыватель генерирует радиосигнал определенной частоты
  2. Метка, попадая в зону действия считывателя, получает энергию от этого сигнала
  3. Метка отправляет ответный сигнал со своим уникальным идентификатором
  4. Считыватель принимает этот сигнал и передает данные на управляющее устройство

Такой способ позволяет бесконтактно идентифицировать объекты на расстоянии от нескольких сантиметров до нескольких метров.


Оборудование для работы с RFID на Arduino

Для реализации простой RFID-системы на базе Arduino понадобится следующее оборудование:

  • Плата Arduino (например, Arduino Uno)
  • RFID-модуль MFRC522
  • RFID-метки или карты стандарта Mifare Classic 1K
  • Соединительные провода

MFRC522 — это популярный недорогой RFID-модуль, работающий на частоте 13.56 МГц. Он позволяет считывать и записывать данные на RFID-метки стандарта Mifare Classic.

Подключение MFRC522 к Arduino

RFID-модуль MFRC522 подключается к Arduino по интерфейсу SPI. Схема соединения выглядит следующим образом:

  • SDA (SS) -> 10
  • SCK -> 13
  • MOSI -> 11
  • MISO -> 12
  • IRQ -> не используется
  • GND -> GND
  • RST -> 9
  • 3.3V -> 3.3V

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

Установка и тестирование библиотеки MFRC522

Для работы с модулем MFRC522 удобно использовать специальную библиотеку. Ее можно установить через менеджер библиотек Arduino IDE:

  1. Выберите «Скетч» -> «Подключить библиотеку» -> «Управлять библиотеками»
  2. В поиске введите «MFRC522»
  3. Установите библиотеку «MFRC522» от «GithubCommunity»

После установки библиотеки можно проверить ее работу с помощью примера DumpInfo:


  1. Выберите «Файл» -> «Примеры» -> «MFRC522» -> «DumpInfo»
  2. Загрузите скетч в Arduino
  3. Откройте монитор порта
  4. Поднесите RFID-метку к считывателю

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

Считывание UID RFID-метки

Уникальный идентификатор (UID) — это основной параметр RFID-метки, позволяющий ее однозначно идентифицировать. Для считывания UID можно использовать следующий код:

«`cpp #include #include #define SS_PIN 10 #define RST_PIN 9 MFRC522 rfid(SS_PIN, RST_PIN); void setup() { Serial.begin(9600); SPI.begin(); rfid.PCD_Init(); } void loop() { if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) return; Serial.print(«UID метки: «); for (byte i = 0; i < rfid.uid.size; i++) { Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "); Serial.print(rfid.uid.uidByte[i], HEX); } Serial.println(); rfid.PICC_HaltA(); rfid.PCD_StopCrypto1(); } ```

Этот скетч будет выводить UID каждой поднесенной метки в монитор порта.


Запись данных на RFID-метку

Помимо UID, на RFID-метки можно записывать дополнительные данные. Для этого используются следующие основные функции библиотеки MFRC522:

  • MIFARE_Read() — чтение блока данных
  • MIFARE_Write() — запись блока данных
  • PCD_Authenticate() — аутентификация для доступа к сектору

Пример записи строки на метку:

«`cpp #include #include #define SS_PIN 10 #define RST_PIN 9 MFRC522 rfid(SS_PIN, RST_PIN); MFRC522::MIFARE_Key key; void setup() { Serial.begin(9600); SPI.begin(); rfid.PCD_Init(); for (byte i = 0; i < 6; i++) { key.keyByte[i] = 0xFF; } } void loop() { if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) return; Serial.println("Обнаружена метка"); byte buffer[16]; byte block = 4; byte len = 16; String data = "Hello, RFID!"; data.getBytes(buffer, len); MFRC522::StatusCode status = rfid.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(rfid.uid)); if (status != MFRC522::STATUS_OK) { Serial.println("Ошибка аутентификации"); return; } status = rfid.MIFARE_Write(block, buffer, 16); if (status != MFRC522::STATUS_OK) { Serial.println("Ошибка записи"); return; } Serial.println("Данные успешно записаны"); rfid.PICC_HaltA(); rfid.PCD_StopCrypto1(); } ```

Этот скетч записывает строку «Hello, RFID!» в 4-й блок метки. Для чтения данных можно использовать аналогичный подход с функцией MIFARE_Read().


Применение RFID с Arduino

RFID-технология в сочетании с Arduino открывает широкие возможности для создания различных проектов:

  • Системы контроля доступа
  • Электронные замки
  • Учет товаров и активов
  • Системы оплаты
  • Идентификация животных
  • Умный дом

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

Ограничения и безопасность RFID

При работе с RFID следует учитывать некоторые ограничения:

  • Небольшая дальность действия (до 10 см для MFRC522)
  • Возможность клонирования простых меток
  • Уязвимость к радиопомехам
  • Ограниченный объем памяти меток

Для повышения безопасности рекомендуется:

  • Использовать шифрование данных
  • Применять аутентификацию
  • Регулярно менять ключи доступа
  • Комбинировать RFID с другими методами защиты

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

Заключение

RFID-технология в сочетании с Arduino предоставляет широкие возможности для создания систем идентификации и контроля доступа. Модуль MFRC522 позволяет легко реализовать базовый функционал работы с RFID-метками. Ключевые моменты при работе с RFID:


  • Правильное подключение модуля к Arduino
  • Использование библиотеки MFRC522
  • Работа с уникальными идентификаторами меток
  • Чтение и запись пользовательских данных
  • Учет ограничений технологии

Освоив основы работы с RFID на Arduino, вы сможете создавать более сложные и функциональные проекты с применением этой технологии.


Обучающий набор Arduino RFID V3

fix:

г. Архангельск, ул. Иоанна Кронштадтского, д. 16:

  —  отсутствует

г. Астрахань, ул. Савушкина, д. 46:

  —  отсутствует

г. Волгоград, ул. Рабоче-Крестьянская, д. 14:

  —  мало

г. Воронеж, ул. Фридриха Энгельса, д. 56:

  —  мало

г. Екатеринбург, ул. Героев России, д. 2, ТЦ Свердловск:

  —  отсутствует

г. Екатеринбург, ул. Уральская, д. 3:

  —  отсутствует

г. Иваново, проспект Ленина, д.9:

  —  отсутствует

г. Ижевск, ул. Вадима Сивкова, д.150, ТЦ Европа:

  —  отсутствует

г. Казань, ул. Декабристов, д. 158:

  —  отсутствует

г. Казань, ул. Спартаковская, д. 2, ТК «Караван галерея»:

  —  отсутствует

г. Калининград, ул. Генерала Соммера, дом 9-11:

  —  отсутствует

г. Кемерово, ул. Пролетарская, д.3:

  —  отсутствует

г. Кострома, ул. Советская, д. 119, пом. 48:

  —  отсутствует

г. Краснодар, ул. Коммунаров, д. 102:

  —  отсутствует

г. Краснодар, ул. Тургенева д 35/1:

  —  отсутствует

г. Красноярск, ул. Вавилова, д.1, стр.39, ТК «Атмосфера», пав. 11:

  —  отсутствует

г. Москва, Багратионовский пр-д, 7, ТЦ «Горбушкин Двор», пав. С2-006а:

  —  отсутствует

г. Москва, Варшавское шоссе, вл. 132/2, пав. М-1:

  —  отсутствует

г. Москва, Пятницкое ш., 18, ТК «Митинский радиорынок», пав. 401/402, 1-й этаж:

  —  отсутствует

г. Москва, ул. Генерала Белова, д. 29, ТЦ Фея:

  —  отсутствует

г. Москва, ул. Профсоюзная, 56, ТЦ «Черемушки», пав. 1Г14:

  —  отсутствует

г. Москва, ул. Сущевский вал, д. 5 стр. 12, пав. Л-140:

  —  отсутствует

г. Москва, ул. Сущевский вал, д. 5 стр. 20, ТЦ «Савеловский», пав. К-3:

  —  отсутствует

г. Набережные Челны, Московский проспект, д. 126А, ТК «Кама»:

  —  отсутствует

г. Нижний Новгород, ул. Композитора Касьянова, д. 6 Г, модуль 4, отдел Е1:

  —  отсутствует

г. Нижний Новгород, ул.Советская, д. 12:

  —  отсутствует

г. Новокузнецк, проспект Курако, д. 16:

  —  отсутствует

г. Новосибирск, ул. Крылова 26, ТЦ Москва:

  —  отсутствует

г. Омск, пр-т Карла Маркса. д. 29 А:

  —  отсутствует

г. Пенза, ул. Володарского 78 (угол с ул. Бакунина, д.62):

  —  отсутствует

г. Пермь, ш. Космонавтов, 10А:

  —  отсутствует

г. Ростов-на-Дону, ул. Серафимовича, д. 50:

  —  мало

г. Рязань, пр-т Первомайский, дом 21/24:

  —  отсутствует

г. Самара, ул. Победы д. 105:

  —  отсутствует

г. Самара, ул. Победы, д. 81 (вход с ул. Средне-Садовая):

  —  отсутствует

г. Санкт-Петербург, Большая Разночинная ул., д.6:

  —  отсутствует

г. Санкт-Петербург, Московский пр., д.193:

  —  мало

г. Санкт-Петербург, пр. Энгельса, д.137, лит А:

  —  отсутствует

г. Санкт-Петербург, ул, Дыбенко, д.20, к.1:

  —  отсутствует

г. Санкт-Петербург, ул. Ильюшина, д. 8:

  —  мало

г. Санкт-Петербург, ул. Марата, д. 22-24:

  —  отсутствует

г. Саратов, ул. Московская, д. 106:

  —  отсутствует

г. Смоленск, ул. Беляева, д. 6:

  —  отсутствует

г. Ставрополь, ул. Лермонтова, д. 193:

  —  отсутствует

г. Тольятти, ул. Революционная, д. 52, ТД ДБ «Орбита», 1 этаж, 111 секция:

  —  отсутствует

г. Тюмень, ул. Герцена, д.95А:

  —  отсутствует

г. Уфа, ул. Комсомольская, д. 15 (вход со стороны ул. Бессонова):

  —  отсутствует

г. Чебоксары, ул.Композиторов Воробьевых, д.20, ТРЦ «Дом Мод», 1-й этаж:

  —  отсутствует

г. Челябинск, проспект Победы, д.162:

  —  отсутствует

г. Челябинск, ул. Цвиллинга, д. 58:

  —  отсутствует

г. Череповец, ул. Металлургов, д.7:

  —  отсутствует

г. Ярославль, ул. Свободы, д .13:

  —  отсутствует

ГО Сочи, г. Адлер, ул. Демократическая 53/А, ТЦ Пассаж:

  —  отсутствует

ОПТОВЫЙ СКЛАД: г. Москва, 2 хорошевский проезд, д. 7, стр.1:

  —  отсутствует

Базовый набор для программирования на Arduino на основе платы UNO.

  • 1 x плата UNO R3
  • 1 x USB кабель (53cm)
  • 30 x тестовые провода
  • 1x макетная плата на 830 точек
  • 10 x голубые LED, 10 x желтые LED, 10 x красные LED,
  • 10 x 10 кОм резистор
  • 10 x 330 Ом резистор
  • 10 x 1 кОм резистор
  • 10 x 220 Ом резистор
  • 1 х Активный модуль со звуковым сигналом
  • 1 х Пассивный модуль со звуковым сигналом
  • 1 x Сдвиговый резистор 74HC595
  • 1 x ИК-приемник
  • 1 x Температурный датчик LM35DZ
  • 1 x Датчик огня
  • 1 х Переключатель
  • 3 х 5мм LDR
  • 4 х Кнопка с колпачком
  • 1 x ИК-пульт
  • 1 x 4-х значный дисплей
  • 1 x 8*8 матрица
  • 1 x дисплей на 1 знак
  • 1 x 5V шаговый мотор
  • 1 x SG90 сервомотор
  • 1 x I2C 1602 LCD дисплей
  • 1 x джойстик
  • 1x DHT11 цифровой датчик температуры и влажности
  • 1 x датчик измерения уровня воды
  • 1 х RFID модуль
  • 1 х RFID брелок
  • 1 х RFID карта
  • 1 x звуковой модуль
  • 1 x 5В реле
  • 1 х RTC модуль
  • 1 х клавиатура на 16 кнопок
  • 1 х RGB 3-х цветный модуль
  • 1 х коннектор батареи 9В
  • 1 x цветная карта
  • 1 x штыревой соединитель 2. 54
  • 1 x 10кОм регулируемый потенциометр
  • 1 х Панель двигателя шагового мотора

Копирование RFID карт

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

  • В первой части была теория,
  • Во второй мы сделали электронный rfid замок с доступом по карте или брелоку.
  • В третьей мы научились записывать разную информацию на карту. Например, Фамилию и имя.
  • Теперь настала очередь рассмотреть копирование RFID карт. 

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

Копирование карт не сложнее, а то даже и проще чем запись. Надо просто поднести карту и на клавиатуре нажать 1 и ENTER.
Подождать пока карта считается.  
Нажать 2 и снова ENTER.
Подождать и вуаля. У вас полная копия карты.
Ну, почти полная, так как UID всё же остался старым. Как это побороть, я рассказал в видео.

Объяснять схему подключение не буду. Я это делал уже на протяжении трёх уроков. Если что не понятно пишите в комментариях или посмотрите предыдущие уроки.

 

Теперь давайте посмотрим весь процесс в целом.
Сначала мы загрузим dumpinfo и посмотрим на содержимое карт.
Будем рассматривать сектора от 0 до 3.

Чистая карта

Карта с информацией


 

Теперь загрузим скетч, который я назвал Reader.
Проверяем карты. Смотрим вдруг там есть какая-то информация и мы можем её затереть.
Сначала смотрим брелок.
Он оказался чистым и готовым к записи.
Если там была какая-то информация и вам её не жалко, то при следующей записи она сотрётся и поверх неё запишется новая.
То же смотрим с картой 1.
А вот на карте 2 находится нужная для нас информация. Вот её то мы и будем копировать.

Теперь скопируем нашу карту на брелок и на ещё одну карту.
Загружаем скетч COPIER.
Ждём пока в мониторе порта не покажется меню с выбором действия.
Если нажать на кнопку 1 то мы скопируем карту в буфер обмена, а цифра 3 запишет информацию на новую карту.
Главное, чтобы во время работы карта была в зоне действия считывателя, а то данные не считаются или не сохранятся.

Считываем данные с карты.
Ждём пока не снова не появится меню.
Нажимаем 3, и ждём пока информация не скопируется на брелок.
То же самое делаем со следующей картой.

Снова загрузим Reader и проверим как всё прошло.

 

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


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

Введение в RFID с Arduino — Maker Portal

«Как участник программы Amazon Associates, переход по ссылкам может привести к тому, что Maker Portal получит небольшую комиссию, которая поможет поддержать будущие проекты».

Введение
Список деталей и проводка
Тестирование библиотеки RFID Arduino
Настройка RFID-меток в Arduino
Заключение и продолжение

Радиочастотная идентификация, или RFID, — это широко используемая технология, разработанная для хранения и извлечения информации в устройствах с поддержкой радиочастот. Чаще всего системы RFID состоят из одной или нескольких RF-меток, RF-считывателя и базы данных. Метки RFID имеют уникальные идентификаторы (UID), которые позволяют считывателю идентифицировать их через базу данных. Метки RFID могут быть активными или пассивными, что означает, что они либо требуют внешнего питания (активные), либо питаются от считывателя при сканировании (пассивные). Пассивные RFID-метки чаще всего используются для обеспечения доступа к зданию и безопасности, отслеживания поставок и контроля запасов; в то время как активные теги используются для дорожных сборов и отслеживания активов в больших пространствах на больших расстояниях. Радиочастоты, используемые в RFID, могут варьироваться от низких частот (124 кГц+) до сверхвысоких частот (900 МГц — 2,4 ГГц), в зависимости от применения [подробнее о особенностях RFID читайте здесь и здесь и здесь ]. В этой серии руководств основное внимание уделяется пассивным высокочастотным (13,56 МГц) RFID-меткам, поскольку они очень компактны, недороги и не требуют внешнего питания от батареи. Используя плату Arduino, обычный считыватель RFID (MFRC522) и несколько меток/карт RFID, мы будем изучать методы чтения и записи информации RFID, пытаясь понять, как работает RFID-коммуникация, и определить ограничения технологии с помощью Arduino. .

Список деталей и проводка

В этом руководстве мы будем использовать плату Arduino Uno и считыватель RFID MFRC52213,56 МГц, а также несколько меток и карт RFID. MFRC522 взаимодействует с платой Arduino через SPI, поэтому нам понадобится довольно много перемычек для соединения двух устройств. Мы также взаимодействуем с компьютером Raspberry Pi 4. Полный список деталей приведен ниже:

  • Плата Arduino Uno — $13,00 [Наш магазин]

  • Комплект RFID MFRC522 (6 меток + крепеж) — $18,00 [Наш магазин]

  • RFID-метки/карты — 7,88 долл. США (10 брелоков) [Amazon], 6,99 долл. США (10 карт) [Amazon] 4 Компьютер — 69,99 долл. США (4 ГБ) [Amazon], 119,99 долл. США (комплект 8 ГБ) [Amazon]

Quick View

MFRC522 Комплект RFID для Arduino

18,00 $

Количество:

В корзину

Проводка между платой MFRC522 и платой Arduino Uno для соединения SPI приведена ниже:

Тестирование библиотеки RFID Arduino

Менеджер библиотек Arduino IDE имеет широко используемую библиотеку RFID, совместимую с чипом MFRC522. Библиотеку с удобным названием MFRC522 можно загрузить непосредственно из менеджера библиотек, и пользователь может сразу приступить к работе с множеством примеров сценариев, доступных для платформы Arduino. Ниже приведена краткая последовательность действий по загрузке библиотеки MFRC522:

Перейдите к диспетчеру библиотек

На панели инструментов: Эскиз -> Включить библиотеку -> Управление библиотеками…

Поиск библиотеки MFRC522

Установка библиотеки MFRC522, разработанной GithubCommunity

Ознакомьтесь с примерами, доступными для выбранной платы Arduino (в данном случае Uno)

Перейдите в Файл -> Примеры -> MFRC522

Мы будем использовать эти примеры для чтения и записи различной информации на RFID-карты с уникальными идентификаторами (UID) и с них.

Проверка дампа информации из тега RFID:

Первые проверки, которые мы можем выполнить для проверки проводки, библиотеки Arduino и действительности тегов RFID, — загрузить код « DumpInfo » из примеров список. После загрузки, при условии, что проводка выполнена правильно и ошибок нет, пользователь должен поместить метку в пределах 4 дюймов от области сканирования MFRC522 (волнообразный рисунок на плате MFRC522) и найти распечатку на последовательном порту Arduino. это выглядит примерно так:

Информационный дамп из метки RFID

Обратите внимание на терминологию секторов и блоков. Они будут обсуждаться ниже.

Из информационного дампа мы можем видеть, что тег, который мы используем, представляет собой тег MIFARE 1 КБ , который мы можем количественно определить путем умножения 64 блоков x 16 байтов на блок = 1024 = 1 КБ. Это стандартный классический тег MIFARE, который используется в системах с низким уровнем безопасности, таких как общественный транспорт, школы и университеты, а также доступ в офисы сотрудников.

Ниже приведен отличный ресурс MIFARE Classic:

— «MIFARE Classic 1K-Mainstream бесконтактная смарт-карта IC для быстрой и простой разработки решений». Ред. 3.2 — 23 мая 2018 г., NXP.

Чтобы идентифицировать термины, напечатанные выше, мы составили пояснение для каждого термина на основе документа MIFARE, опубликованного NXP:


  • PICC — бесконтактная карта с интегральной схемой (бесконтактная карта). Это метка/карта, используемая в качестве «устройства доступа».

  • UID — уникальный идентификатор. Это 4-байтовый (32-битный) идентификатор, присвоенный каждому PICC (тегу). Более 4,2 миллиарда идентификаторов доступны с 4-байтовой системой идентификаторов. UID обычно хранится в секторе 0, блок 0 в первых четырех байтах.

  • SAK — выберите Подтвердить. Это используется для проверки соответствия международным стандартам.

  • Сектор — Сектор разделен на 4 блока. Всего в каждом теге 1K MIFARE 16 секторов.

  • Блок. Блок состоит из 16 байтов данных.

  • Биты доступа — управляют правами на чтение/запись для каждого блока.

Существует также подробная диаграмма, созданная NXP, которая объясняет многие компоненты, напечатанные кодом Arduino:

Предоставлено NXP, начиная с MIFARE Classic EV1 1K

На приведенной выше диаграмме содержится еще несколько фрагментов информации, которые мы можем использовать для понимания вывода последовательного монитора Arduino. Из нашей серийной распечатки ключ B для наших секторов тегов — FF FF FF FF FF FF, что является своего рода заводским значением по умолчанию для классических тегов MIFARE. Кроме того, документ NXP подробно описывает взаимосвязь между ключами и битами доступа, однако мы не будем тратить на это время, так как это может стать довольно сложным. И последнее замечание по дампу информации: мы можем определить важную информацию о каждой карте на основе нулевого блока нулевого сектора, известного как данные производителя. В нашей карте, напечатанной выше, мы видим, что первые четыре байта блока 0 содержат UID карты.

Используя таблицу, предоставленную NXP, и приведенные выше определения, мы можем определить несколько ключевых параметров для нашего конкретного тега (из распечатки Arduino выше):

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

Настройка RFID-меток в Arduino

Мы попытаемся изменить уникальный идентификатор (UID) каждой метки, размещаемой перед активной областью MFRC522. Код примера MFRC522 ‘ ChangeUID позволяет нам сделать это, предоставляя пользователю возможность изменить UID на собственный 4-байтовый адрес. Мы собираемся изменить адрес тега, распечатанный в предыдущем разделе, на совершенно случайный адрес «F3 45 1B 0C» для тестирования. Если мы поместим тот же тег перед областью сканирования MFRC522, мы получим следующий вывод, который мы можем сравнить с предыдущим выводом:

.

Предыдущий вывод сканирования тегов с заводскими настройками по умолчанию

Сканирование тегов после изменения UID с помощью MFRC522

Мы видим, что единственной информацией, которая изменилась, были первые пять байтов нулевого блока сектора 0. Первые четыре байта были изменены на желаемый UID, а пятый байт оказался либо случайным, либо заданным действием записи (мы не идентифицировали это обозначение байта в библиотеке).

Примечание: UID могут быть изменены только для записываемых тегов. Белые карты, которые мы используем, доступны для записи, и поэтому их UID могут быть изменены.

Черные метки доступны только для чтения и не позволяют изменять UID (Arduino уведомит пользователя об этом).

Мы несколько раз пытались записать новые UID в наши черные теги, но не смогли. Это было ожидаемо из-за спецификации только для чтения, однако мы решили, что попытка не помешает!

Запись данных в RFID-метки

Далее мы попытаемся записать определенные данные в каждую метку, чтобы увидеть, какую информацию мы можем хранить. Каждый сектор (кроме сектора 0) имеет три доступных блока для хранения данных (4 блока на сектор, минус 1 для ключа). Таким образом, мы можем хранить до 48 байт данных в каждом секторе. Это может привести к хранению имен, дат, информации о местоположении, информации о продукте — возможности обширны. Мы можем начать с примера в библиотеке Arduino MFRC522 под названием «9».0084 rfid_write_personal_data ’, который попросит пользователя ввести имя и фамилию для сохранения в электрически стираемой программируемой постоянной памяти (EERPROM), также известной как 16-секторы данных.

При открытии последовательного монитора после загрузки « rfid_write_personal_data » пользователь должен поместить свою метку RFID перед активной областью MFRC522. Последовательный монитор запросит два ввода:

  1. Тип Имя семейства, заканчивающееся на #

  2. Введите Имя, заканчивающееся на #

Пользователь должен ввести имя, за которым следует символ #. Например:

  • Smith#

  • John#

Результирующие вводы будут сохранены в памяти и в случае успеха должны вывести следующее:

Успешное сохранение имени и фамилии в метке RFID

В нашем случае мы ввели Smith# и John#, что должно вывести John Smith в качестве имени и фамилии.

Если мы сейчас загрузим « rfid_read_personal_data », мы увидим, как личные данные возвращаются нам на основе наших входных данных выше:

И это подтверждает, что наши данные сохранены в метке RFID. Мы можем увидеть, как данные сохраняются, снова вернувшись к примеру « DumpInfo » и посмотрев на вывод:

Вывод всех 16 секторов после сохранения имени и фамилии

Мы видим, что изменились блоки 1,2 и 4,5, где код примера сохранил личные данные.

Если бы мы скопировали сектор 1 и преобразовали его из шестнадцатеричных символов в символы UTF-8, мы получили бы следующий вывод:

То же самое можно сделать и для имени (содержащегося в секторах 4), хотя четвертый сектор содержит символы возврата каретки и новой строки в качестве первых двух байтов. Эти два символа связаны с настройкой нашего последовательного монитора (как NL, так и CR). Если мы изменим настройку строки на «Без окончания строки», это исчезнет, ​​и мы просто получим «Джон» и «Смит» в качестве выходных данных для секторов 1 и 4. Пользователи также могут проверить шестнадцатеричные значения в UTF-8, вставив шестнадцатеричный вывод в веб-сайт преобразования шестнадцатеричного кода (например, https://www. rapidtables.com/convert/number/hex-to-ascii.html).0005

Ресурсы RFID:

— Хочу, Рой. «Введение в технологию RFID». Распространенные вычисления IEEE 5.1 (2006): 25-33.

Заключение и продолжение

В этом первом выпуске серии руководств по RFID с Arduino проводка, тестирование и простая настройка RFID-меток были представлены с помощью RFID-модуля MFRC522. MFRC522 считывается и управляется через SPI с помощью платы Arduino Uno, для которой имеется специальная библиотека Arduino, загружаемая из диспетчера библиотек. Несколько доступных примеров были использованы для ознакомления и изучения основ RFID с Arduino, а также для понимания некоторых внутренних механизмов работы библиотеки и радиочастотной идентификации как технологии. Термины RFID, такие как сектора, блоки и уникальные идентификаторы, обсуждались и использовались для понимания некоторых примеров, предоставленных библиотекой RFID Arduino. Для проверки различных возможностей модуля MFRC522 использовались четыре разных примера, которые включают изменение UID записываемых RFID-меток, сброс информации, содержащейся во всех секторах метки, и запись/чтение пользовательских данных из RFID-метки. Этот учебник будет продолжен в последующих руководствах, в которых более подробно рассматривается настройка данных, содержащихся в метке RFID.

Ссылка на эту страницу:

Подробнее в Arduino:

Регистрация и визуализация данных датчика Arduino на iPhone

MakerBLE — крошечная плата Bluetooth Arduino nRF52840

Джойстик с тактильной обратной связью и Arduino

Портативный GPS-трекер с Arduino

Электронный бумажный дисплей с поддержкой Bluetooth и Arduino

Введение в RFID с Arduino

Характеристики солнечной панели и эксперименты с Arduino

TinyBlueX — маломощная плата Bluetooth Arduino

3 проекта Arduino среднего уровня, которые можно попробовать дома

Расходомер Вентури Arduino

Arduino, Electronics, ProgrammingJoshua Hrisko RFID, MFRC522, RFID-метки, радиочастотная идентификация, 13,56 МГц, SPI, Arduino SPI, Arduino RFID, MIFARE, PICC, UID, Sector, BlockComment

0 лайков

10 лучших проектов Arduino RFID

Arduino — это серия макетных плат, разработанных для образовательных целей. С тех пор он использовался любителями, а иногда даже в коммерческих целях. Некоторые платы являются 8-битными, а другие — 32-битными микроконтроллерами.

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

Это самодельный дверной замок, сделанный с помощью Arduino Nano, ЖК-модуля и модуля RFID, специально основанного на чипе RC522. Производитель предоставил код в файле .RAR, который можно найти в разделе загрузки Thingiverse. В качестве альтернативы другой производитель создал для своей сборки еще один корпус, который также основан на RC522. На ЖК-дисплее могут отображаться имена, номер дома, температура, разрешение на доступ или сообщения об отказе в доступе.

Используя возможности технологии радиочастотной идентификации, вы можете создать свой собственный механизм открывания гаражных ворот с помощью Arduino. Этот проект домашней автоматизации включает в себя использование плат RobotGeek, включая Geekduino, совместимую с Arduino плату разработки, предназначенную для робототехники. Также в этом проекте используется Arduino Uno. По сути, производитель соединил переключатель открывания двери гаража и плату реле RobotGeek.

Говорят, что считыватели или сканеры RFID можно взломать. Почему бы не сделать свой собственный вместо этого. Настольные RFID-считыватели питаются и управляются с помощью USB-кабеля, поэтому это быстрый способ чтения/записи RFID-меток. Расстояние считывания обычно находится в пределах 10 см для ВЧ-устройств или до полутора метров для УВЧ-устройств.

Как следует из названия, это RFID-считыватель, который поместится на вашем рабочем столе. В основе лежит Arduino Nano, который сделал его максимально компактным. Хотя код не предоставлен, другой производитель сделал это в этой RFID с Arduino Nano Instructable.

Amiibo — это интерактивные фигурки и карточки, которые подключаются к играм Nintendo через Wi-Fi. Он основан на Arduino Uno с подключенным модулем считывания RFID. Он способен читать и писать материал Amiibo. Корпус модифицирован из двух файлов Thingiverse, Customizable Arduino Tray и модели RFID-RC522 OpenSCAD. Помимо Arduino Uno, программа amiibomb-uino включает в себя считыватель RFID, горячий клей, двухсторонний скотч, провода, USB-кабель и винты. Производитель рекомендует печатать нитью ABS с 40-процентным заполнением.

Основанная на популярной музыкальной системе Tonie, это TonUINO, музыкальная шкатулка для детей, сделанная своими руками на базе Arduino. Внутри находится модуль RFID, а в корпусе есть крепление, чтобы его можно было легко вставить. Существуют также альтернативные корпуса, такие как чехол TonUINO с быстрой зарядкой и коробкой для карт и динамик Tonuino 18650 Hörspiel.

Выберите песни на основе RFID в этом самодельном MP3-плеере, сделанном с помощью Arduino. Корпус был напечатан на 3D-принтере, а аркадные кнопки имеют диаметр 24 мм. Производитель отмечает, что можно добавить больше кнопок, изменив дизайн или просверлив отверстия в корпусе. Во время 3D-печати рекомендуется использовать опоры и заполнение от 20 до 100 процентов.

Этот сейф был разработан после того, как его создатель был вдохновлен комнатами-головоломками в своем городе. На нем крошечная бутылка Jack Daniels и логотип Coca Cola. Внутри можно найти модуль RFID, Arduino Nano, два сервопривода SG90 и батарею на 9 В.

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

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

Автоматическая идентификация и сбор данных (AIDC) — это методы, используемые для автоматической идентификации и сбора данных об объектах. RFID является частью ADIC. Используя радиоволны, данные можно собирать и вводить в систему без вмешательства человека.

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

Эта система посещаемости использует считыватель RFID, метки RFID, Arduino Uno и локальную базу данных.

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

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