Чи може телефон Android NFC діяти як тег NFC?


101

З того, що я зрозумів досі, телефон NFC буде виконувати функцію зчитувача NFC, який буде читати дані з тегів NFC. Тепер моє запитання: чи можемо ми переключити це? Чи можемо ми змусити телефон Android NFC вести себе як тег, від якого читач NFC отримає дані?

Дякуємо за вашу допомогу.

Відповіді:


32

У цей час я відповів би "ні" або "із труднощами", але це може змінитися з часом, коли розвиватиметься API Android NFC.

Існує три режими взаємодії NFC:

  1. Читач-письменник: Телефон читає теги та записує їх. Це замість пристрою для читання / запису NFC не емуляція картки. Отже, ви не можете імітувати тег у цьому режимі.

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

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

Детальніше тут: http://www.mail-archive.com/android-developers@googlegroups.com/msg152222.html

Справжнім питанням було б: чому ви намагаєтеся імітувати простий старий тег nfc? Чи є якась програма, про яку я не думаю? Зазвичай ви хочете емулювати щось на зразок транзитної картки, ключа доступу чи кредитної картки, що вимагатиме захищеного елемента (я думаю, але не впевнений).


Гаразд. Google щойно оголошує google.com/wallet сьогодні. У цьому випадку, чи не став би телефон телефоном тегу?
Джошуа Партогі

1
Як @ erich-douglass вказував вище: не обов'язково. якщо термінал зчитування є одноранговим, йому не потрібно діяти як тег.
denbec

як вище, ви можете писати на читач з телефону, використовуючи функцію NDEF push and peer to peer в андроїді 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
Тревор Джонс,

17

Чи можна зробити Android NFC як тег, від якого читач NFC отримає дані?

Nexus S підтримує одноранговий режим, що, як випливає з його назви, змушує один телефон діяти як тег, який може читати інший телефон. Цього року відбулася дійсно хороша сесія вводу-виводу Google в NFC. Я рекомендував би переглянути, якщо ви взагалі зацікавлені в NFC.


Дякую. Це дає мені зрозуміти. Але чи може читач NFC читати з телефону?
Джошуа Партогі,

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

одноранговий режим - це коли ОСІННІ телефони чи пристрої виступають як зчитувачі. Інформація не стільки, скільки читається, скільки вона висувається (пишеться) вперед і назад.
Бен Уорд



3

Читайте тут: http://groups.google.com/group/android-developers/browse_thread/thread/d5fc35a9f16aa467/dec4843abd73d9e9%3Flnk%3Dgst%26q%3Dsecure%2Belement%2Bdiff%2527s%23dec4843abd73d9e9?pli=1

Я сам цього не підтвердив, але схоже, що людям вдалося знову включити прихований код в Android. Вони, схоже, здатні емулювати карту Mifare Classic (iso-14443). Я незабаром це перевіряю сам, це виглядає дуже цікаво.

Якщо ви хочете зробити це для комерційного / безкоштовного додатка, вам буде важко, ваші користувачі не захочуть змінювати своє ядро, щоб підтримувати ваш додаток.

Оновлення: Існує простий трюк, щоб змусити ваш телефон емулювати квиток:
Ви можете отримати наклейку NFC і покласти її в телефон або в телефон. Таким чином ви можете читати та писати його у будь-який час, а інші пристрої також можуть його читати та записувати.
Це просто ідея, яку я не мав, ніколи не бачив, що використовується ніде звичайно;)


Ми спробували трюк з емуляцією тегів NFC на iPhone за допомогою iCarte. Це може спрацювати ... але ми вирішили скасувати це, оскільки це дійсно непридатно ...
СТЕН

2

Так, погляньте на NDEF Push у NFCManager - за допомогою Android 4 тепер ви можете навіть створити NDEFMessage для просування до активного пристрою під час взаємодії.


1
Це режим p2p, чи не так? Емуляція тегів, надіслених не на форумі NFC,
СТЕН

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, що емуляція карт не підтримується і деякий час не підтримуватиметься. Основна (і її легко зрозуміти) проблема: Який додаток повинен отримати право на телефон, щоб емулювати смарт-карту?


Правильний спосіб зробити це - мати можливість для ІК приймати інформацію з кожної інформації на запит ...
Obmerk Kronen

0

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


0

Так, ви можете, який є Peer-To-Peer Mode

Peer-To-Peer Mode


Двонаправлене підключення P2P для обміну даними між пристроями

–Взаємодія, спровокована швидкістю

–Nexus S: пристрої повинні бути встановлені спиною до спини

Приклад заявок

– Обмін vCards

–Вручення квитків та оплата 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.