Bir Android NFC telefonu bir NFC etiketi görevi görebilir mi?


101

Şimdiye kadar anladığım kadarıyla, bir NFC telefon, bir NFC etiketinden veri okuyacak bir NFC okuyucu görevi görecek. Şimdi sorum şu, bunu değiştirebilir miyiz? Bir Android NFC telefonun, bir NFC okuyucunun veri alacağı etiket gibi davranmasını sağlayabilir miyiz?

Yardımınız için teşekkürler.

Yanıtlar:


32

Şu anda "hayır" veya "zorlukla" yanıtı verirdim, ancak bu, android NFC API'si geliştikçe zamanla değişebilir.

NFC etkileşiminin üç modu vardır:

  1. Okuyucu-Yazar: Telefon etiketleri okur ve onlara yazar. Bir NFC okuyucu / yazıcı cihazı yerine bir kart taklit etmiyor. Bu nedenle, bu modda bir etiketi taklit edemezsiniz.

  2. Eşler arası: telefon ndef mesajlarını okuyabilir ve geri gönderebilir. Etiket okuyucu eşler arası modu destekliyorsa, telefon muhtemelen bir etiket görevi görebilir. Bununla birlikte, android'in LLCP protokolünün (NFC mantıksal bağlantı protokolü) üstünde kendi protokolünü kullanıp kullanmadığından emin değilim, bu da çoğu okuyucunun telefonu bir nfc etiketi olarak görmesini engeller.

  3. Kart öykünme modu: Telefon, bir akıllı kart veya başka bir temassız cihazı taklit etmek için güvenli bir öğe kullanır. Henüz başlatılıp başlatılmadığından emin değilim, ancak umut verici olabilir. Ancak, güvenli öğeyi kullanmak, donanım satıcısının veya başka bir kişinin uygulamanızı doğrulamasını / güvenli öğeye erişim izni vermesini gerektirebilir. Normal bir NFC android uygulaması oluşturmak kadar basit değil.

Daha fazla ayrıntı burada: http://www.mail-archive.com/android-developers@googlegroups.com/msg152222.html

Gerçek bir soru şudur: Neden basit bir eski nfc etiketini taklit etmeye çalışıyorsunuz? Düşünmediğim bir uygulama var mı? Genellikle, geçiş kartı, erişim anahtarı veya kredi kartı gibi güvenli bir unsur gerektiren bir şeyi taklit etmek istersiniz (sanırım, ama emin değilim).


Tamam. Google bugün google.com/wallet'i duyurdu. Bu senaryoda, telefon etiket görevi görmez mi?
Joshua Partogi

1
@ Erich-douglass'ın yukarıda işaret ettiği gibi: zorunlu olarak değil. okuyucu terminali eşler arası ise, etiket görevi görmesi gerekmez.
denbec

yukarıdaki gibi, android 2.3+ sürümünde NDEF push ve peer to peer desteği kullanarak telefondan bir okuyucuya yazabilirsiniz, ancak okuyucu kodunun eşler arası olduğundan emin olmanız gerekir. (Galaxy Nexus, Nexus S. gibi NFC yongasına sahip bir telefon olması gerekir)
gamozzii

Sorun, şu anda çoğu NFC kart okuyucusunun pasif etiketleri almasıdır. Aktif LLCP değişimlerini desteklemek çok daha karmaşıktır ve elbette pasif kart okumayı desteklemeye devam eder. Mümkün, ancak henüz LLCP kullanılarak uygulanan bir ödeme seçeneği duymadım ...
AerandiR

11
Bu modası geçmiş. Android 4.4, tam olarak buna izin veren ana bilgisayar tabanlı kart emülasyonuna sahiptir: developer.android.com/guide/topics/connectivity/nfc/hce.html
Trevor Johns

17

Bir NFC okuyucunun verileri alacağı etiket olarak bir Android NFC yapabilir miyiz?

Nexus S , adından da anlaşılacağı gibi, bir telefonun başka bir telefonun okuyabileceği bir etiket görevi görmesine neden olan eşler arası modu destekler . Bu yıl NFC'de gerçekten iyi bir Google I / O oturumu vardı. NFC ile ilgileniyorsanız izlemenizi tavsiye ederim.


Teşekkürler. Bu benim için bunu netleştiriyor. Ancak bir NFC okuyucu telefondan okuyabilir mi?
Joshua Partogi

@jpartogi Tam olarak emin değilim, ancak okuyucunun çalışması için eşler arası modu açıkça desteklemesi gerektiğini düşünüyorum.
Erich Douglass

eşler arası mod, telefonların veya cihazların okuyucu görevi gördüğü zamandır. Bilgi, ileri geri itildiği (yazılı olduğu) kadar okunmaz.
Ben Ward



3

Burada okuyun: http://groups.google.com/group/android-developers/browse_thread/thread/d5fc35a9f16aa467/dec4843abd73d9e9%3Flnk%3Dgst%26q%3Dsecure%2Belement%2Bdiff%2527s%23dec4843abd73d

Bunu kendim doğrulamadım ama görünüşe göre insanlar gizli kodu tekrar Android'e eklemeyi başardılar. Bir Mifare Classic kartı (iso-14443) taklit edebiliyor gibi görünüyorlar. Yakında bunu kendim test edeceğim, çok ilginç görünüyor.

Ticari / ücretsiz bir uygulama için yapmak istiyorsanız, zor zamanlar geçireceksiniz, kullanıcılarınız uygulamanızı desteklemek için çekirdeğini değiştirmekten hoşlanmayacak.

Güncelleme: Telefonunuzun bir bileti taklit etmesini sağlamak için basit bir numara olurdu:
Bir NFC etiketi alabilir ve bunu telefonun içine ya da üstüne koyabilirsiniz. Bu şekilde her zaman okuyabilir ve yazabilirsiniz ve diğer cihazlar da okuyabilir ve yazabilir.
Bu sadece aklıma gelen, hiç görmediğim bir fikir elbette hiçbir yerde kullanıldı;)


İCarte ile iPhone'da NFC etiket emülasyonu ile hile denedik. İşe yarayabilir ... ama bu gerçekten kullanılamaz olduğu için iptal etmeye karar verdik ...
STeN

2

Evet, NFCManager'da NDEF Push'a bir göz atın - Android 4 ile artık etkileşim gerçekleştiğinde aktif cihaza göndermek için NDEFMessage'ı bile oluşturabilirsiniz.


1
Bu p2p modu değil mi? NFC forumu zorunlu etiket öykünmesi değildir.
Sten

2

Google io oturumunda NFC, qa bölümü. Böyle bir soru vardı:

kart emülasyonu? Kart emülasyonu için API desteği yok Kart emülasyonu yaparken tutarlı bir kullanıcı deneyimi yok ve ikna edici bir hikaye yok


Yine - kart öykünmesine 'izin verilmemesinin' nedeni, genellikle güvenli öğenin kullanılması gerektiğidir, ancak NFC etiketlerinin güvenliği yoktur (aslında hiçbirine sahip OLAMAZLAR). Bu, güvenli eleman ihtiyacını ortadan kaldırır ve uygulama kodu aracılığıyla bunu taklit etmek mümkün olabilir.
Sten

1

Pasif bir cihaz (örneğin bir etiket) gibi davranmak için güçlendirilmiş bir NFC cihazı almayı kastediyorsanız .. ne kadar iyi çalıştığından emin değilsiniz, ancak android uygulaması NFCClassic etiket içeriklerini kaydettiğini ve ardından etiketin etkinleştirilmesine ve öyle görünmesine izin verdiğini iddia ediyor. kopyalanan etiketi NFC okuyucularına. Kaydedilmiş etiketlerden oluşan bir kitaplık oluşturur.



0

NFC teknolojisi için bu kolaydır. Google için, Google cüzdanı olarak desteklemeyecektir.


0

Hayır, şu anda değil. Google, Google IO 2011'de kart emülasyonunun desteklenmediğini ve bir süre desteklenmeyeceğini belirtti. Ana (ve anlaşılması kolay) sorun: Bir akıllı kartı taklit etmek için telefonda hangi Uygulama doğru olmalıdır?


Yapılacak en doğru yolu ... IC isteği üzerine her bilgilerinden Bilgi kabul etmek için olanağına sahip olmaktır
Obmerk Kronen

0

Eşler arası destekte NDEFPush işlevini kullanarak kesinlikle bir Android telefonun bir etiket okuyucuya yazmasını sağlayabilirsiniz - ancak eşler arası (llcp) kullanmak için kodu etiket okuyucu tarafında yazmanız gerekecektir. .


0

Evet, Peer-To-Peer Modu'nu yapabilirsiniz

Eşler Arası Mod


Cihazlar arasında veri alışverişi için çift yönlü P2P bağlantısı

–Yakınlığın tetiklediği etkileşimler

–Nexus S: Cihazlar arka arkaya yerleştirilmelidir

Uygulama Örnekleri

–VCard değişimi

- Biletlerin Devri ve P2P Ödemesi

–Web sayfası paylaşımı, Youtube video paylaşımı

–Uygulama paylaşımı


0

Android cihazının bir NFC Etiketi gibi davranmasını sağlamak mümkündür . Böyle bir davranışa Kart Emülasyonu denir .

  • Kart emülasyonu, ana bilgisayar tabanlı (HCE) veya güvenli öğe tabanlı (CE) olabilir.
  • HCE'de, Android ana işlemcisi üzerinde çalışan bir uygulama okuyucuya yanıt verir. Bu nedenle, telefonun AÇIK olması gerekir.
  • CE'de, Güvenli öğede bulunan bir uygulama okuyucuya yanıt verir. Burada, cihazın geri kalanı askıya alınmış halde NFC denetleyicisinin çalıştırılması yeterlidir.
  • Bu yaklaşımlardan biri veya her ikisi aynı anda aktif olabilir.
    Bir yönlendirme tablosu, NFC denetleyicisine Okuyucu komutlarını nereye yönlendirdiğini bildirir.

Bazı referans veya kullanım örnekleri sağlayabilir mi?
AbhinayMe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.