2012-11-28 35 views
16

Android應用程序是否可以將之前存儲的RFID卡ID發送到NFC讀卡器?目標是使用Android設備訪問房間,而不是實體RFID卡。 在閱讀了很多有關NFC/RFID &卡仿真的其他線索之後,我得出結論,它現在在Android中不可用,但如果它適用於此特定情況,我仍然有點困惑。應用程序不能簡單地在NDEF消息或APDU命令中發送卡ID,或者我只是完全在做夢?Android應用程序模仿實體RFID卡

+0

看看我的回答[this](http://stackoverflow.com/questions/13081926/reading-rfid-with-android-phones/13295210#13295210)的問題,它可以幫助你審查一項工作解決方案。 – BrOSs

+0

幸運的是,事情發生了變化:)如果你的目標是4.4+,你可能會對此感興趣:https://developer.android.com/guide/topics/connectivity/nfc/hce.html – async

回答

10

嗯,嚴格來說。對於你想做的事情你不需要卡片模擬。您只需將令牌發送至可驗證的門鎖即可。

您可以通過將NDEF消息推送到兼容的設備來完成此操作,SNEP是您要查找的協議。

我更喜歡的解決方案是讓門鎖裝置模擬標籤。然後你可以讓你的Android應用程序爲該標籤註冊一個監聽器(甚至不需要運行)。當檢測到該標籤時,該應用將啓動並通過使用Android SDK中的標籤寫入NFC功能將安全令牌發送至鎖。

保護您的令牌是另一回事。

+0

這就是我想到的。我會檢查使用過的閱讀器是否兼容。不過,我認爲這個解決方案需要閱讀器端的一些軟件來解碼NDEF消息並將其解釋爲實際的物理卡,對嗎? – user1860579

+0

是的,大多數訪問控制系統遵循韋根協議。 Duali使閱讀器與此協議兼容。 – conor

1

Android視圖:

長話短說:這是不可能的。

長很長的故事:

這將有可能從一個硬件和軟件的角度來做到這一點。 NFC芯片完全能夠模擬大多數(不是全部)標準標籤。這樣做的功能甚至內置在較低級別的軟件中,但不會暴露給應用程序。

原因:仿真標籤是整個移動支付基礎架構的基礎。由於移動支付閱讀器一次只接受一個標籤(出於安全原因),同時允許兩個相同類型的卡模擬不適用於大多數NFC芯片,並且也將關閉移動支付。

對於基於RIM的黑莓手機來說,情況有點不同,它們允許卡模擬(即使開箱即可使用此功能),但據我所知,目前它們不會執行任何移動支付。

+0

正如conor所說,我實際上不確定它是否真的需要卡仿真,因爲物理卡ID被嵌入到應用程序中,而不是在安全元件或任何其他地方。 – user1860579