एनएफ़सी कंट्रोलर इंटरफ़ेस (एनसीआई) का इस्तेमाल, एनएफ़सी कंट्रोलर (एनएफ़सी). इस पेज पर Android की खास बातों के बारे में बताया गया है मालिकाना हक वाले NCI कमांड का इस्तेमाल कर सकते हैं.
NCI की परिभाषाएं
Android के मालिकाना हक वाले NCI के निर्देश, मालिकाना हक वाले ग्रुप आईडी (जीआईडी) का इस्तेमाल करते हैं 0xF
और 0xC
का Android ऑपकोड आइडेंटिफ़ायर (OID) कोड स्पेस.
कॉमन पैकेट फ़ॉर्मैट
Android NCI पैकेट का फ़ॉर्मैट, कंट्रोल पैकेट के लिए NCI के निर्देशों का पालन करता है
मालिकाना हक Group_ID 0xF
और Opcode_ID 0x0C
का इस्तेमाल करके. हर Android डिवाइस के लिए
तो पैकेट पेलोड की पहली बाइट
Android ऑपकोड (0x0C
). Android के कंट्रोल पैकेट में Message_Type
और
इससे मिलते-जुलते निर्देशों, जवाबों, और सूचनाओं की पहचान करने के लिए PBF
स्टैंडर्ड कमांड इस्तेमाल करते हैं.
Android पैकेट का फ़ॉर्मैट, इस टेबल में दिखाया गया है:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Message_Type
|
PBF
|
Group_ID = 0xF (PROPRIETARY)
|
|||||
आने वाले समय में इस्तेमाल के लिए रिज़र्व किया गया (RFU) | Opcode_ID = 0x0C (ANDROID)
|
||||||
Payload_Length
|
|||||||
Android_Opcode_ID
|
|||||||
Android_Payload
|
|||||||
इस टेबल में, असाइन किए गए Android ऑपकोड आइडेंटिफ़ायर दिए गए हैं. कॉन्टेंट बनाने हर पैकेट के लिए खास जानकारी अगले सेक्शन में दी गई है.
Android ओआईडी | मैसेज का टाइप | मैसेज का नाम |
---|---|---|
0x00 | एनसीआई_एमटी_सीएमडी | NCI_ANDROID_GET_CAPS_CMD |
एनसीआई_एमटी_आरएसपी | NCI_ANDROID_GET_CAPS_RSP
|
|
0x01 | एनसीआई_एमटी_सीएमडी | NCI_ANDROID_POWER_SAVING_CMD
|
एनसीआई_एमटी_आरएसपी | NCI_ANDROID_POWER_SAVING_RSP
|
|
0x02 | एनसीआई_एमटी_सीएमडी | NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD |
एनसीआई_एमटी_आरएसपी | NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP
|
|
0x03 | एनसीआई_एमटी_एनटीएफ़ | NCI_ANDROID_POLLING_FRAME_NTF
|
0x04 | एनसीआई_एमटी_सीएमडी | NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD |
एनसीआई_एमटी_आरएसपी | NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP |
सुविधाओं के लिए निर्देश पाएं
सूची को क्वेरी करने के लिए होस्ट NCI_ANDROID_GET_CAPS_CMD
का इस्तेमाल करता है
Android के मालिकाना हक की सुविधाएं इस्तेमाल करती हैं. कॉन्टेंट बनाने
NCI_ANDROID_GET_CAPS_CMD
निर्देश कोई पैरामीटर नहीं लेता है.
एनएफ़सीसी को स्टेटस के साथ NCI_ANDROID_GET_CAPS_RSP
रिस्पॉन्स के साथ जवाब देना चाहिए
STATUS_OK
के साथ काम करने वाली क्षमताओं और सुविधाओं की सूची.
अगर एनएफ़सीसी NCI_ANDROID_GET_CAPS_CMD
के साथ काम नहीं करता है, तो होस्ट को यह मानना होगा कि
कि क्षमताओं में से हर एक के लिए डिफ़ॉल्ट तय मान लिया जाता है. अगर आपने
एनएफ़सी की मदद से, रिस्पॉन्स के तौर पर एनएफ़सी की सुविधा का इस्तेमाल नहीं किया जा सकता, तो होस्ट को यह मानना होगा कि
क्षमता में डिफ़ॉल्ट तय मान है.
NCI_ANDROID_GET_CAPS_CMD
पेलोड फ़ील्ड | साइज़ | वैल्यू/ब्यौरा | |||||
---|---|---|---|---|---|---|---|
लागू नहीं | 0 ऑक्टेट |
NCI_ANDROID_GET_CAPS_RSP
पेलोड फ़ील्ड | साइज़ | वैल्यू/ब्यौरा | |||||
---|---|---|---|---|---|---|---|
स्थिति | 1 ऑक्टेट | NCI स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें. | |||||
Android_Version
|
2 ऑक्टेट | Android की उन ज़रूरी शर्तों के वर्शन की पहचान करता है जिन्हें एनएफ़सीसी की मदद से लागू किया जाता है. | |||||
0x0000 | Android 15 | ||||||
क्षमताओं की संख्या | 1 ऑक्टेट | इस्तेमाल की जा सकने वाली क्षमताओं की संख्या (n) | |||||
क्षमताएं[0..n] | (m + 2) * n ऑक्टेट | इस्तेमाल की जा सकने वाली सुविधाएं | |||||
टाइप | 1 ऑक्टेट | क्षमता का आइडेंटिफ़ायर | |||||
Len | 1 ऑक्टेट | वैल्यू की लंबाई (m) | |||||
वैल्यू | एम ऑक्टेट | सुविधा की वैल्यू |
Android के मालिकाना हक वाली क्षमताएं
सुविधा का नाम | आईडी | साइज़ | वैल्यू/ब्यौरा | |||||
---|---|---|---|---|---|---|---|---|
ऑब्ज़र्व मोड | 0x00 | 1 ऑक्टेट | ऑब्ज़र्व मोड के लिए सहायता.
0x00 (डिफ़ॉल्ट) - यह सुविधा काम नहीं करती. 0x01 - होस्ट से आरएफ़ डीऐक्टिवेट करने वाली सुविधा के साथ काम करता है (इसके लिए ज़रूरी है Android 15 या इसके बाद का वर्शन होना चाहिए. अन्य सभी वैल्यू, आरएफ़यू हैं. |
|||||
पोल फ़्रेम की सूचना | 0x01 | 1 ऑक्टेट | पोलिंग फ़्रेम की सूचनाओं से जुड़ी सहायता. अगर सुविधा काम करती है, तो 0x01 और अगर यह सुविधा काम नहीं करती है, तो 0x00 (डिफ़ॉल्ट) दिखाई जाएगी. अन्य सभी वैल्यू, आरएफ़यू हैं. | |||||
बैटरी सेव करने वाला मोड | 0x02 | 1 ऑक्टेट | बैटरी सेव करने वाला मोड काम करता है. अगर सुविधा काम करती है, तो 0x01 और अगर यह सुविधा काम नहीं करती है, तो 0x00 (डिफ़ॉल्ट) दिखाई जाएगी. अन्य सभी वैल्यू, आरएफ़यू हैं. | |||||
ऑटोट्रांसैक्ट पोलिंग लूप फ़िल्टर | 0x03 | 1 ऑक्टेट | निगरानी करने वाला मोड दुनिया भर में चालू होने पर, खास पैटर्न के लिए ऑब्ज़र्व मोड को बायपास करने के लिए, फ़र्मवेयर में पोलिंग लूप फ़िल्टर के साथ काम करता है.
0x00 (डिफ़ॉल्ट) - यह सुविधा काम नहीं करती है 0x01 - पोलिंग लूप फ़िल्टर के साथ काम करता है अन्य सभी वैल्यू, RFU हैं |
|||||
0x04..0xएफ़एफ़ | 0 ऑक्टेट | आने वाले समय में इस्तेमाल के लिए रिज़र्व किया गया |
बैटरी सेव करने का निर्देश
एनएफ़सीसी को पावर सेविंग मोड पर ले जाने के लिए, होस्ट इसका इस्तेमाल कर सकता है:
NCI_ANDROID_POWER_SAVING_CMD
निर्देश. एनएफ़सीसी को
स्टेटस कोड के साथ NCI_ANDROID_POWER_SAVING_RSP
सफलता या असफलता का पता लगाने के लिए.
पावर सेविंग मोड में होने पर, होस्ट को एनएफ़सी को कोई निर्देश नहीं भेजना चाहिए और एनएफ़सीसी को होस्ट को कोई सूचना या जवाब नहीं भेजना चाहिए. एनएफ़सीसी या एम्बेड किया गया सिक्योर एलिमेंट (ईएसई) पैसे चुकाने के अनुरोधों को अपने-आप स्वीकार कर सकता है यह सेटिंग, बैटरी सेव करने की सुविधा को चालू करने से पहले, रूटिंग कॉन्फ़िगरेशन सेट के मुताबिक होती है मोड.
फ़ुल पावर मोड पर वापस जाने के लिए, होस्ट एनएफ़सी को रीसेट कर सकता है या उसे फिर से शुरू कर सकता है.
NCI_ANDROID_POWER_SAVING_CMD
पेलोड फ़ील्ड | साइज़ | वैल्यू/ब्यौरा | |
---|---|---|---|
बैटरी सेव करने वाला मोड | 1 ऑक्टेट | 0x00 | बैटरी सेव करने वाला मोड बंद करें |
0x01 | बैटरी सेव करने वाला मोड चालू करें |
NCI_ANDROID_POWER_SAVING_RSP
पेलोड फ़ील्ड | साइज़ | वैल्यू/ब्यौरा | |||||
---|---|---|---|---|---|---|---|
स्थिति | 1 ऑक्टेट | NCI स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें, |
ऑब्ज़र्व मोड का निर्देश सेट करें
ऑब्ज़र्व मोड को चालू या बंद करने के लिए, होस्ट इसका इस्तेमाल कर सकता है:
NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD
निर्देश. एनएफ़सीसी को
NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP
के स्टेटस कोड का मतलब है कि आपका कैंपेन पूरा हुआ या नहीं या
अपलोड नहीं किया जा सका.
ऑब्ज़र्व मोड बंद होने पर, एनएफ़सीसी को ध्यान दें कि स्टैंडर्ड लिसनिंग मोड की मदद से, गतिविधि की तकनीकी जानकारी.
ऑब्ज़र्व मोड चालू होने पर, एनएफ़सीसी को किसी पोल का जवाब नहीं देना चाहिए
लिसनिंग मोड में पोलिंग लूप के दौरान, अनुरोध स्वीकार या अस्वीकार करने के लिए,
होस्ट. एनएफ़सीसी को RF_FIELD_INFO_NTF
सूचना भेजनी होगी (जैसा कि तय किया गया है
सेक्शन 5.3 है,
NCI की खास बातें)
जब यह फ़ील्ड ऐक्टिवेशन का पता लगाता है. अगर पोल मोड डिस्कवरी की सुविधा चालू है, तो एनएफ़सीसी
पोल मोड की गतिविधि को इस आधार पर लागू करना होगा:
गतिविधि की तकनीकी जानकारी.
एनएफ़सीसी, पोल की जानकारी को कैश मेमोरी में सेव कर सकती है, ताकि डिवाइस पर तुरंत आगे की कार्रवाई की जा सके
निगरानी मोड के बंद होते ही चालू हो जाएगा.
अगर किसी वजह से होस्ट शट डाउन हो जाता है, तो एनएफ़सीसी को ऑब्ज़र्व मोड बंद कर देना चाहिए (उदाहरण के लिए, बैटरी खत्म होने या उपयोगकर्ता ने शटडाउन की शुरुआत कर दी है) ताकि एसई लेन-देन हो सकते हैं.
NCI_ANDROID_PASSIVE_OBSERVE_Mode_CMD
पेलोड फ़ील्ड | साइज़ | वैल्यू/ब्यौरा | |
---|---|---|---|
ऑब्ज़र्व मोड | 1 ऑक्टेट | 0x00 | ऑब्ज़र्व मोड बंद करें (डिफ़ॉल्ट) |
0x01 | ऑब्ज़र्व मोड चालू करें |
NCI_ANDROID_PASSIVE_OBSERVE_ मोड_आरएसपी
पेलोड फ़ील्ड | साइज़ | वैल्यू/ब्यौरा | |||||
---|---|---|---|---|---|---|---|
स्थिति | 1 ऑक्टेट | NCI स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें. |
पोलिंग लूप की सूचना
एनएफ़सीसी को NCI_ANDROID_POLLING_FRAME_NTF
सूचना, होस्ट को भेजनी होगी
हर पोलिंग लूप फ़्रेम के बाद. जब RF_FIELD_INFO_NTF
और
NCI_ANDROID_POLLING_FRAME_NTF
सूचनाएं जनरेट की जाती हैं. एनएफ़सीसी को सूचना भेजनी होगी
RF_FIELD_INFO_NTF
के बाद NCI_ANDROID_POLLING_FRAME_NTF
.
NCI_ANDROID_POLLING_FRAME_NTF
सूचना इस बात से अलग है कि
ऑब्ज़र्व मोड चालू है या नहीं. ऑब्ज़र्व मोड के चालू होने पर,
एनएफ़सीसी को हमेशा से पहले NCI_ANDROID_POLLING_FRAME_NTF
सूचना भेजनी होगी
लेन-देन पूरा करें.
NCI_ANDROID_POLLING_FRAME_NTF
पेलोड फ़ील्ड | साइज़ | वैल्यू/ब्यौरा | |||||
---|---|---|---|---|---|---|---|
पोल का डेटा[0..n] | (m +3) * n ऑक्टेट | पिछले चुनाव के बाद से मिले मतदान अनुरोधों की सूची सूचना पर टैप करें. हर नतीजा, रिपोर्ट में मिले नतीजों के टाइप (टेक्नोलॉजी) की जानकारी देता है हम टेक्नोलॉजी के हिसाब से, उस अनुरोध से जुड़ा डेटा और उसकी पहचान कर सकते हैं जिसकी पहचान की जा सकती है. | |||||
टाइप | 1 ऑक्टेट | फ़्रेम के टाइप देखें. | |||||
झंडे | 1 ऑक्टेट | फ़्लैग बाइट देखें. | |||||
लंबाई | 1 ऑक्टेट | पोलिंग डेटा रिपोर्ट की लंबाई (मी॰) जिसमें टाइमस्टैंप और गेन फ़ील्ड शामिल हैं. | |||||
टाइमस्टैंप | 4 ऑक्टेट | पोलिंग अनुरोध मिलने के मिलीसेकंड में मेज़र किया गया टाइमस्टैंप, बिग एंडियन. | |||||
पाएं | 1 ऑक्टेट | मतदान के अनुरोध की मज़बूती.
0xFF से पता चलता है कि वैल्यू उपलब्ध नहीं है. |
|||||
डेटा | मी॰ - 5 ऑक्टेट | पोलिंग अनुरोध में मौजूद पहचान योग्य डेटा वापस लौटाता है |
फ़्रेम के टाइप
पोलिंग फ़्रेम | टाइप | साइज़ | वैल्यू/ब्यौरा | |
---|---|---|---|---|
रिमोट फ़ील्ड | 0x00 | 1 ऑक्टेट | 0x00 | फ़ील्ड बंद है |
0x01 | फ़ील्ड चालू है | |||
0x02..0xएफ़एफ़ | आरएफ़यू | |||
एनएफ़सी-ए | 0x01 | n ऑक्टेट | वैल्यू में ISO 14443-3 कमांड शामिल होना चाहिए. उदाहरण के लिए, REQ या WUP | |
एनएफ़सी-बी | 0x02 | n ऑक्टेट | वैल्यू में AIF बाइट और ISO 14443-3 कमांड शामिल होना चाहिए (उदाहरण के लिए, REQ या WUP) | |
एनएफ़सी-एफ़ | 0x03 | एन ऑक्टेट | वैल्यू में ISO 14443-3 कमांड शामिल होना चाहिए. उदाहरण के लिए, REQ या WUP | |
एनएफ़सी-वी | 0x04 | n ऑक्टेट | वैल्यू में ISO 14443-3 कमांड शामिल होना चाहिए. उदाहरण के लिए, REQ या WUP | |
कोई जानकारी नहीं है | 0x07 | n ऑक्टेट | रॉ फ़्रेम डेटा |
फ़्लैग बाइट की परिभाषा
झंडे | ||||||||
---|---|---|---|---|---|---|---|---|
बी0 | बी1 | बी2 | बी3 | बी4 | बी5 | बी6 | बी7 | |
0 | छोटा फ़्रेम | आरएफ़यू | आरएफ़यू | आरएफ़यू | आरएफ़यू | आरएफ़यू | आरएफ़यू | आरएफ़यू |
1 | लंबा फ़्रेम |
क्वेरी ऑब्ज़र्व मोड की स्थिति का निर्देश
पैसिव ऑर्डर मोड का मौजूदा स्टेटस वापस पाने के लिए, होस्ट इसका इस्तेमाल कर सकता है
NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD
निर्देश. एनएफ़सीसी को यह ज़रूरी है
स्टेटस के साथ NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP
का जवाब दें
सफल होने के बारे में बताने वाला कोड.
NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD
पेलोड फ़ील्ड | साइज़ | वैल्यू/ब्यौरा | |||||
---|---|---|---|---|---|---|---|
लागू नहीं | 0 ऑक्टेट |
NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP
पेलोड फ़ील्ड | साइज़ | वैल्यू/ब्यौरा | |
---|---|---|---|
स्थिति | 1 ऑक्टेट | NCI स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें, | |
ऑब्ज़र्व मोड | 1 ऑक्टेट | 0x00 | ऑब्ज़र्व मोड बंद किया गया |
0x01 | ऑब्ज़र्व मोड चालू किया गया |