Dapatkah ponsel Android NFC bertindak sebagai tag NFC?

101

Dari apa yang saya pahami selama ini, ponsel NFC akan bertindak sebagai pembaca NFC yang akan membaca data dari sebuah tag NFC. Sekarang pertanyaan saya adalah, bisakah kita mengubah ini? Bisakah kita membuat ponsel Android NFC berperilaku sebagai tag di mana pembaca NFC akan mendapatkan datanya?

Terima kasih atas bantuannya.

Joshua Partogi
sumber

Jawaban:

32

Saat ini, saya akan menjawab "tidak" atau "dengan susah payah", tetapi itu bisa berubah seiring waktu seiring dengan berkembangnya API NFC android.

Ada tiga mode interaksi NFC:

  1. Pembaca-Penulis: Ponsel membaca tag dan menulis padanya. Ini bukan meniru kartu, melainkan perangkat pembaca / penulis NFC. Karenanya, Anda tidak dapat meniru tag dalam mode ini.

  2. Peer-to-peer: telepon dapat membaca dan mengirimkan kembali pesan ndef. Jika pembaca tag mendukung mode peer-to-peer, maka ponsel mungkin dapat bertindak sebagai tag. Namun, saya tidak yakin apakah android menggunakan protokolnya sendiri di atas protokol LLCP (protokol tautan logis NFC), yang kemudian akan mencegah sebagian besar pembaca memperlakukan ponsel sebagai tag nfc.

  3. Mode emulasi kartu: ponsel menggunakan elemen aman untuk meniru kartu pintar atau perangkat nirkontak lainnya. Saya tidak yakin apakah ini diluncurkan, tetapi bisa memberikan menjanjikan. Namun, menggunakan elemen aman mungkin memerlukan vendor perangkat keras atau orang lain untuk memverifikasi aplikasi Anda / memberinya izin untuk mengakses elemen aman. Ini tidak sesederhana membuat aplikasi android NFC biasa.

Detail lebih lanjut di sini: http://www.mail-archive.com/[email protected]/msg152222.html

Pertanyaan sebenarnya adalah: mengapa Anda mencoba meniru tag NFC lama yang sederhana? Apakah ada aplikasi yang tidak saya pikirkan? Biasanya, Anda ingin meniru sesuatu seperti kartu transit, kunci akses, atau kartu kredit yang memerlukan elemen keamanan (menurut saya, tapi tidak yakin).

MakeSomething
sumber
Baik. Google baru saja mengumumkan google.com/wallet hari ini. Dalam skenario ini, bukankah ponsel akan bertindak sebagai tag?
Joshua Partogi
1
Seperti yang ditunjukkan @erich-douglass di atas: belum tentu. jika terminal pembaca adalah peer-to-peer, itu tidak perlu bertindak sebagai tag.
denbec
seperti di atas, Anda dapat menulis ke pembaca dari ponsel menggunakan dukungan NDEF push dan peer to peer di android 2.3+, tetapi Anda perlu memastikan bahwa kode pembaca adalah peer to peer. (harus menjadi ponsel yang memiliki obv chip NFC misalnya Galaxy Nexus, Nexus S.)
gamozzii
Masalahnya adalah saat ini sebagian besar pembaca kartu NFC menganggap tag pasif. Jauh lebih kompleks untuk mendukung pertukaran LLCP aktif dan tentu saja masih mendukung pembacaan kartu pasif. Itu mungkin, tetapi saya belum mendengar tentang opsi pembayaran yang diterapkan menggunakan LLCP ...
AerandiR
11
Ini sudah ketinggalan zaman. Android 4.4 memiliki emulasi kartu berbasis host, yang memungkinkan ini: developer.android.com/guide/topics/connectivity/nfc/hce.html
Trevor Johns
17

Bisakah kita menjadikan Android NFC sebagai tag di mana pembaca NFC akan mendapatkan datanya?

Nexus S mendukung mode peer-to-peer , yang seperti namanya, menyebabkan satu ponsel bertindak sebagai tag yang dapat dibaca oleh ponsel lain. Ada sesi Google I / O yang sangat bagus di NFC tahun ini. Saya akan merekomendasikan untuk menontonnya jika Anda sama sekali tertarik dengan NFC.

Erich Douglass
sumber
Terima kasih. Itu membuatnya jelas bagi saya. Tetapi dapatkah pembaca NFC membaca dari ponsel?
Joshua Partogi
@jpartogi Saya tidak sepenuhnya yakin, tapi saya pikir pembaca harus secara eksplisit mendukung mode peer-to-peer agar bisa bekerja.
Erich Douglass
mode peer-to-peer adalah saat KEDUA ponsel atau perangkat bertindak sebagai pembaca. Informasi tidak sebanyak yang dibaca karena didorong (ditulis) bolak-balik.
Ben Ward
9

ya kamu bisa. Android kitkat meningkatkan fungsi ini di sini

iglen_
sumber
3

Baca di sini: http://groups.google.com/group/android-developers/browse_thread/thread/d5fc35a9f16aa467/dec4843abd73d9e9%3Flnk%3Dgst%26q%3Dsecure%2Belement%2Bdiff%2527s%23dec48e43abd73di=9e43abd73

Saya sendiri belum memverifikasi itu, tetapi sepertinya orang berhasil memasukkan kode tersembunyi ke Android lagi. Mereka tampaknya dapat meniru kartu Mifare Classic (iso-14443). Saya akan segera menguji ini sendiri, ini terlihat sangat menarik.

Jika Anda ingin melakukannya untuk aplikasi komersial / gratis, Anda akan mengalami kesulitan, pengguna Anda tidak ingin mengubah kernel mereka untuk mendukung aplikasi Anda.

Pembaruan: Akan ada trik sederhana untuk membuat ponsel Anda meniru tiket:
Anda bisa mendapatkan stiker NFC dan memasukkannya ke dalam atau di ponsel. Dengan cara ini Anda dapat membaca dan menulisnya setiap saat dan perangkat lain juga dapat membaca dan menulisnya.
Itu hanya ide yang saya miliki, belum pernah melihatnya digunakan di mana pun tentunya;)

John
sumber
Kami telah mencoba trik dengan emulasi tag NFC di iPhone dengan iCarte. Mungkin berhasil ... tapi kami memutuskan untuk membatalkannya, karena itu benar-benar tidak dapat digunakan ...
STeN
2

Ya, lihat NDEF Push di NFCManager - dengan Android 4 Anda sekarang bahkan dapat membuat NDEFMessage untuk didorong ke perangkat aktif saat interaksi berlangsung.

Sven Haiges
sumber
1
Ini adalah mode p2p bukan? Bukan forum NFC yang mewajibkan emulasi tag.
STeN
2

Dalam sesi google io tentang NFC, bagian qa. Ada pertanyaan seperti itu:

emulasi kartu? Tidak ada dukungan API untuk emulasi kartu Tidak ada pengalaman pengguna yang konsisten saat melakukan emulasi kartu dan tidak ada cerita yang menarik

Jason
sumber
Sekali lagi - alasan emulasi kartu 'tidak diizinkan' adalah karena biasanya elemen aman perlu digunakan, tetapi untuk tag NFC tidak memiliki keamanan (sebenarnya TIDAK DAPAT memilikinya). Ini menghilangkan kebutuhan elemen aman dan dimungkinkan untuk mengemulasinya melalui kode aplikasi.
STeN
1

Jika Anda bermaksud mendapatkan perangkat NFC bertenaga untuk berpura-pura menjadi perangkat pasif (misalnya tag) .. tidak yakin seberapa baik kerjanya tetapi aplikasi android NFCClassic dimaksudkan untuk merekam konten tag dan kemudian mengizinkan tag tersebut diaktifkan dan tampak seperti tag yang disalin ke pembaca NFC. Membuat perpustakaan tag yang direkam.

mobycoder
sumber
0

Untuk teknologi NFC, itu mudah. Untuk Google, itu tidak akan mendukungnya sebagai dompet Google.

xding
sumber
0

Tidak, tidak untuk saat ini. Google menunjukkan pada Google IO 2011, bahwa emulasi kartu tidak didukung dan tidak akan didukung untuk sementara waktu. Masalah utama (dan mudah dipahami): Aplikasi mana yang seharusnya tepat di ponsel untuk meniru smartcard?

denbec
sumber
Cara yang benar untuk dilakukan adalah memiliki kemungkinan bagi IC untuk menerima Info dari setiap info atas permintaan ...
Obmerk Kronen
0

Anda pasti dapat membuat ponsel Android menulis ke pembaca tag menggunakan fungsi NDEFPush di dukungan peer-to-peer - tetapi Anda perlu menulis kode di sisi pembaca tag untuk menggunakan peer-to-peer juga (llcp) .

gamozzii
sumber
0

Ya, Anda bisa yang merupakan Mode Peer-To-Peer

Mode Peer-To-Peer


Koneksi P2P dua arah untuk bertukar data antar perangkat

- Kedekatan memicu interaksi

–Nexus S: Perangkat harus ditempatkan saling membelakangi

Contoh Aplikasi

–Tukar vCard

–Penyerahan Tiket & Pembayaran P2P

–Berbagi halaman web, berbagi video Youtube

–Berbagi aplikasi

Ranjith Subramaniam
sumber
0

Dimungkinkan untuk membuat perangkat Android berperilaku sebagai Tag NFC. Perilaku seperti itu disebut Emulasi Kartu .

  • Emulasi kartu dapat berbasis host (HCE) atau berbasis elemen aman (CE).
  • Di HCE, aplikasi yang berjalan pada prosesor utama Android merespons pembaca. Jadi, ponsel harus ON.
  • Di CE, applet yang berada di elemen Secure merespons pembaca. Di sini, cukup untuk mengaktifkan pengontrol NFC, dengan sisa perangkat ditangguhkan.
  • Salah satu atau kedua pendekatan ini dapat aktif secara bersamaan.
    Tabel perutean menginstruksikan pengontrol NFC tempat merutekan perintah Pembaca.
Padmanabha V
sumber
Dapat memberikan beberapa referensi atau kasus penggunaan?
AbhinayMe