Система RFID, говоря простым языком, состоит из двух элементов — считывателя и жетона. Жетон — это физическая вещь с некоторой электроникой внутри. Каждый жетон имеет свой уникальный номер. Когда жетон будет поднесен вплотную ко второму элементу — считывателю, считыватель сможет прочитать это число.
Каковы преимущества такой системы? Во-первых, жетон не нуждается в собственном источнике питания (встроенном аккумуляторе). Он может быть небольшим, легким и влагостойким. Во-вторых — не нужен физический контакт между жетоном и считывателем — достаточно поднести жетон на несколько сантиметров, чтобы система сработала.
На рынке существует несколько стандартов, одним из первых является стандарт, работающий на частоте 125 кГц. Устройства и жетоны для него простые и поэтому стоят недорого.
Как использовать RFID?
Комплект RFID, предлагаемый рынком продаж, состоит из считывателя, 5 жетонов (брелоков) и 2 RFID-меток. Давайте посмотрим на один из жетонов. На картинке ниже показан жетон:
На жетоне есть номер. Но это не тот номер, который будет прочитан считывателем. Почему? Если бы номер (код), напечатанный на жетоне и тот, что «внутри», совпадал, то можно было бы легко клонировать жетон, а чтобы узнать его код, надо его прочитать — это не большая проблема, но все же проблема.
Ну так, как узнать код внутри жетона? Давайте посмотрим на считыватель. Считыватель имеет интерфейс UART, т.е. его можно подключить к Arduino с помощью последовательного порта, либо к компьютеру с помощью преобразователя USB/Serial.
Считыватель имеет три разъема: 2, 3 и 5 контакт. Двухконтактный разъем предназначен для прилагаемой антенны. Неважно, как мы его подключим. Два других разъема будут описывать эту картину:
Мы пометили красными пин №1 и также трехконтактный разъем:
- LED — подключение диода, сигнализирующего о работе считывателя (горит постоянно в тот момент, когда жетон прочитан)
- +5В — производное напряжение питания
- GND — земля
Как видите, роль его информативна — можно подключить диод, который будет сигнализировать людям, что токен прочитан.
5-контактный разъем — это то, что нам нужно для получения информации от считывателя:
- ТХ — что читает ридер (считыватель)
- RX — данные, отправленные на считыватель (эта модель не настраивается, поэтому бесполезна)
- НК — не используется
- GND — земля
- +5В — питание
Продемонстрируем подключение ридера к компьютеру с помощью конвертера USB/Serial — FTDI Friend. Подключаем TX (пин 1) считывателя к RX на FTDI Friend, землю и питание 5В — и готово:
Вставив USB-кабель в компьютер и подключив через монитор последовательного порта (Hyperterminal в Windows, gtkterm или minicom в Linux или монитор с Arduino IDE, параметры порта 9600.8, N, 1) получим, например, следующую строку:
1 |
0041DEF392FE |
Сначала — байт со значением 0x02 — символ начала номера карты, затем 5 байт в ASCI в шестнадцатеричной кодировке (вот оно 00-41-DE-F3-92), два символа контрольной суммы (XOR 5 байт, вот оно FE), байт со значением 0x03- символ конца передачи.
В двух словах — так оно и есть. Вы можете подключиться к Arduino таким же образом. Итак, мы подключаем питание и землю, а RX на Arduino (D0) с TX на считывателе и с помощью Serial.read() можно считать данные.
Вся система, подключенная через FTDI Friend, выглядит так:
Итог
Вот все, что мы хотели вам рассказать в этой статье. Не смотря на всю сложность подключения, работать с жетоном и считывателем оказалось не так уж и сложно.
С Уважением, МониторБанк