Бесконтактная картра от ВТБ: как поменять, мир, как пользоваться, что делать если не работает?

«стрелка» – единая транспортная карта московской области

6 июня 2021

  • Что такое карта «Стрелка» с приложением «Тройка»?

Карта «Стрелка» с приложением «Тройка» –это удобный способ оплаты проезда на общественном транспорте Москвы и Подмосковья. На одной карте установлено сразу два транспортных приложения– «Стрелка» и «Тройка» с самостоятельными балансами для оплаты проезда.

  • Как выглядит карта «Стрелка» с приложением «Тройка»?

Визуально карта похожа на обычную «Стрелку». На оборотной стороне карты размещен логотип «Тройка», контактная информация  (телефоны службы поддержки и сайты «Стрелки» и «Тройки»), а также индивидуальные для каждой карты данные (штрих-код «Стрелки», номер и QR-код приложения «Тройка»)

  • Где приобрести карту «Стрелка» с приложением «Тройка»?

Карта «Стрелка» с установленным приложением «Тройка» продается в кассах ГУП МО «Мострансавто».

Также карту «Стрелка» с приложением «Тройка» можно приобрести в кассах пригородных поездов на железнодорожных станциях:

  • Истра
  • Павшино
  • Голицыно
  • Звенигород
  • Люберцы

Дополнительные точки продажи в железнодорожных кассах Москвы:

  • Казанский вокзал
  • Ярославский вокзал
  • Курский вокзал
  • Павелецкий вокзал
  • Киевский вокзал
  • Савеловский вокзал
  • Белорусский вокзал
  • Сколько стоит карта «Стрелка» с приложением «Тройка»?

Стоимость карты «Стрелка» с приложением «Тройка» составляет 200 рублей. Из них 80 рублей – это залог за карту, и 120 рублей сразу зачисляются на баланс.

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

Важно! Баланс каждого из двух транспортных приложений, размещенных на карте «Стрелка» пополняется самостоятельно в сети пунктов пополнения «Стрелки» или «Тройки».

  • Нужно ли сохранять чек и информационный вкладыш после покупки карты «Стрелка» с приложением «Тройка»?

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

Защитный код, который находится в информационном вкладыше карты «Стрелка» с приложением «Тройка», будет необходим для оперативной блокировки карты по телефону горячей линии 8 800 100 77 90, а также для регистрации в мобильном приложении «Стрелка».

  • Как использовать карту «Стрелка» с приложением «Тройка» для оплаты проезда в общественном транспорте Подмосковья?

После покупки карты «Стрелка» на балансе транспортного приложения «Стрелка» находится 120 рублей.

Баланс приложения «Стрелка» можно использовать для оплаты проезда на всех видах общественного транспорта Московской области: автобусах, частных маршрутках, трамваях, троллейбусах (маршруты – в разделе «Тарифы и маршруты»).

На карту «Стрелка» с приложением «Тройка» можно также записать билет или абонемент для оплаты проезда на пригородных электричках по всем железнодорожным направлениям как на обычную карту «Стрелка».

Важно! Карта «Стрелка» с приложением «Тройка» попадает в «СТОП-лист» при оплате проезда на общественном транспорте Подмосковья, если баланс «Стрелки» ниже 18 рублей. Это значит, что, если на балансе карты осталось менее 18 рублей, средства будут заморожены и оплата проезда на общественном транспорте Подмосковья будет возможна после пополнения «Стрелки».

  • Как использовать карту «Стрелка» с приложением «Тройка» для оплаты проезда в общественном транспорте Москвы?

Для оплаты проезда картой «Стрелка» с приложением «Тройка» на общественном транспорте Москвы необходимо пополнить баланс приложения «Тройка» в кассах и автоматах по продаже билетов ГУП «Московский метрополитен», ГУП «Мосгортранс», ОАО «Центральная ППК» или агентской сети партнеров ГУП «Московский метрополитен».

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

–        Прямое пополнение производится в кассах и билетных автоматах ГУП «Московский метрополитен», ГУП «Мосгортранс», в кассах «Аэроэкспресс», в Московском кредитном банке, терминалах сети «Элекснет», в сети салонов связи «Мегафон” (подробнее – http://transport.mos.ru/?pod=9bdcd10878e8675d4927f0c3022ff39c).

–        Удаленно можно пополнить на сайте transport.mos.ru (http://transport.mos.ru/?pod=9bdcd10878e8675d4927f0c3022ff39c#!/page/transport/troika ) при помощи SMS-сервиса, Агентской сети и Автоплатежа. Посмотреть адреса агентской сети можно на карте сайта transport.mos.ru (http://transport.mos.ru/?pod=9bdcd10878e8675d4927f0c3022ff39c ).

Важно! Перед началом использования убедитесь, что приложение «Тройка» на карте «Стрелка» успешно пополнено прямым путем в кассах Метрополитена или ГУП «Мосгортранс». При отсутствии билета на приложении «Тройка», записанного прямым путем, произвести поездку и удалённое пополнение будет невозможно.

  • Будет ли действовать система скидок при оплате проезда картой «Стрелка» с приложением «Тройка»?

Условия оплаты проезда на общественном транспорте Московской области при интеграции транспортных систем «Стрелка» и «Тройка» не поменяются.

Система скидок по транспортному приложению «Стрелка» будет работать как на обычной карте «Стрелка». Скидка действует на маршрутах с регулируемым тарифом, а стоимость поездок снижаться в зависимости от их количества. Так, при использовании транспортного приложения «Стрелка» в течение 30 дней с даты первой поездки стоимость проезда на маршрутах городского и пригородного сообщений с регулируемым тарифом в пределах населенного пункта будет снижаться с 30 до 20 рублей (первые 10 поездок – по 30 рублей, следующие 10 поездок – по 28 рублей и так далее, вплоть до 20 рублей за поездку).

Расчетный период учета количества поездок останется прежним – 30 дней.

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

  • У карты «Стрелка» с приложением «Тройка» будет единый баланс?

Нет, при объединении двух транспортных приложений на одной карте («Стрелка» и «Тройка») пользователь оплачивает проезд с использованием 2 самостоятельных балансов: лицевого счета «Стрелки» (в Подмосковье), привязанному к транспортному приложению «Стрелка» и проездного билета «Кошелёк» «Тройки» (в Москве), привязанного к транспортному приложению «Тройка».

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

  • Как пополнить баланс карты «Стрелка» с приложением «Тройка»?

Пополнение баланса транспортного приложения «Стрелка» возможно более чем 20 способами: наличными, с банковской карты, электронными деньгами, с баланса счета оператора мобильной связи. 

Как привязать карту стрелка к телефону NFC

Важно! Рекомендуем заранее пополнять баланс карты «Стрелка». Карта «Стрелка» с приложением «Тройка» попадает в «СТОП-лист» при оплате проезда в общественном транспорте Подмосковья, если баланс транспортного приложения «Стрелка» ниже 18 рублей. Это значит, что, если на балансе транспортного приложения осталось менее 18 рублей, средства будут заморожены и оплата проезда на общественном транспорте Подмосковья будет возможна после пополнения «Стрелки».

  • Какой максимальный баланс карты «Стрелка» с приложением «Тройка»?

Максимальный баланс транспортного приложения «Стрелка» — 5 тысяч рублей. Максимальная сумма оплаты проездного билета «Кошелёк» приложения «Тройка» — 3 тысячи рублей.

  • Сколько поездок можно оплатить картой «Стрелка» с приложением «Тройка»?

Как и по обычной карте «Стрелка» пользователь карты с дополнительным приложением «Тройка» может оплатить с использованием транспортного приложения «Тройка» не более 10 поездок в сутки. Картой «Стрелка» можно оплатить 1 поездку на одном рейсе.

  • Какой срок действия транспортного приложения «Стрелка» и транспортного приложения «Тройка»

Транспортное приложение «Стрелка» функционирует в течение 5 лет с даты его первого использования. Остаток денежных средств можно вернуть или перевести на новое транспортное приложение, обратившись с заявлением в один из Пунктов обмена и возврата карты «Стрелка».

Срок действия записанных на транспортное приложение «Тройка» билетов установлен Постановлением Правительства Москвы от 15 декабря 2021 г. N 880-ПП «О проездных билетах и тарифах на услуги по перевозке пассажиров и багажа транспортом общего пользования в городском, включая метрополитен, и пригородном сообщении (за исключением железнодорожного транспорта).

  • Можно ли будет зарегистрировать карту «Стрелка» с приложением «Тройка» в личном кабинете на сайте и в мобильном приложении?

Да, пользователю при использовании транспортного приложения «Стрелка» будут доступны онлайн-сервисы «Стрелки» — личный кабинет на сайте nfcexpert.ru и мобильное приложение. Они позволят удобно контролировать средства и отслеживать истории поездок и пополнения транспортного приложения «Стрелка» в режиме реального времени.

Читайте ещё про NFC:  Какие устройства поддерживают Samsung Pay | Samsung Казахстан

Скачать приложение можно через интернет-портал nfcexpert.ru или через онлайн-магазины Google Play, AppStore и Windows Phone Store. После скачивания держателю карты останется привязать «Стрелку» к личному кабинету, пройдя авторизацию и получив PIN-код в SMS-сообщении.

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

  • Как можно проверить баланс транспортного приложения «Стрелка» на карте «Стрелка» с дополнительным приложением «Тройка»?

Проверить баланс транспортного приложения «Стрелка» можно также как баланс обычной «Стрелки»:

при пополнении:

  • в устройствах самообслуживания и интернет-сервисах банков-агентов (например, терминалы ПАО Сбербанк и сервис Сбербанк Онлайн);     
  • в терминалах QIWI, Киберплат, Европлат и банкоматах Элекснет;
  • через системы электронных платежей «Яндекс.Деньги», WebMoney.

Узнать баланс транспортного приложения «Стрелка» также возможно благодаря услуге SMS-оповещения, которую можно подключить в личном кабинете на сайте nfcexpert.ru (Внимание! Услуга платная. Стоимость услуги – 60 рублей за 30 дней ее использования).

  • Как можно проверить баланс приложения «Тройка» на карте «Стрелка»?

Для проверки билетов на городской общественный транспорт г. Москвы требуется приложить карту «Тройка» к желтым информационным терминалам, расположенным в вестибюлях станций метрополитена или к валидаторам при входе в салон наземного транспортного средства. Информация высветится на экране терминала/валидатора.  Баланс билета «Кошелек» можно также проверить в терминалах агентов Метрополитена по пополнению (выбрать наиболее подходящий способ можно на сайте «Тройки» – transport.mos.ru).

Для проверки абонементов на пригородные поезда требуется обратиться в кассы пригородных электропоездов или использовать билетопечатающие автоматы ж/д перевозчиков. Контролер электропоезда может проверить записанный̆ на «Тройку» абонемент на переносном кассовом терминале.

По всем остальным вопросам по транспортному приложению «Тройка» можно обратиться в контакт-центр «Московского транспорта» по номеру телефона: 7 495 539 5454 с городского или на короткий номер 3210 с мобильного (МТС, Билайн, МегаФон)

  • Куда обращаться, если возникнут вопросы по использованию карты «Стрелка» с приложением «Тройка»?

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

Если у пользователя возникнут вопросы по использованию транспортного приложения «Тройка», он может обратиться в контакт-центр «Московский Транспорт»: 3210 (Билайн, Мегафон, МТС), 7 495 539-5454 (с городского), сайт transport.mos.ru.

  • Будут ли выпускаться карты «Стрелка» с приложением «Тройка» для льготных категорий граждан (учащихся, военных пенсионеров и т.д.)

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

  • Почему на карте «Стрелка» с приложением «Тройка» нет чипа как на обычной карте «Стрелка»?

Для карты «Стрелка» с приложением «Тройка» нет необходимости использовать чип.

За год работы Системы «Стрелка» пользователи карты «Стрелка» высоко оценили возможность пополнения карты в широкой агентской сети без необходимости записи данных на карту. Так как более 80% пополнений карты происходит дистанционно (например, с помощью мобильного приложения «Стрелка» и личного кабинета на сайте nfcexpert.ru), разработчиками «Стрелки» было принято решение отказаться от носителя с контактной площадкой.

Pn532

Доброе время суток.

Сегодня мы будем собирать бесконтактный замок с использованием NFC контроллера PN532. Опираясь на опыт прошлого варианта (на контроллере MFRC522) и на отзывы тех, кто пытался повторить схему, были сделаны определенные выводы. Постараемся избавиться от старых подводных камней и поищем новые 

И так, что мы знаем о PN532:

Очень компактный размер 42.7 x 40.4 мм

Поддерживает работу по SPI, i2C и HSU (высокоскоростной UART)

Читение/Запись RFID меток, может общаться с другими контроллерами PN532, и вроде как общаться с Android телефонами

Рабочая дистанция 5-7 см

Поддерживаемые чипы

ISO 14443 Type A  – NXP Mifare 1k, 4k, Ultralight, Desfire

ISO 14443 Type B

ISO/IEC 14443-4-совместимые чипы

FeliCa

Jewel

TopaZ

Чтение / Запись RFID меток

Обмен данными P2P

Передача данных смартфону

Кстати, вроде как начиная с Androik 4.4 KitKat операционная система умеет эмулировать NFC метки программным способом. Это подразумевает, что мы можем на телефоне сделать копию проездного билета (БСК, Тройка) или просто обычной метки, и использовать смартфон в качестве ключа для замка. К сожалению, у меня пока нет под рукой аппарата с поддержкой NFC, а значит и проверить это мне не под силам. Оставляю эту задачу Вам! 

Для сборки замка нам понадобятся:

Arduino UNO или любой аналог с контроллером ATmega328

Сам модуль сканера с контроллером PN532

Китайский модуль реле с опторазвязкой (в программе предусмотрена инверсия управляющего сигнала на случай управления реле напрямую или замены его на транзисторный ключ / мосфет)

Две кнопки для, одна для разблокировки замка изнутри помещения, а другая для сброса памяти микроконтроллера

Два резистора 10kOm и 4.7kOm

Танталовый конденсатор на 1uF

Светодиод для индикации о попытках взлома замка с помощью брутфорса ключа

Транзистор KT315 или его аналог для управления питанием PN532. Говорят, что война между Десептиконами и Автоботами началась именно из-за этих Советских транзисторов!

Зачем нужен транзистор? Он используется для управления питанием сканера, если по какой-либо причине Arduino пойдет на перезагрузку, то она потянет за собой и сканер. Таким образом мы лишний раз подстрахуем себя. Конденсатор в обвязке транзистора необходим для сглаживания пульсаций, у меня они были явно заметны при питании от USB. Конечно это все можно выкинуть из схемы и пустить на ножку VCC контроллера PN532 питание напрямую с 5V платы Arduino. Это уже на Ваш страх и риск.

Критически важно обратить внимание на питание! Не поленитесь и возьмите отдельный блок питания, USB используйте только в качестве Serial монитора. На реле желательно подавать отдельное питание, на Китайских модулях для этого есть соответствующие пины (GND, VCC, JD-VCC). На схеме я это не отражено т.к каждый волен самостоятельно выбирать как управлять силовой частью замка. Может вы замените реле мосфетом.

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

Так показано на схеме и так делает большинство. Все будет работать. 

А так будет правильно, но необходим отдельный источник питания для релейного модуля

Выбор за Вами.

Вернемся к сканеру. Уже упоминалось, что он имеет возможность общаться по одному из нескольких интерфейсов на выбор. Сам выбор интерфейса реализован на физическом уровне и представляет из себя сдвоенный переключатель. На изображении ниже выбран HSU (UART). В таком варианте модули приходят к нам из поднебесной.

Мы будем использовать i2C интерфейс. Возможно стоило бы SPI?

Все подключения можно свести к одной таблицы

Как все устроено

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

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

Читайте ещё про NFC:  Карта Стрелка: как проверить баланс, как пополнить карту, ее официальный сайт

Первые 8 байт используются для хранения системной информации. Пока заняты только первые 2 байта, а остальные 6 зарезервированы под будущие улучшения. Возможно Вы что-то захотите добавить свое. Начиная с 9 байта идут ключи. Ключи бывают разного размера, но мы будем использовать только первые его 4 байта. Первый ключ всегда идет мастер, все последующие обычные. Всего можно иметь 1 мастер и 253 обычных ключа. То есть мы израсходуем весь объем EEPROM контроллера ATmega328. Вы конечно можете воспользоваться другим контроллером, с большим количеством памяти, но программа не даст Вам создать более 254 ключей. Оставшаяся память останется свободной.

И так после создания мастер ключа замок перейдет в дежурный режим, разблокировать его можно кратковременным нажатием на кнопку OPEN или самим мастер ключом. Для добавления новых ключей необходимо поднести мастер ключ к сканеру и удерживать более 5 секунд. Замок перейдет в режим программирования оповестив Вас об этом звуковым сигналом. В этом состоянии замок будет в разблокированном состоянии и все поднесенные новые ключи будет записаны в память. Для выхода из режима программирования необходимо опять поднести мастер ключ к сканеру и удерживать более 5 секунд. Звуковой сигнал оповестит об этом и замок вернется в дежурный режим.

После открытия двери ключом или кнопкой запускается таймер, который закроет замок через 5 секунд. Можно удерживать замок в открытом состоянии при удержании кнопки OPEN, но при её отпускании замок сразу закроется.

Теперь немного про защиту

В программе имеется счетчик ложных срабатываний. Если в течении минуты будут зарегистрированы 5 попыток подбора ключа, замок будет заблокирован на 1 минуту. Открыть дверь можно будет только с кнопки OPEN. Поднесения действующего ключа, даже мастера, будет проигнорировано замком. По истечению минуты доступ будет открыт, но на этом еще не конец. Счетчик даст только одну попытку разблокировать замок, если она потерпит неудачу, блокировка повторится. Замок будет давать по одной дополнительной попытки за каждую минуту ожидания, но не более 5 попыток. Таким образом скорость подбора ключа сводится к 1 ключу в минуту, а учитывая длину ключа даже в 4 байта, тот кто захочет этим заняться должен быть бессмертным. Проще ключ украсть или сделать копию, но от этого не застрахованы даже обычные замки, но в следующем варианте программы мы позаботимся и об этом.

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

1 раз в секунду если была выявлена хотя бы одна блокировка

2 раза в секунду если было выявлено более 5 блокировок

3 раза в секунду если более 10 блокировок

4 раза в секунду если выявлено более 20 попыток

Горит постоянно при более 50 попытках

Есть два способа сбросить счетчик. Воспользоваться мастер ключом и перевести замок в режим программирования, после вернуть обратно в дежурный режим. Или удерживая активный ключ у сканера PN532 зажать кнопку OPEN на 5 секунд.

В принципе на этом пока все. Для реализации Вам понадобятся следующие библиотеки:

Bounce2 для программной защиты от дребезга

Timer1 для удобной реализации прерываний

Adafruit PN532 для связи с самим сканером

Хотите помочь проект?

Yandex.Money

PayPal.me

Сама программа замка: PN532_lock_nfcexpert.ru.7z

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-сканер

Бесконтактная картра от ВТБ: как поменять, мир, как пользоваться, что делать если не работает?Считыватель RFID RC522 13.56MHz карта брелок Комплект содержит минимум деталей, позволяющий создать основу небольшой системы радиочастотной идентификации. В комплект вошли: пластиковая карточка и  брелок, содержащие RFID радиометки, модуль RFID RC522 считывания-записи радиометки и штыревые контакты для монтажа в плате модуля.

Считыватель RFID RC522 – периферийное устройство более сложного прибора. Радиоидентификация RFID (Radio Frequency IDentification) происходит при обмене данными по протоколу Mifare 1K. Использовать термин Mifare может только компания NXP Semiconductors, а также компании, имеющие лицензию от NXP на производство чипов (сейчас компания Infineon).

Эта технология позволяет автоматически опознавать объекты, содержащие RFID метки – так называемые транспондеры. Из меток данные могут не только читаться, но и записываться.  Mifare – торговая марка, объединяющая несколько типов микросхем пластиковых карт, микросхемы считывания и записи стационарных приборов и различные продукты на их основе.

Продукты Mifare соответствуют стандарту ISO 14443 Type A  пластиковых карт. Перевод стандарта на русский язык ГОСТ Р ИСО/МЭК 14443. Обмен данными по радио происходит через рамочные антенны, находящиеся в карточке и в модуле. Сигнал модуля служит источником энергии для метки. Считыватель RFID RC522 срабатывает при поднесении метки. Основа модуля – микросхема MFRC522.

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

RFID системы используются для оплаты общественного транспорта в Москве, Санкт-Петербурге, Казани, Минске, Баку и в других городах. Вошли в употребление бесконтактные проездные билеты метро, представляющие собой карточку с RFID меткой.

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

Характеристики считывателя RFID RC522

  Питание             Напряжение 3,3 B             Ток потребления в режимах                         дежурный 80 мкA                         ожидания 12 мA                         обычный не более 26 мA             наибольший 30 мА Частота HF 13,56 МГц Частотная полоса 13,55–13,57 МГц Расстояние считывания 0–25 мм Сопровождаемые карты             классы S50, S70, Ultralight, Pro, DESFire             типы Mifare S50, Mifare S70, Mifare UltraLight, Mifare Pro, Mifare DESfire Скорость передачи информации 106, 212, 424, 848 кбит/с Стандарт протокола NFC Reader ISO 14443 A Mifare classic protocol Шифрование Security Features Mifare classic™ Размеры 40 x 60 мм Температура             рабочая –20…80 С°             хранения –40…85 С° Относительная влажность 5–95 %

Контакты и сигналы RFID RC522

SDA (SS, CS, NSS) выбор ведомого, вход SPI SCK тактовый сигнал SPI, вход MOSI передача от мастера к помощнику, вход SPI MISO передача от помощника к мастеру, выход SPI IRQ прерывание, выход GND общий RST сброс, вход 3.3 V питание   Считыватель поддерживает интерфейсы SPI, UART и I2C через которые происходит обмен данными с другими приборами.

Соединение

Множество устройств, к которым подключается считыватель имеют питание 5 В. При соединении устройств с разной величиной питания одними линиями следует применять меры согласования. Для этого используется следующая схема.  Схема согласования считывателя RFID RC522 с главным модулем Arduino, питающимся от 5 В.

Сигнал сброса, поступающий на контакт RST считывателя это не сброс Arduino или Raspberry Pi. Это совершенно другой сигнал. Он должен поступать от цифрового выхода МК и формируется программно. При подаче логического 0 происходит перезагрузка считывателя.

RFID rc522Arduino MegaArduino Uno и Nano v3Arduino Leonardo и MicroArduino Pro MicroCraftDuinoRaspberry Pi B
MISO5012ICSP-1141221
MOSI5111ICSP-4161119
SCK5213ICSP-3151323
SDA531024

Контакт главного модуля для подключения к контакту SDA указывается как SS_PIN в программе. Контакт главного модуля для подключения к контакту RST указывается как RST_PIN в программе. Это выполняется с помощью команд:   #define SS_PIN номер контакта   и   #define RST_PIN номер контакта   Все контакты модуля кроме IRQ обязательно подключаются. Сигнал от контакта IRQ обрабатывается программно.

Запись с помощью считывателя RFID RC522

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

Пластиковая карта

В комплект входит белая пластиковая карта. Mifare 1K на которую можно нанести цветное изображение. Внутри нее находятся антенна и микросхема Mifare S50, содержащая память и радиочасть. Размер памяти 1 килобайт, тип EEPROM. Она разделена на 16 секторов, состоящих из 4 разделов.

В каждом разделе три информационных части и одна для ключей. Внутри одной части есть 16 байт памяти. Срок хранения данных 10 лет, количество циклов перезаписи 100000. Уникальность карточки Mifare обеспечивается присвоением изготовителем номера. Он используется в качестве идентификационного кода.

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

Характеристики карты

  Тип Mifare Standard 1k (тонкая) Время транзакции 0,164 с Температура             рабочая –30…75 С°             хранения –40…85 С° Размеры: 86 х 54 х 0,8 мм  

Определение номера карты

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

Запишите программу.   #include  #include “RFID.h”   #define SS_PIN 10 #define RST_PIN 9   RFID rfid(SS_PIN, RST_PIN);   // Setup variables:  int serNum0;  int serNum1;  int serNum2;  int serNum3;  int serNum4;   void setup() {  Serial.begin(9600);  SPI.begin();  Serial.println(“12″);  rfid.init();   }   void loop() {    if (rfid.isCard()) {  if (rfid.

readCardSerial()) {  if (rfid.serNum[0] != serNum0  && rfid.serNum[1] != serNum1  && rfid.serNum[2] != serNum2  && rfid.serNum[3] != serNum3  && rfid.serNum[4] != serNum4  ) {  /* With a new cardnumber, show it. */  Serial.println(” “);  Serial.

println(“Card found”);  serNum0 = rfid.serNum[0];  serNum1 = rfid.serNum[1];  serNum2 = rfid.serNum[2];  serNum3 = rfid.serNum[3];  serNum4 = rfid.serNum[4];    //Serial.println(” “);  Serial.println(“Cardnumber:”);  Serial.print(“Dec: “);  Serial.print(rfid.serNum[0],DEC);  Serial.print(“, “);  Serial.print(rfid.serNum[1],DEC);  Serial.print(“, “);  Serial.print(rfid.serNum[2],DEC);  Serial.print(“, “);  Serial.print(rfid.serNum[3],DEC);  Serial.print(“, “);  Serial.print(rfid.serNum[4],DEC);  Serial.println(” “);    Serial.print(“Hex: “);  Serial.print(rfid.serNum[0],HEX);  Serial.print(“, “);  Serial.print(rfid.serNum[1],HEX);  Serial.print(“, “);  Serial.print(rfid.serNum[2],HEX);  Serial.print(“, “);  Serial.print(rfid.serNum[3],HEX);  Serial.print(“, “);  Serial.print(rfid.serNum[4],HEX);  Serial.println(” “);  } else {  /* If we have the same ID, just write a dot. */  Serial.print(“.”);  }  }  }    rfid.halt(); }

Программа выводит ряд чисел: 44, 133, 240, 36, 125. Пишем их в обратном порядке. Убираем первое число, (контрольная сумма, оно только что было последним) и оставшиеся числа переводим в шестнадцатеричный вид. Пишем в том же порядке но без пробелов. Теперь это большое число переводим в десятичный вид и получаем номер карты.

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

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

Adblock
detector