Android के मालिकाना हक वाले NCI के निर्देश

एनएफ़सी कंट्रोलर इंटरफ़ेस (एनसीआई) का इस्तेमाल, एनएफ़सी कंट्रोलर (एनएफ़सी). इस पेज पर 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 ऑब्ज़र्व मोड चालू किया गया