Điện thoại Android NFC có thể hoạt động như một thẻ NFC không?


101

Theo những gì tôi đã hiểu cho đến nay, điện thoại NFC sẽ hoạt động như một đầu đọc NFC sẽ đọc dữ liệu từ thẻ NFC. Bây giờ câu hỏi của tôi là, chúng ta có thể thay đổi điều này? Chúng ta có thể làm cho điện thoại Android NFC hoạt động như thẻ mà đầu đọc NFC sẽ lấy dữ liệu từ đó không?

Cảm ơn vì sự hỗ trợ của bạn.

Câu trả lời:


32

Tại thời điểm này, tôi sẽ trả lời "không" hoặc "gặp khó khăn", nhưng điều đó có thể thay đổi theo thời gian khi API NFC của android phát triển.

Có ba chế độ tương tác NFC:

  1. Reader-Writer: Điện thoại đọc các thẻ và ghi vào chúng. Nó không mô phỏng thẻ thay vào đó là thiết bị đọc / ghi NFC. Do đó, bạn không thể mô phỏng thẻ trong chế độ này.

  2. Peer-to-peer: điện thoại có thể đọc và chuyển lại các tin nhắn ndef. Nếu trình đọc thẻ hỗ trợ chế độ ngang hàng, thì điện thoại có thể hoạt động như một thẻ. Tuy nhiên, tôi không chắc liệu android có sử dụng giao thức riêng của nó trên giao thức LLCP (giao thức liên kết logic NFC) hay không, điều này sau đó sẽ ngăn hầu hết người đọc coi điện thoại như một thẻ nfc.

  3. Chế độ giả lập thẻ: điện thoại sử dụng yếu tố bảo mật để mô phỏng thẻ thông minh hoặc thiết bị không tiếp xúc khác. Tôi không chắc liệu điều này có được khởi chạy hay không, nhưng có thể cung cấp đầy hứa hẹn. Tuy nhiên, việc sử dụng phần tử an toàn có thể yêu cầu nhà cung cấp phần cứng hoặc một số người khác xác minh ứng dụng của bạn / cấp cho nó quyền truy cập phần tử an toàn. Nó không đơn giản như tạo một ứng dụng android NFC thông thường.

Thêm chi tiết tại đây: http://www.mail-archive.com/android-developers@googlegroups.com/msg152222.html

Một câu hỏi thực sự sẽ là: tại sao bạn lại cố gắng mô phỏng một thẻ nfc cũ đơn giản? Có ứng dụng nào tôi không nghĩ đến không? Thông thường, bạn muốn mô phỏng một cái gì đó như thẻ chuyển tuyến, khóa truy cập hoặc thẻ tín dụng yêu cầu yếu tố bảo mật (tôi nghĩ, nhưng không chắc).


Đồng ý. Google vừa công bố google.com/wallet hôm nay. Trong trường hợp này, điện thoại sẽ không hoạt động như một thẻ?
Joshua Partogi

1
Như @ erich-douglass đã chỉ ra ở trên: không nhất thiết. nếu thiết bị đầu cuối của trình đọc là ngang hàng, nó sẽ không cần phải hoạt động như một thẻ.
denbec

như trên, bạn có thể viết cho người đọc từ điện thoại bằng cách sử dụng hỗ trợ đẩy và ngang hàng NDEF trong android 2.3+, nhưng bạn cần đảm bảo rằng mã người đọc là ngang hàng. (nhu cầu là một điện thoại có chip NFC obv ví dụ Galaxy Nexus, Nexus S.)
gamozzii

Vấn đề là hiện tại hầu hết các đầu đọc thẻ NFC đều giả định là thẻ thụ động. Việc hỗ trợ trao đổi LLCP chủ động phức tạp hơn nhiều và tất nhiên vẫn hỗ trợ đọc thẻ thụ động. Có thể, nhưng tôi chưa nghe nói về một tùy chọn thanh toán triển khai sử dụng LLCP ...
AerandiR

11
Điều này đã lỗi thời. Android 4.4 có máy chủ dựa trên mô phỏng thẻ, cho phép chính xác này: developer.android.com/guide/topics/connectivity/nfc/hce.html
Trevor Johns

17

Chúng ta có thể tạo NFC cho Android làm thẻ mà đầu đọc NFC sẽ lấy dữ liệu từ đó không?

Nexus S hỗ trợ chế độ ngang hàng , như tên gọi của nó, khiến một điện thoại hoạt động như một thẻ mà điện thoại khác có thể đọc. Có một phiên Google I / O thực sự tốt trên NFC năm nay. Tôi khuyên bạn nên xem nó nếu bạn quan tâm đến NFC.


Cảm ơn. Điều đó làm cho nó rõ ràng cho tôi. Nhưng đầu đọc NFC có thể đọc từ điện thoại không?
Joshua Partogi

@jpartogi Tôi không hoàn toàn chắc chắn, nhưng tôi nghĩ người đọc sẽ phải hỗ trợ rõ ràng chế độ ngang hàng để nó hoạt động.
Erich Douglass

chế độ ngang hàng là khi CẢ HAI điện thoại hoặc thiết bị hoạt động như một đầu đọc. Thông tin không được đọc quá nhiều vì nó được đẩy (viết) qua lại.
Ben Ward



3

Đọc ở đây: http://groups.google.com/group/android-developers/browse_thread/thread/d5fc35a9f16aa467/dec4843abd73d9e9%3Flnk%3Dgst%26q%3Dsecure%2Belement%2Bdiff%2527s%23dec4843abd73d9e9?

Tôi chưa xác minh điều đó nhưng có vẻ như mọi người đã quản lý để đưa lại mã ẩn vào Android. Chúng dường như có thể mô phỏng thẻ Mifare Classic (iso-14443). Tôi sẽ sớm tự mình kiểm tra điều này, nó trông rất thú vị.

Nếu bạn muốn làm điều đó cho một ứng dụng thương mại / miễn phí, bạn sẽ gặp khó khăn, người dùng của bạn sẽ không muốn thay đổi nhân của họ để hỗ trợ ứng dụng của bạn.

Cập nhật: Sẽ có một mẹo đơn giản để làm cho điện thoại của bạn mô phỏng một tấm vé:
Bạn có thể lấy một nhãn dán NFC và đặt nó vào hoặc trên điện thoại. Bằng cách này, bạn có thể đọc và ghi nó mọi lúc và các thiết bị khác cũng có thể đọc và ghi nó.
Đó chỉ là một ý tưởng tôi có, tất nhiên là chưa bao giờ thấy nó được sử dụng ở bất cứ đâu;)


Chúng tôi đã thử thủ thuật giả lập thẻ NFC trên iPhone với iCarte. Nó có thể làm việc ... nhưng chúng tôi quyết định hủy bỏ nó, vì đó thực sự là không sử dụng được ...
Sten

2

Có, hãy xem NDEF Push trong NFCManager - với Android 4, giờ đây bạn thậm chí có thể tạo NDEFMessage để đẩy tới thiết bị đang hoạt động tại thời điểm tương tác diễn ra.


1
Đây là chế độ p2p phải không? Không phải diễn đàn NFC mô phỏng thẻ bắt buộc.
STeN

2

Trong phần google io về NFC, qa. Có một câu hỏi như vậy:

thẻ thi đua? Không hỗ trợ API cho mô phỏng thẻ Không có trải nghiệm người dùng nhất quán khi thực hiện mô phỏng thẻ và không có câu chuyện hấp dẫn


Bu lại - lý do mô phỏng thẻ 'không được phép' là phần tử bảo mật thường cần được sử dụng, nhưng đối với thẻ NFC không có bảo mật (thực tế là chúng KHÔNG THỂ có bất kỳ). Điều này loại bỏ nhu cầu phần tử bảo mật và có thể mô phỏng nó thông qua mã ứng dụng.
STeN

1

Nếu bạn muốn thiết bị NFC được hỗ trợ để giả vờ là thiết bị thụ động (ví dụ: thẻ) .. không chắc nó hoạt động tốt như thế nào nhưng ứng dụng android NFCClassic có mục đích ghi lại nội dung thẻ và sau đó cho phép thẻ được kích hoạt và có vẻ như thẻ đã sao chép vào đầu đọc NFC. Tạo một thư viện các thẻ được ghi lại.



0

Đối với công nghệ NFC, điều đó thật dễ dàng. Đối với Google, nó sẽ không hỗ trợ nó như Google wallet.


0

Không phải lúc này. Google đã chỉ ra tại Google IO 2011, rằng mô phỏng thẻ không được hỗ trợ và sẽ không được hỗ trợ trong một thời gian. Vấn đề chính (và dễ hiểu): Ứng dụng nào nên có quyền trên điện thoại để mô phỏng thẻ thông minh?


Đúng cách để làm là phải có khả năng cho IC để chấp nhận thông tin từ mỗi thông tin theo yêu cầu ...
Obmerk Kronen

0

Bạn chắc chắn có thể khiến điện thoại Android ghi vào trình đọc thẻ bằng cách sử dụng chức năng NDEFPush trong hỗ trợ ngang hàng - nhưng bạn sẽ cần viết mã ở phía trình đọc thẻ để sử dụng cả tính năng ngang hàng (llcp) .


0

Có, bạn có thể đó là Chế độ ngang hàng

Chế độ ngang hàng


Kết nối P2P hai chiều để trao đổi dữ liệu giữa các thiết bị

–Các tương tác kích hoạt vùng lân cận

–Nexus S: Các thiết bị phải được đặt liền nhau

Ví dụ về ứng dụng

–Trao đổi vCards

–Nhận vé & Thanh toán P2P

– Chia sẻ trang web, chia sẻ video trên Youtube

– Chia sẻ ứng dụng


0

Có thể làm cho thiết bị Android hoạt động như một Thẻ NFC. Một hành vi như vậy được gọi là Thi đua thẻ .

  • Mô phỏng thẻ có thể dựa trên máy chủ (HCE) hoặc dựa trên yếu tố an toàn (CE).
  • Trong HCE, một ứng dụng chạy trên bộ xử lý chính của Android sẽ phản hồi lại người đọc. Vì vậy, điện thoại cần được BẬT.
  • Trong CE, một applet nằm trong phần tử Secure sẽ phản hồi lại trình đọc. Ở đây, nó đủ để có bộ điều khiển NFC được cấp nguồn, với phần còn lại của thiết bị bị treo.
  • Một trong hai cách tiếp cận này có thể hoạt động đồng thời.
    Bảng định tuyến hướng dẫn bộ điều khiển NFC nơi định tuyến các lệnh của Bộ đọc đến.

Có thể cung cấp một số trường hợp tham khảo hoặc sử dụng?
AbhinayMe
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.