NFC метки что такое, как использовать и как пользоваться

Nfc, iso14443 и mifare

Стандартов ближней радиосвязи и беспроводных меток в частности, существует великое множество. Чаще всего используются частоты 125 кГц (LF-диапазон, см. первую часть, самые частые представители — EM-Marin, HID Proximity), 13,56 МГц (HF-диапазон, представители — семейство Mifare, семейство HID iClass) и 860-960 МГц (UHF-диапазон).

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

Давайте кратко пробежимся по основным стандартам:

ISO 14443 — один из базовых стандартов для карт беспроводного доступа, определяет рабочую частоту (13,56 МГц), предельное расстояние (10 см), прочие физические параметры интерфейса, скорости (до 106 кбодс в изначальном стандарте) и протоколы передачи данных между считывателем и картой, определение коллизий, если в поле считывателя более одной карты и т.д. Стандарт не оговаривает применяемого шифрования, а также точного формата данных на карте.

ISO 15693 — менее распространенный стандарт, несовместимый с предыдущим. Предполагает ту же рабочую частоту, но меньшую скорость обмена данных (до 26 кбодс) в обмен на большую дальность считывания.

NFC — Near Field Communication — довольно большой набор стандартов, частично совместимый с ISO 14443, описывающий как физический уровень интерфейса (в целом основанный на ISO 14443), так и многое другое, формат хранения данных NDEF (стандартизирующий способы кодирования URL, контактных данных и т.д.), режим совместимости с ISO 14443.

Благодаря последнему, каждое NFC-устройство (и радиометка, и смартфон) может как минимум вернуть свой идентификационный номер в понятном считывателю, рассчитанному на более старые карты, формате. Ну и обычно NFC-считыватель способен читать и другие RFID-карты, не являющиеся NFC, но тоже основанные на ISO 14443.

MIFARE — большое семейство стандартов, также основанное на ISO 14443, отличающееся объемом памяти (от сотен байт до десятков килобайт), шифрованием (от отсутствия или проприетарного алгоритма до AESDES), часто используемое в качества карт доступа, платежных карт.

Беспроводные метки nfc

NFC метки что такое, как использовать и как пользоваться

Технический прогресс не стоит на месте, появляющиеся новые технологии со временем дешевеют и становятся доступны практически всем желающим. Как пример можно привести мобильные телефоны. Середина 80-ых — начало 90-ых были переносные таксофоны с ручками или кирпичи стоимостью несколько тысяч $, конец 90-ых — большого размера трубки, с торчащими антеннами со стоимостью от 100$ Такую же аналогию можно провести с NFC метками, используемыми в учетных целях.

В идеальном варианте и оборудование и расходники (метки) могут ничего не стоить при условии, что у работника имеется смартфон с поддержкой NFC и сам работник не против его использования. Ну и, конечно же, удалось раздобыть необходимое количество использованных билетов. На Ali стоимость от 6 рублей с лишним за метку.

NFC метки что такое, как использовать и как пользоваться

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

Для обмена можно использовать http или web сервисы, ботов телеграмм или иное месенджероподобное решение.

Описанное нигде не подглядывал, видел когда-то статью про запись пароля wifi на билет, а также имел опыт работы с ТСД (штрих.кодами rdp на винмобайл), огромным и дорогим, на мой взгляд неудобным. С тех пор было желание повторить что-то подобное на более удобном смартфоне.

Группы из 4 байтов называются страницами. Первые несколько страниц, как правило заняты служебной информацией, на одном из скриншотов можно увидеть ID метки NFC на первых двух страницах.

NFC метки что такое, как использовать и как пользоваться

Кроме ID также может содержаться информация о заблокированных readonly байтах. А также масса другой информации все зависит от типа метки и поддерживаемых возможностей. Также служебная информация может быть записана в конце метки на последних страницах. Более подробно описанное можно увидеть программе для чтения меток, например TagInfo.

NFC метки что такое, как использовать и как пользоваться

Рекомендуется записывать данные с 8 страницы для пустых — купленных меток.

Для билетов рекомендуется записывать с 16 страницы. Длина имени справочника не должна превышать 60 символов, в случае использования билета.

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

Данная разработка позволит быстро интегрировать в ваше мобильное приложение функционал чтения записи NFC.a меток.

Возможные варианты использования:
Складской учет номенклатуры, упаковок, ячеек, мест хранения.
Учет ОС, МБП: шкафов, столов, компьютеров.
Мобильный пропускной пункт.
И так далее.

Исходники приложения доступны по ссылке https://github.com/PloAl/RfIdTool

Приложение является «служебным» и не имеет основной activity, также нет в меню приложений android. Запуск происходит из других приложений, туда же передаются считанные данные или передаются данные для записи в метку.

Ниже на картинке видна, полупрозрачная область «Запись метки NFC» это единственная activity приложения.

NFC метки что такое, как использовать и как пользоваться

Пример использование в android приложении:

protected void nfcStart(boolean read, String readedId) {
    
    if (read)) {
        Intent intent = new Intent("com.ploal.rfidtool.NFCREAD");
        intent.putExtra("IdLabel", readedId); //множественное чтение, предыдущий id метки 
    }
    else{
        Intent intent = new Intent("com.ploal.rfidtool.NFCWRITE");
        intent.putExtra("PageNumber", PageNumber); //глоб. переменная номер страницы 
        intent.putExtra("WriteString", WriteString); //глоб. переменная текст для записи
    }
    startActivityForResult(intent, 1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (null != data) {
        String event = data.getStringExtra("event");
        String uid = data.getStringExtra("uid");
        String result = data.getStringExtra("result");
        String text = data.getStringExtra("text");
        String[] techArr = data.getStringArrayExtra("tech");
        //обработка полученных данных ...
    }
}

Пример использование в мобильном приложении(клиенте) 1с:

&НаКлиенте
Процедура ЗапускПриложенияNFC(Чтение=Истина,ПрочитанныйID="")
    ЗПМУ = Новый ЗапускПриложенияМобильногоУстройства();
        
    Если Чтение Тогда
        ЗПМУ.Действие = "com.ploal.rfidtool.NFCREAD";
        ЗПМУ.ДополнительныеДанные.Добавить("IdLabel",ПрочитанныйID);
    Иначе
        ЗПМУ.Действие = "com.ploal.rfidtool.NFCWRITE";
        ЗПМУ.ДополнительныеДанные.Добавить("PageNumber","" НомерСтраницы);
        ЗПМУ.ДополнительныеДанные.Добавить("WriteString",ТекстЗаписи);
    КонецЕсли;
    
    Если ЗПМУ.ПоддерживаетсяЗапуск() Тогда
        ЗПМУ.Запустить(Истина);	
        Событие = "";
        Для Каждого Стр Из ЗПМУ.ДополнительныеДанные Цикл
            Если Стр.Ключ = "event" Тогда
                Событие = Стр.Значение;
            ИначеЕсли Стр.Ключ = "uid" Тогда
                УИД = Стр.Значение;	
            ИначеЕсли Стр.Ключ = "result" Тогда
                Результат = Стр.Значение; //HEX строка
            ИначеЕсли Стр.Ключ = "text" Тогда
                Текст = Стр.Значение;	
            ИначеЕсли Стр.Ключ = "tech" Тогда
                Техлист = Стр.Значение;	
            КонецЕсли;
        КонецЦикла;
        //обработка полученных данных ...
    КонецЕсли;	
КонецПроцедуры 

Виды меток nfc

С самой технологией всё более менее понятно. Тогда зачем столько видов меток предлагается производителями? Почему одни стоят дешевле, а другие в 2-3 раза дороже? Давайте разберемся!

Стандартом ISO 14443A описывается 4 вида меток, ещё одна описывается стандартом ISO 18092:

ТипСтандартПамятьСкорость обменаЗаписьчтениеЗащита от коллизий
1ISO14443A96б-2кб106кб/сданет
2ISO14443A96б-2кб106кб/сдада
3ISO1809296б-2кб212кб/сдада
4ISO14443A2/4/8кбдо 424кб/сдада
5ISO14443Aдо 4кб106кб/сдада
  1. Тип 1 – ранняя разработка, слабо распространен из-за отсутствия защиты от коллизий.

Для справки: коллизии возникают при одновременной передаче данных двумя источниками.

  1. Тип 2 – уже поинтереснее, но всё еще не имеет шифрования.
  2. Тип 3 – интересен тем, что поддерживает шифрование данных, но сильно дороже.
  3. Тип 4 – имеет увеличенное количество памяти, что позволяет сохранить больше данных.

Фото 3Наиболее распространенным является тип 5 – Mifare Classic tag, компании NXP Semiconductors.

Он наиболее выгоден по балансу цена-качество.

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

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

В форме наклеек метку можно приклеить в любое удобное место:

  • книгу;
  • журнал;
  • крышку ноутбука;
  • wifi роутер;
  • торпеду авто;
  • мебель.

Метки в таком формате имеют защиту от влаги, а для улицы есть термостойкие метки с режимами -10oС 60oС.

Альтернативный формат – брелок в пластиковом корпусе. Этот вариант позволяет носить метку в кармане, не беспокоясь за ее целостность.

Вместо введения

NFC расшифровывается как Near Field Communication или «ближняя бесконтактная связь», если по-русски. По своей сути это небольшой чип, который может быть встроен в смартфон с целью передачи данных на очень короткие расстояния с весьма мизерной скоростью.

NFC очень близка к технологии RFID, которая уже давным-давно используется для пометки продуктов в супермаркетах, но базируется на ее более позднем стандарте ISO/IEC 14443 (смарт-карты) и спроектирована для использования в переносной электронике (читай: смартфонах) и выполнения безопасных транзакций (читай: оплаты покупок).

Как и в случае со стандартом ISO/IEC 14443, дальность действия NFC всего 5–10 см, но разница в том, что чип NFC способен выполнять функцию тега и считывателя одновременно. Другими словами, оснащенный NFC смартфон может быть как смарт-картой (картой метро, например), которую достаточно поднести к считывателю, чтобы расплатиться, так и самим считывателем, что можно использовать, например, для перевода средств между картами-смартфонами и превращения реальных карт с поддержкой стандарта ISO/IEC 14443 в виртуальные.

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

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

Как и в предыдущем случае, все, что требуется для передачи, — просто поднести телефоны друг к другу. В прошивках Samsung эта функция носит имя S-Beam и позволяет использовать в качестве «транспортного канала» не только синезуб, но и Wi-Fi (один из смартфонов превращается в точку доступа).

Еще одна возможность — использование пассивных NFC-тегов. Такие теги в виде небольших наклеек можно приобрести за полдоллара за штуку и перепрограммировать с помощью смартфона. Каждый из них может вмещать в себя 137 байт информации (в случае самого распространенного и дешевого тега Mifire Ultralight C), для считывания которой опять же достаточно просто поднести смартфон.

В тег можно записать пароль от домашнего Wi-Fi и приклеить на роутер. Или кодовое слово, на которое будет реагировать смартфон. Можно организовать автоматический запуск навигатора при установке смартфона в держатель в автомобиле или включение бесшумного и энергосберегающего режимов, когда телефон находится на прикроватной тумбочке. Небольшой список покупок в 137 байт тоже вполне вместится.

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

Поддержка в смартфонах

Первым телефоном с интегрированной поддержкой NFC был Nokia 6131, выпущенный еще в 2006 году. Тогда встроенный NFC-чип был всего лишь игрушкой для демонстрации возможностей созданной два года назад технологии. Смартфон был оснащен софтом для считывания NFC-меток, но ввиду их тогдашней дороговизны и почти нулевой популярности технологии ни на какое серьезное применение данная особенность смартфона не претендовала.

После некоторого затишья популяризацией NFC занялась компания Google, выпустившая в 2021 году смартфон Samsung Nexus S и приложение Google Wallet, которое позволяло расплачиваться виртуальными кредитками, используя NFC. На следующий год Google стала ведущим участником NFC Forum и представила Android 4.0 и основанный на нем смартфон Samsung Galaxy Nexus, который теперь мог похвастаться наличием той самой функции Beam. Позже появился Nexus 4, и наконец начали подтягиваться другие производители.

Сегодня NFC оснащаются почти все выпускаемые смартфоны. Соответствующий модуль есть даже в сверхбюджетных чипах Mediatek, так что большая часть новых китайских смартфонов стоимостью 5000 рублей тоже им оснащены. В любом случае присутствие чипа NFC легко проверить по наличию пункта «Беспроводные сети -> NFC» в настройках.

Какие телефоны на android содержат чип-nfc

В список поддерживающих устройств вошли телефоны:

  1. Самсунг: Как оплачивать телефоном вместо карты Сбербанка
  2. Nokia: Как оплачивать телефоном вместо карты Сбербанка
  3. Ксиоми: Как оплачивать телефоном вместо карты Сбербанка
  4. Huawei: Как оплачивать телефоном вместо карты Сбербанка
    • Mate 8, 9, 10, 20;
    • Mate 9Pro, 10Pro, 20Pro;
    • Mate 20Lite;
    • Ascend G6;
    • Ascend Mate 7;
    • Р10, Р20, Р30;
    • Р smart;
    • Р8 lite, Р9 lite, Р10, Р10 lite; Р20 lite, Р30 lite;
    • Р9 plus, Р10 plus,
    • Р20 Pro, Р30 Pro;
    • Honor 8, 8Х, 9, 9 lite, 5 С, 10, 10 lite, 20.
  5. Сони: Как оплачивать телефоном вместо карты Сбербанка
    • Xperia 1; L1, L2;
    • Xperia XZ, XZ 1, XZ 2, XZ S; XZ Premium, XZ 1 Compact;
    • Xperia Х, Х Performance;
    • Xperia Z 5 и Z 5 Compact;
    • Xperia Е 5;
    • Xperia ХА 1, ХА 1 Плюс, ХА 2, ХА 2 ultra;
    • Z3 .
  6. LG: Как оплачивать телефоном вместо карты Сбербанка
    • V 10, V 30 и 30 , V 40 ThinQ;
    • G 3 и G 3 S, G 5 SE, G 6 и 6 , G 7 Thinq, G 8, G Flex;
    • Q 6, Q 6 , Q7 ; Q Stylus ;
    • Nexus 5 и Nexus 5 X;
    • X fast.

Есть и другие производители, предлагающие гаджеты с НФС чипами, это:

Пишем данные

Для записи данных будем использовать NFC TagWriter. Пользоваться приложением довольно просто. Запускаем, тапаем по пункту Create, write and store, выбираем New, далее выбираем тип записываемых данных. Наиболее полезные типы: контакт, простой текст, телефонный номер, данные для Bluetooth-соединения, URI и приложение. В списке есть даже закладка веб-браузера и email-сообщение, но для чего они нужны, не совсем понятно.

Главный экран NFC TagWriter
Главный экран NFC TagWriter

Далее заполняем необходимые поля (например, адрес веб-сайта в случае с URI), нажимаем Next и попадаем на экран опций (скриншот «NFC TagWriter: опции сообщения»). Здесь можно указать приложение, которое будет запущено после прочтения метки (Add launch application) и установить защиту на перезапись сторонним устройством (Apply Soft Protection).

NFC TagWriter: опции сообщения
NFC TagWriter: опции сообщения

Вновь нажимаем Next и подносим смартфон к тегу. Вуаля, наши данные в нем. Теперь их можно прочитать любым смартфоном с поддержкой NFC. Но что это в конечном итоге дает?

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

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