वाई-फ़ाई आरटीटी (आईईईई 802.11mc)

Android 9 में, वाई-फ़ाई राउंड ट्रिप टाइम (आरटीटी) सुविधा की मदद से, Android 9 पर काम करने वाले डिवाइस, अन्य डिवाइसों से दूरी मापते हैं. जैसे, ऐक्सेस पॉइंट (एपी) या वाई-फ़ाई अवेयर पीयर (अगर डिवाइस पर वाई-फ़ाई अवेयर काम करता है). आईईईई 802.11mc प्रोटोकॉल पर बनाई गई इस सुविधा की मदद से, ऐप्लिकेशन जगह की ज़्यादा सटीक जानकारी का इस्तेमाल कर पाते हैं और जागरूकता बढ़ा पाते हैं.

उदाहरण और सोर्स

इस सुविधा का इस्तेमाल करने के लिए, वेंडर HAL इंटरफ़ेस लागू करें. Android 14 और उसके बाद के वर्शन में, वेंडर एचएएल इंटरफ़ेस को एआईडीएल का इस्तेमाल करके तय किया जाता है. Android 13 और उससे पहले के वर्शन में, वेंडर HAL इंटरफ़ेस को HIDL का इस्तेमाल करके तय किया जाता है. Android 8.0 में, HIDL ने इंटरफ़ेस और पैकेज में इकट्ठा किए गए टाइप और तरीके कॉल तय करके, लागू करने को स्ट्रीमलाइन करने के लिए इस्तेमाल की जाने वाली पिछली हार्डवेयर ऐब्स्ट्रैक्शन लेयर (HAL) स्ट्रक्चर की जगह ले ली है.

वाई-फ़ाई आरटीटी सुविधा का इस्तेमाल करने के लिए, वाई-फ़ाई इंटरफ़ेस को फ़ॉलो करें. कौनसा इंटरफ़ेस लागू किया गया है, इसके आधार पर यह:

  • एआईडीएल: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.0 या उसके बाद का.

लेगसी वाई-फ़ाई एचएएल को देखें और जानें कि यह AIDL और HIDL इंटरफ़ेस से कैसे जुड़ा है: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h.

लागू करने का तरीका

वाई-फ़ाई आरटीटी की सुविधा लागू करने के लिए, आपको फ़्रेमवर्क और एचएएल/फ़र्मवेयर, दोनों की सुविधा देनी होगी:

  • फ़्रेमवर्क:

    • एओएसपी कोड
    • वाई-फ़ाई आरटीटी चालू करें: इसके लिए फ़ीचर फ़्लैग ज़रूरी है
  • वाई-फ़ाई आरटीटी (IEEE 802.11mc) एचएएल सपोर्ट (जिसमें फ़र्मवेयर की सुविधा शामिल है)

इस सुविधा को लागू करने के लिए, वाई-फ़ाई एआईडीएल या HIDL इंटरफ़ेस लागू करें, और फ़ीचर फ़्लैग चालू करें:

  • device/<oem>/<device> में मौजूद device.mk में, वाई-फ़ाई आरटीटी सुविधा के साथ काम करने के लिए, PRODUCT_COPY_FILES एनवायरमेंट वैरिएबल में बदलाव करें:

    PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml
    

अगर ऐसा नहीं होता है, तो इस सुविधा के लिए ज़रूरी सभी चीज़ें AOSP में शामिल हो जाती हैं.

एमएसी रैंडमाइज़ेशन

निजता को बेहतर बनाने के लिए, वाई-फ़ाई आरटीटी लेन-देन के दौरान इस्तेमाल किया जाने वाला MAC पता, किसी भी क्रम में लगाया जाना चाहिए. इसका मतलब है कि यह पता, वाई-फ़ाई इंटरफ़ेस के नेटिव MAC पते से मेल नहीं खाना चाहिए. हालांकि, एक अपवाद के तौर पर, जब कोई डिवाइस किसी एपी से जुड़ा होता है, तो वह उस MAC पते का इस्तेमाल कर सकता है जिसके साथ वह उस एपी या दूसरे एपी के साथ किसी भी आरटीटी लेन-देन के लिए जुड़ा है.

पुष्टि करें

इस सुविधा के लिए, Android कंपैटबिलिटी टेस्ट सुइट (सीटीएस) की जांच मौजूद है. सीटीएस यह पता लगाता है कि सुविधा कब चालू है और उससे जुड़े टेस्ट अपने-आप शामिल कर लिए जाते हैं. विक्रेता टेस्ट सुइट (वीटीएस) का इस्तेमाल करके भी इस सुविधा की जांच की जा सकती है.

यूनिट टेस्ट

वाई-फ़ाई आरटीटी पैकेज की जांच, इसका इस्तेमाल करके की जाती हैं:

सर्विस टेस्ट:

atest com.android.server.wifi.rtt

मैनेजर टेस्ट:

atest android.net.wifi.rtt

सीटीएस

इस सुविधा के लिए, Android कंपैटबिलिटी टेस्ट सुइट (सीटीएस) की जांच मौजूद है. सीटीएस यह पता लगाता है कि सुविधा कब चालू है और उससे जुड़े टेस्ट अपने-आप शामिल कर लिए जाते हैं. वाई-फ़ाई आरटीटी (IEEE 802.11mc) के साथ काम करने वाला ऐक्सेस पॉइंट, डिवाइस की जांच के दायरे में होना चाहिए.

सीटीएस टेस्ट को ट्रिगर करने के लिए इनका इस्तेमाल किया जा सकता है:

atest WifiRttTest

कैलिब्रेशन

वाई-फ़ाई आरटीटी की परफ़ॉर्मेंस अच्छी हो, इसके लिए 802.11mc प्रोटोकॉल में दिखाई गई रेंज, की परफ़ॉर्मेंस इंडिकेटर (केपीआई) में एकदम सटीक होती हैं. 90% CDF की गड़बड़ी होने पर, सूची में दिए गए बैंडविथ के हिसाब से, अनुमानित केपीआई के तहत कुछ इस तरह का अनुमान लगाया जा सकता है:

  • 80 मेगाहर्ट्ज़: 2 मीटर
  • 40 मेगाहर्ट्ज़: 4 मीटर
  • 20 मेगाहर्ट्ज़: 8 मीटर

यह पक्का करने के लिए कि सुविधा सही तरीके से काम कर रही है, कैलिब्रेशन टेस्ट करना ज़रूरी है.

इसके लिए, ज़मीनी हकीकत की तुलना, आरटीटी की अनुमानित रेंज से करके की जा सकती है. बुनियादी शर्तों के पालन के लिए, आपको ऐसे डिवाइस से अपने समाधान की पुष्टि करनी चाहिए जिसे आरटीटी के लिए कैलिब्रेट किया जाता है. रेंज कैलिब्रेशन की जांच इन स्थितियों में की जानी चाहिए:

  1. एक बड़ी खुली प्रयोगशाला या ऐसा गलियारा जिसमें धातु की बहुत ज़्यादा चीज़ें न हों. इसकी वजह से मल्टी-पाथ की वजह से असामान्य रूप से बहुत ज़्यादा घटनाएं हो सकती हैं.
  2. कम से कम 25 मी॰ तक फैला लाइन-ऑफ़-साइट (LOS) ट्रैक या रास्ता होना चाहिए.
  3. ट्रैक के एक सिरे से दूसरे सिरे तक 0.5 मीटर के चिह्नक.
  4. फ़र्श से 20 सें॰मी॰ ऊपर ट्रैक के एक सिरे पर आरटीटी की सुविधा वाले ऐक्सेस पॉइंट को सुरक्षित करने की जगह. साथ ही, Android फ़ोन (या जांच में चल रहे दूसरे Android मोबाइल डिवाइस) के लिए मूव करने लायक माउंट बनाया जा सकता है. इस माउंट को ट्रैक के साथ-साथ, 0.5 मीटर मार्कर की मदद से, फ़्लोर से 20 सें॰मी॰ ऊपर रखा जा सकता है.

  5. ऐक्सेस पॉइंट से दूरी के साथ-साथ, हर मार्कर पर 50 रेंज के नतीजे रिकॉर्ड किए जाने चाहिए. रेंज के माध्य और वैरिएंस जैसे आंकड़ों की गिनती, हर मार्कर पोज़िशन के लिए की जानी चाहिए.

पांचवें चरण के नतीजों से, अनुमानित रेंज (y-ऐक्सिस) और सबसे सही फ़िट रिग्रेशन लाइन के हिसाब से, ज़मीनी सच्चाई (x-ऐक्सिस) पर एक चार्ट बनाया जा सकता है. सही डिवाइस कैलिब्रेशन का नतीजा, y-ऐक्सिस पर ग्रेडिएंट 1.0 की लाइन और ऑफ़सेट 0.0 मीटर होगा. अगर ये वैल्यू, इनसे जुड़े बैंडविड्थ के केपीआई के अंदर हैं, तो इनका इस्तेमाल किया जा सकता है. अगर नतीजे केपीआई के बाहर हैं, तो आपको डिवाइस की सुविधा को फिर से कैलिब्रेट करना होगा, ताकि नतीजों को केपीआई की खास जानकारी के तहत लाया जा सके.