2011-06-03 23 views
8

पर कॉल करता है हमने एनएफसी परीक्षण के लिए एसीआर 122 यूएसबी एसडीके खरीदा है। हम ACR122U-A2 एनएफसी रीडर के लिए परीक्षण डेस्कटॉप एप्लिकेशन बनाना चाहते हैं। हम माइक्रोसॉफ्ट विंडोज 7 मंच पर जावा में इसे विकसित कर रहे हैं।एसीआर 122 यूएसबी एसडीके - जेएनआई Winscard.dll

हमें उम्मीद है कि Winscard.dll से पीसी/एससी का उपयोग करने के लिए हमें जेएनआई कॉल करने की आवश्यकता है। जेएनआई कॉल के लिए सी/सी ++ रैपर लाइब्रेरी करने के लिए तैयार किया जाना चाहिए।

मुझे लगता है कि यह एसडीके का हिस्सा होना चाहिए, क्योंकि उदाहरण एप्लिकेशन जेएनआई रैपर Jacspcsc.dll का संदर्भ देता है, लेकिन पुस्तकालय वहां नहीं है। क्या कोई भी समान अनुभव है? क्या Winscard.dll के लिए कोई जेएनआई रैपर उपलब्ध है?

धन्यवाद स्टेन

उत्तर

5

आप पाठक के लिए पीसी/एससी ड्राइवर आप जावा smardcardio पैकेज का उपयोग कर सकते हैं (स्थापित किया है http://download.oracle.com/javase/6/docs/jre/api/ सुरक्षा/स्मार्टकार्डियो/spec/javax/smartcardio/package-summary.html) पाठक के साथ संवाद करने के लिए।

TerminalFactory terminalFactory = TerminalFactory.getDefault(); 
CardTerminal terminal = terminalFactory.terminals().list().get(0); 
Card card = terminal.connect("T=0"); 
CardChannel channel = card.getBasicChannel(); 

// Construct a command and transmit it 
CommandAPDU command = new CommandAPDU(new byte[]{(byte)0x01, (byte)0x02, ...}) 
ResponseAPDU response = channel.transmit(command) 
+0

हाय, मैं पहले ही जावा स्कार्डकार्डियो पैकेज का उपयोग करता हूं। मुझे जेएनआई कॉल के लिए लाइब्रेरी भी मिली, लेकिन मैं जावा मूल तरीका पसंद करता हूं ... अभी मैंने सभी शुरुआतीकरण को अंतिम रूप दिया, जीयूआई बनाया और मुझे एटीआर मिला। अब मैं टैग प्रोग्राम करने जा रहा हूं। क्या आपको पता है कि कमांडएपीयूडी का उपयोग गैर-एपीडीयू कमांड भेजने के लिए किया जा सकता है, यानी टैग के साथ कैसे आगे बढ़ना है (उदा। मिफायर क्लासिक 1 के), जो एपीडीयू को समझ में नहीं आता है, लेकिन केवल मालिकाना आदेश? Thx Petr – STeN

+0

टैग को टैग विशिष्ट आदेश भेजने के लिए टैग के लिए लॉजिकल कनेक्शन स्थापित करने के लिए आपको कुछ चरणों के माध्यम से जाना होगा; आपको टैग के लिए मतदान करने की आवश्यकता है और एक बार आपको प्रतिक्रिया मिलने के बाद, टैग को आदेश भेजने के लिए प्रत्यक्ष प्रेषण आदेश का उपयोग करें। ACR122U रीडर के लिए प्रलेखन इस प्रकार के उदाहरण प्रदान करता है कि यह कैसे करें। –

+0

आपको 'छद्म एपीडीयू' के अंदर संपर्क रहित कार्ड (आंतरिक संपर्क एसएएम कार्ड के विपरीत) के लिए कमांड लपेटने की आवश्यकता है। हमने इस पर [smart] के लिए एक स्मार्टकार्डियो आधारित प्रदाता लागू किया है (http://scuba.svn.sourceforge.net/viewvc/scuba/acr122provider/src/net/sourceforge/scuba/smartcards/ACR122TerminalFactorySpi.java?revision=161&view = मार्कअप)। – martijno

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^