Может ли телефон Android NFC действовать как метка NFC?


101

Насколько я понял, телефон NFC будет действовать как считыватель NFC, который будет считывать данные с метки NFC. Теперь у меня вопрос, можем ли мы это изменить? Можем ли мы заставить телефон Android NFC вести себя как тег, с которого считыватель NFC будет получать данные?

Спасибо за вашу помощь.

Ответы:


32

На данный момент я бы ответил «нет» или «с трудом», но это может измениться со временем по мере развития Android NFC API.

Есть три режима взаимодействия NFC:

  1. Читатель-писатель: телефон считывает теги и записывает в них. Это не эмуляция карты вместо устройства чтения / записи NFC. Следовательно, вы не можете эмулировать тег в этом режиме.

  2. Одноранговая связь: телефон может читать и передавать сообщения ndef. Если считыватель тегов поддерживает одноранговый режим, тогда телефон может действовать как тег. Однако я не уверен, использует ли Android свой собственный протокол поверх протокола LLCP (протокол логической связи NFC), который затем помешал бы большинству читателей рассматривать телефон как тег nfc.

  3. Режим эмуляции карты: телефон использует защищенный элемент для имитации смарт-карты или другого бесконтактного устройства. Я не уверен, запущен ли он еще, но может быть многообещающим. Однако использование защищенного элемента может потребовать от поставщика оборудования или другого лица проверки вашего приложения / предоставления ему разрешений на доступ к защищенному элементу. Это не так просто, как создать обычное приложение NFC для Android.

Подробнее здесь: http://www.mail-archive.com/android-developers@googlegroups.com/msg152222.html

Возникает настоящий вопрос: зачем вы пытаетесь имитировать простой старый тег NFC? Есть какое-то приложение, о котором я не думаю? Обычно вам нужно сымитировать что-то вроде транспортной карты, ключа доступа или кредитной карты, для чего потребуется элемент безопасности (я думаю, но не уверен).


Хорошо. Google просто анонсирует google.com/wallet сегодня. В этом случае не будет ли телефон действовать как метка?
Джошуа Партоги

1
Как отметил @ erich-douglass выше: не обязательно. если терминал чтения является одноранговым, он не должен действовать как тег.
denbec

как указано выше, вы можете писать в устройство чтения с телефона, используя поддержку NDEF push и peer to peer в Android 2.3+, но вам нужно убедиться, что код считывателя является одноранговым. (должен быть телефон с чипом NFC, например, Galaxy Nexus, Nexus S.)
gamozzii

Проблема в том, что в настоящее время большинство считывающих устройств NFC используют пассивные метки. Гораздо сложнее поддерживать активные обмены LLCP и, конечно, по-прежнему поддерживать пассивное считывание карт. Это возможно, но я еще не слышал о варианте оплаты, реализованном с помощью LLCP ...
AerandiR

11
Это устарело. Android 4.4 имеет эмуляцию карты на основе хоста, которая позволяет именно это: developer.android.com/guide/topics/connectivity/nfc/hce.html
Trevor Johns,

17

Можем ли мы сделать Android NFC в качестве метки, с которой считыватель NFC будет получать данные?

Nexus S поддерживает режим одноранговой сети, который, как следует из названия, заставляет один телефон действовать как тег, который может прочитать другой телефон. В этом году была действительно хорошая сессия Google I / O по NFC. Я бы порекомендовал посмотреть его, если вас вообще интересует NFC.


Спасибо. Это дает мне понять. Но может ли считыватель NFC читать с телефона?
Джошуа Партоги

@jpartogi Я не совсем уверен, но думаю, что читатель должен явно поддерживать одноранговый режим, чтобы он работал.
Эрих Дуглас

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



3

Читайте здесь: http://groups.google.com/group/android-developers/browse_thread/thread/d5fc35a9f16aa467/dec4843abd73d9e9%3Flnk%3Dgst%26q%3Dsecure%2Belement%2Bdiff%2527s%23dec489eabe

Я сам этого не проверял, но похоже, что людям снова удалось включить скрытый код в Android. Кажется, они могут имитировать карту Mifare Classic (iso-14443). Скоро сам попробую, выглядит очень интересно.

Если вы хотите сделать это для коммерческого / бесплатного приложения, у вас будут проблемы, ваши пользователи не захотят менять свое ядро ​​для поддержки вашего приложения.

Обновление: есть простой трюк, чтобы заставить ваш телефон имитировать билет:
вы можете получить NFC-наклейку и вставить ее или на телефон. Таким образом, вы можете читать и писать его в любое время, и другие устройства также могут читать и записывать его.
Это просто идея, которую я, конечно, никогда не видел, чтобы она использовалась;)


Мы попробовали трюк с эмуляцией тегов NFC на iPhone с помощью iCarte. Это может сработать ... но мы решили отменить его, так как он действительно непригоден ...
STeN

2

Да, взгляните на NDEF Push в NFCManager - с Android 4 теперь вы даже можете создать NDEFMessage для отправки на активное устройство во время взаимодействия.


1
Это ведь режим p2p? Не обязательная эмуляция тегов на форуме NFC.
STeN

2

В сеансе google io про NFC, раздел qa. Возник такой вопрос:

эмуляция карты? Отсутствие поддержки API для эмуляции карты Отсутствие согласованного пользовательского интерфейса при эмуляции карты и отсутствие убедительной истории


Но опять же - причина, по которой эмуляция карты «не разрешена», заключается в том, что обычно необходимо использовать защищенный элемент, но для тегов NFC нет безопасности (на самом деле они НЕ МОГУТ иметь). Это устраняет необходимость в защищенном элементе, и можно было бы эмулировать его с помощью кода приложения.
STeN

1

Если вы имеете в виду заставить устройство NFC с питанием притвориться пассивным (например, тег) ... не уверен, насколько хорошо оно работает, но приложение для Android NFCClassic намеревается записывать содержимое тега, а затем разрешать тегу быть активированным и, похоже, скопированный тег на считыватели NFC. Создает библиотеку записанных тегов.


1

Да! вы можете просто скачать это приложение!

Скачать приложение

И если вы хотите узнать, как использовать это приложение, посмотрите это видео Как использовать инструменты NFC для эмуляции NFC в качестве приложения для тегов

Спасибо! Отметьте мой ответ, если он вам поможет!


0

Для технологии NFC это просто. Для Google он не будет поддерживать его в качестве кошелька Google.


0

Нет, не сейчас. Google указал на Google IO 2011, что эмуляция карты не поддерживается и не будет поддерживаться некоторое время. Основная (и простая для понимания) проблема: какое приложение должно иметь право на телефоне для эмуляции смарт-карты?


Правильный способ сделать - иметь возможность для IC принимать информацию от каждой информации по запросу ...
Обмерк Кронен

0

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


0

Да, вы можете, это одноранговый режим

Одноранговый режим


Двунаправленное P2P-соединение для обмена данными между устройствами

–Взаимодействия, инициируемые близостью

–Nexus S: устройства нужно размещать вплотную

Пример приложений

–Обмен vCard

–Передача билетов и оплата P2P

–Распространение веб-страниц, Youtube-видео-обмен

–Передача приложений


0

Можно заставить устройство Android вести себя как тег NFC. Такое поведение называется эмуляцией карты .

  • Эмуляция карты может быть основана на хосте (HCE) или на основе защищенных элементов (CE).
  • В HCE приложение, работающее на основном процессоре Android, реагирует на читателя. Итак, телефон должен быть включен.
  • В CE апплет, находящийся в элементе Secure, отвечает читателю. Здесь достаточно, чтобы контроллер NFC был запитан, а остальная часть устройства приостановлена.
  • Один из этих или оба подхода могут быть активны одновременно.
    Таблица маршрутизации указывает контроллеру NFC, куда направлять команды Reader.

Можете предоставить ссылки или варианты использования?
AbhinayMe
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.