Android 9-এ ওয়াই-ফাই রাউন্ড ট্রিপ টাইম (RTT) ফিচার কাজ করে এমন ডিভাইসকে অন্য কাজ করে এমন ডিভাইসের দূরত্ব মাপতে সাহায্য করে: সেগুলি অ্যাক্সেস পয়েন্ট (AP) বা ওয়াই-ফাই অ্যাওয়ার পিয়ার (ডিভাইসে ওয়াই-ফাই অ্যাওয়ার কাজ করলে) হতে পারে। IEEE 802.11mc এবং IEEE 802.11az প্রোটোকলের (Android 15 থেকে উপলভ্য) উপর ভিত্তি করে তৈরি এই ফিচার, অ্যাপগুলিকে উন্নত লোকেশন অ্যাকুরেসি এবং সচেতনতা ব্যবহার করতে সক্ষম করে।
উদাহরণ ও সোর্স
এই ফিচার ব্যবহার করতে, ভেন্ডর HAL ইন্টারফেস প্রয়োগ করুন। Android 14 ও তার পরবর্তী যেকোনও ভার্সনে, AIDL ব্যবহার করে ভেন্ডর HAL ইন্টারফেস সংজ্ঞায়িত করা হয়। Android 13 ও এর আগের যেকোনও ভার্সনে, HIDL ব্যবহার করে ভেন্ডর HAL ইন্টারফেস সংজ্ঞায়িত করা হয়। Android 8.0-এ, HIDL আগের হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার (HAL) স্ট্রাকচারকে প্রতিস্থাপন করেছে যা ইন্টারফেস এবং প্যাকেজে সংগৃহীত প্রকার এবং মেথড কল নির্দিষ্ট করে বাস্তবায়নকে স্ট্রিমলাইন করতে ব্যবহৃত হয়।
ওয়াই-ফাই RTT ফিচার ব্যবহার করতে ওয়াই-ফাই ইন্টারফেস ফলো করুন। কোন ইন্টারফেস প্রয়োগ করা হয়েছে তার উপর নির্ভর করে, এটি:
- AIDL:
hardware/interfaces/wifi/aidl - HIDL:
hardware/interfaces/wifi/1.0বা তার পরের যেকোনও ভার্সন।
AIDL ও HIDL ইন্টারফেসের সাথে এটি কীভাবে সম্পর্কিত তা দেখতে আপনি লিগ্যাসি ওয়াই-ফাই HAL দেখতে পারেন: hardware/libhardware_legacy/+/android17-release/include/hardware_legacy/rtt.h.
প্রয়োগ
Wi-Fi RTT প্রয়োগ করতে, আপনাকে অবশ্যই ফ্রেমওয়ার্ক ও HAL/ফার্মওয়্যার সাপোর্ট প্রদান করতে হবে:
ফ্রেমওয়ার্ক:
- AOSP কোড
- Wi-Fi RTT চালু করুন: ফিচার ফ্ল্যাগ প্রয়োজন
Wi-Fi RTT (IEEE 802.11mc বা IEEE 802.11az) HAL সাপোর্ট (যার অর্থ ফার্মওয়্যার সাপোর্ট)
এই ফিচার প্রয়োগ করতে, ওয়াই-ফাই AIDL বা HIDL ইন্টারফেস প্রয়োগ করুন এবং ফিচার ফ্ল্যাগ চালু করুন:
device/<oem>/<device>-এ অবস্থিতdevice.mk-এ, Wi-Fi RTT ফিচারের জন্য সহায়তা অন্তর্ভুক্ত করতে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 র্যান্ডমাইজেশন
গোপনীয়তা বাড়াতে, ওয়াই-ফাই RTT ট্রানজ্যাকশনের সময় ব্যবহৃত MAC অ্যাড্রেসকে র্যান্ডমাইজ করতে হবে, অর্থাৎ, এটি ওয়াই-ফাই ইন্টারফেসের বিল্ট-ইন MAC অ্যাড্রেসের সাথে ম্যাচ করলে চলবে না। তবে, ব্যতিক্রম হিসেবে, কোনও ডিভাইস AP-এর সাথে যুক্ত থাকলে, এটি সেই AP বা অন্য AP-এর সাথে যেকোনও RTT ট্রানজ্যাকশনের জন্য যে MAC অ্যাড্রেসের সাথে যুক্ত সেটি ব্যবহার করতে পারে।
যাচাইকরণ
এই ফিচারের জন্য Android কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) পরীক্ষা আছে। ফিচার চালু করা হলে CTS তা শনাক্ত করে এবং অটোমেটিক সংশ্লিষ্ট টেস্ট অন্তর্ভুক্ত করে। Vendor Test Suite (VTS) ব্যবহার করেও এই ফিচার পরীক্ষা করা যেতে পারে।
ইউনিট টেস্ট
এগুলি ব্যবহার করে ওয়াই-ফাই RTT প্যাকেজ পরীক্ষা করা হয়:
পরিষেবা টেস্ট:
atest com.android.server.wifi.rttম্যানেজার টেস্ট:
atest android.net.wifi.rttCTS
এই ফিচারের জন্য Android কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) টেস্ট উপলভ্য আছে। ফিচারটি চালু করা হলে CTS তা শনাক্ত করে এবং অটোমেটিক সংশ্লিষ্ট টেস্ট অন্তর্ভুক্ত করে। যে ডিভাইসটি পরীক্ষা করা হচ্ছে, তার রেঞ্জের মধ্যে ওয়াই-ফাই RTT (IEEE 802.11mc) কাজ করে এমন অ্যাক্সেস পয়েন্ট থাকতে হবে।
এগুলি ব্যবহার করে CTS টেস্ট ট্রিগার করা যেতে পারে:
atest WifiRttTestক্যালিব্রেশন
ওয়াই-ফাই RTT যাতে ভালভাবে কাজ করে, তার জন্য 802.11mc বা 802.11az প্রোটোকলে ফেরত আসা রেঞ্জ এই বিভাগে বর্ণিত মূল অবদান সূচকের (KPI) মধ্যে সঠিক হতে হবে।
11mc প্রোটোকলের জন্য, তালিকাভুক্ত ব্যান্ডউইথ (৮০ MHz, ৪০ MHz, ২০ MHz) এবং ৮-এর বার্স্ট সাইজে, রেঞ্জ এস্টিমেটের KPI-কে ভুলের ৯০তম পার্সেন্টাইলে নিম্নলিখিত নির্ভুলতা অর্জন করতে হবে।
- ৮০ MHz: ২ মিটার
- ৪০ MHz: ৪ মিটার
- ২০ MHz: ৮ মিটার
11az প্রোটোকলের জন্য, অ্যান্টেনা MIMO কনফিগারেশন এবং দীর্ঘ ট্রেনিং ফিল্ড (LTF) রিপিটেশন নির্ভুলতার উপর প্রভাব ফেলে। সাধারণ মোবাইল ফোন (২টি অ্যান্টেনা ব্যবহার করে) ও অ্যাক্সেস পয়েন্ট (৪টি অ্যান্টেনা) সহ সিস্টেমে ২x৪ MIMO কনফিগারেশন থাকে। এই ধরনের কনফিগারেশনের জন্য, LTF রিপিটেশন ফ্যাক্টর দুই এবং তালিকাভুক্ত ব্যান্ডউইথ (১৬০ MHz, ৮০ MHz, ৪০ MHz, ২০ MHz) ব্যবহার করে, রেঞ্জ এস্টিমেটের KPI-কে নিম্নলিখিত সঠিকতা অর্জন করতে হবে, যেখানে ৯০তম পার্সেন্টাইল হল ত্রুটির পার্সেন্টাইল।
- ১৬০ MHz: ০.৫ মিটার
- ৮০ MHz: ১ মিটার
- ৪০ MHz: ২ মিটার
- ২০ MHz: ৪ মিটার
ফিচারটি সঠিকভাবে কাজ করছে কিনা তা যাচাই করতে, ক্যালিব্রেশন টেস্টিং করা প্রয়োজন।
এটি ক্রমবর্ধমান দূরত্বে RTT আনুমানিক রেঞ্জের সাথে গ্রাউন্ড ট্রুথ রেঞ্জ তুলনা করে অর্জন করা যেতে পারে। সাধারণ কনফর্ম্যান্সের জন্য, আমরা সাজেস্ট করি যে আপনি RTT ক্যালিব্রেট করা হয়েছে বলে পরিচিত ডিভাইসের সাথে আপনার সলিউশন যাচাই করুন। আমরা নিম্নলিখিত পরিস্থিতিতে রেঞ্জ ক্যালিব্রেশন পরীক্ষা করার সাজেশন দিই:
- খোলা জায়গা জুড়ে থাকা বড় ল্যাবরেটরি বা করিডোর যেখানে অনেক ধাতব বস্তু নেই, যার ফলে মাল্টি-পাথ সংক্রান্ত সমস্যা অস্বাভাবিকভাবে বেশি হতে পারে।
- কমপক্ষে ২৫ মিটার পর্যন্ত বিস্তৃত লাইন-অফ-সাইট (LOS) ট্র্যাক বা পথ।
- ট্র্যাকের এক প্রান্ত থেকে অন্য প্রান্ত পর্যন্ত ০.৫ মিটার করে বৃদ্ধি পাওয়া মার্কার।
ট্র্যাকের এক প্রান্তে RTT কাজ করে এমন অ্যাক্সেস পয়েন্ট সুরক্ষিত করার জায়গা যা মেঝে থেকে ২০ সেমি উপরে মাউন্ট করা থাকে এবং Android ফোনের জন্য একটি মুভেবল মাউন্ট (অথবা পরীক্ষা করা হচ্ছে এমন অন্য Android মোবাইল ডিভাইস) যা ট্র্যাক বরাবর সরানো যায় এবং মেঝে থেকে ২০ সেমি উপরে থাকা ০.৫ মি মার্কারের সাথে অ্যালাইন করা যায়।
আমরা সাজেস্ট করি যে প্রতিটি মার্কারের জন্য ৫০টি রেঞ্জিং ফলাফল রেকর্ড করুন, সাথে অ্যাক্সেস পয়েন্ট থেকে দূরত্বও রেকর্ড করুন। প্রতিটি মার্কার পজিশনের জন্য রেঞ্জ মিন ও ভ্যারিয়েন্সের মতো পরিসংখ্যান গণনা করতে হবে।
ধাপ ৫-এর ফলাফল থেকে, গ্রাউন্ড ট্রুথ (x-অক্ষ) বনাম আনুমানিক রেঞ্জ (y-অক্ষ) এবং আনুমানিক বেস্ট ফিট রিগ্রেশন লাইনের জন্য একটি চার্ট আঁকা যেতে পারে। আদর্শ ডিভাইস ক্যালিব্রেশনের ফলে ১.০ গ্রেডিয়েন্টের একটি লাইন তৈরি হবে, যার y-অক্ষে অফসেট হবে ০.০মি। এইসব ভ্যালু থেকে ডেভিয়েশন গ্রহণযোগ্য, যদি সেগুলি সংশ্লিষ্ট ব্যান্ডউইথের KPI-এর মধ্যে থাকে। ফলাফল KPI-এর বাইরে হলে, আমরা সাজেস্ট করি যে আপনি ডিভাইসের ফিচার রিক্যালিব্রেট করুন যাতে ফলাফল KPI-এর স্পেসিফিকেশনের মধ্যে থাকে।