আপনি কাছাকাছি RTT-সক্ষম Wi-Fi অ্যাক্সেস পয়েন্ট এবং পিয়ার Wi-Fi Aware ডিভাইসগুলির দূরত্ব পরিমাপ করতে Wi-Fi RTT (রাউন্ড-ট্রিপ-টাইম) API দ্বারা প্রদত্ত Wi-Fi অবস্থান কার্যকারিতা ব্যবহার করতে পারেন।
যদি আপনি তিন বা ততোধিক অ্যাক্সেস পয়েন্টের দূরত্ব পরিমাপ করেন, তাহলে আপনি একটি বহু-স্তরের অ্যালগরিদম ব্যবহার করে ডিভাইসের অবস্থান অনুমান করতে পারেন যা সেই পরিমাপগুলির সাথে সবচেয়ে উপযুক্ত। ফলাফল সাধারণত 1-2 মিটারের মধ্যে সঠিক হয়।
এই নির্ভুলতার সাহায্যে, আপনি সূক্ষ্ম অবস্থান-ভিত্তিক পরিষেবাগুলি বিকাশ করতে পারেন, যেমন অভ্যন্তরীণ নেভিগেশন, দ্ব্যর্থহীন ভয়েস নিয়ন্ত্রণ (উদাহরণস্বরূপ, "এই আলোটি চালু করুন"), এবং অবস্থান-ভিত্তিক তথ্য (উদাহরণস্বরূপ, "এই পণ্যের জন্য কি বিশেষ অফার আছে?")।
Wi-Fi RTT দিয়ে দূরত্ব পরিমাপ করার জন্য অনুরোধকারী ডিভাইসটিকে অ্যাক্সেস পয়েন্টের সাথে সংযোগ করার প্রয়োজন নেই। গোপনীয়তা বজায় রাখার জন্য, শুধুমাত্র অনুরোধকারী ডিভাইসই অ্যাক্সেস পয়েন্টের দূরত্ব নির্ধারণ করতে সক্ষম; অ্যাক্সেস পয়েন্টগুলিতে এই তথ্য থাকে না। ফোরগ্রাউন্ড অ্যাপের জন্য Wi-Fi RTT অপারেশন সীমাহীন কিন্তু ব্যাকগ্রাউন্ড অ্যাপের জন্য থ্রোটল করা হয়।
ওয়াই-ফাই আরটিটি এবং সম্পর্কিত ফাইন-টাইম-মেজারমেন্ট (এফটিএম) ক্ষমতাগুলি আইইইই 802.11-2016 স্ট্যান্ডার্ড দ্বারা নির্দিষ্ট করা হয়েছে। ওয়াই-ফাই আরটিটির জন্য এফটিএম দ্বারা প্রদত্ত সুনির্দিষ্ট সময় পরিমাপ প্রয়োজন কারণ এটি দুটি ডিভাইসের মধ্যে দূরত্ব গণনা করে একটি প্যাকেট ডিভাইসগুলির মধ্যে একটি রাউন্ড ট্রিপ করতে যে সময় নেয় তা পরিমাপ করে এবং সেই সময়কে আলোর গতি দিয়ে গুণ করে।
অ্যান্ড্রয়েড ১৫ (এপিআই লেভেল ৩৫) IEEE 802.11az নন-ট্রিগার ভিত্তিক (NTB) রেঞ্জিংয়ের জন্য সমর্থন চালু করেছে।
অ্যান্ড্রয়েড সংস্করণের উপর ভিত্তি করে বাস্তবায়নের পার্থক্য
অ্যান্ড্রয়েড ৯ (এপিআই লেভেল ২৮) তে ওয়াই-ফাই আরটিটি চালু করা হয়েছিল। অ্যান্ড্রয়েড ৯ চালিত ডিভাইসগুলির সাথে মাল্টিল্যাটেরেশন ব্যবহার করে কোনও ডিভাইসের অবস্থান নির্ধারণের জন্য এই প্রোটোকল ব্যবহার করার সময়, আপনার অ্যাপে পূর্বনির্ধারিত অ্যাক্সেস পয়েন্ট (এপি) অবস্থানের ডেটাতে অ্যাক্সেস থাকা প্রয়োজন। এই ডেটা কীভাবে সংরক্ষণ এবং পুনরুদ্ধার করবেন তা সিদ্ধান্ত নেওয়ার দায়িত্ব আপনার।
অ্যান্ড্রয়েড ১০ (এপিআই লেভেল ২৯) এবং তার উচ্চতর ভার্সন চালিত ডিভাইসগুলিতে, এপি লোকেশন ডেটা ResponderLocation অবজেক্ট হিসাবে উপস্থাপন করা যেতে পারে, যার মধ্যে অক্ষাংশ, দ্রাঘিমাংশ এবং উচ্চতা অন্তর্ভুক্ত। অবস্থান কনফিগারেশন তথ্য/লোকেশন সিভিক রিপোর্ট (এলসিআই/এলসিআর ডেটা) সমর্থন করে এমন ওয়াই-ফাই আরটিটি এপিগুলির জন্য, প্রোটোকল রেঞ্জিং প্রক্রিয়া চলাকালীন একটি ResponderLocation অবজেক্ট ফেরত দেবে।
এই বৈশিষ্ট্যটি অ্যাপগুলিকে এপিদের সরাসরি তাদের অবস্থান জিজ্ঞাসা করার জন্য জিজ্ঞাসা করার অনুমতি দেয়, আগে থেকে এই তথ্য সংরক্ষণ করার প্রয়োজন হয় না। সুতরাং, আপনার অ্যাপ এপিদের খুঁজে পেতে এবং তাদের অবস্থান নির্ধারণ করতে পারে, এমনকি যদি এপিগুলি আগে পরিচিত না থাকে, যেমন যখন কোনও ব্যবহারকারী একটি নতুন ভবনে প্রবেশ করে।
IEEE 802.11az NTB রেঞ্জিং সাপোর্ট অ্যান্ড্রয়েড 15 (API লেভেল 35) এবং তার উপরে চলমান ডিভাইসগুলিতে পাওয়া যায়। এর মানে হল যে যদি ডিভাইসটি IEEE 802.11az NTB ইনিশিয়েটর মোড ( WifiRttManager.CHARACTERISTICS_KEY_BOOLEAN_NTB_INITIATOR দ্বারা নির্দেশিত) সমর্থন করে, তাহলে আপনার অ্যাপটি একক রেঞ্জ অনুরোধ সহ IEEE 802.11mc এবং IEEE 802.11az সক্ষম AP উভয়ই খুঁজে পেতে পারে। RangingResult APIটি রেঞ্জিং পরিমাপের মধ্যে ব্যবধানের জন্য ব্যবহার করা যেতে পারে এমন সর্বনিম্ন এবং সর্বোচ্চ মান সম্পর্কে তথ্য প্রদানের জন্য প্রসারিত করা হয়েছে, সঠিক ব্যবধানটি আপনার অ্যাপের নিয়ন্ত্রণে রেখে।
আবশ্যকতা
- রেঞ্জিং রিকোয়েস্ট করা ডিভাইসের হার্ডওয়্যারকে অবশ্যই 802.11-2016 FTM স্ট্যান্ডার্ড অথবা 802.11az স্ট্যান্ডার্ড (নন-ট্রিগার ভিত্তিক রেঞ্জিং) বাস্তবায়ন করতে হবে।
- রেঞ্জিং রিকোয়েস্ট করা ডিভাইসটি অবশ্যই অ্যান্ড্রয়েড ৯ (এপিআই লেভেল ২৮) বা তার পরবর্তী ভার্সনে চলবে। অ্যান্ড্রয়েড ১৫ (এপিআই লেভেল ৩৫) এবং তার পরবর্তী ভার্সনে চলবে এমন ডিভাইসগুলিতে IEEE 802.11az নন-ট্রিগার ভিত্তিক রেঞ্জিং সক্ষম করা আছে।
- রেঞ্জিং রিকোয়েস্ট করা ডিভাইসটিতে অবস্থান পরিষেবা সক্ষম থাকতে হবে এবং Wi-Fi স্ক্যানিং চালু থাকতে হবে ( সেটিংস > অবস্থান এর অধীনে)।
- যদি রেঞ্জিং রিকোয়েস্ট করা অ্যাপটি অ্যান্ড্রয়েড ১৩ (এপিআই লেভেল ৩৩) বা তার উচ্চতর ভার্সনকে টার্গেট করে, তাহলে তার
NEARBY_WIFI_DEVICESঅনুমতি থাকতে হবে। যদি এই ধরনের অ্যাপটি অ্যান্ড্রয়েডের পূর্ববর্তী ভার্সনকে টার্গেট করে, তাহলে তারACCESS_FINE_LOCATIONঅনুমতি থাকতে হবে। - অ্যাপটি দৃশ্যমান থাকাকালীন অথবা ফোরগ্রাউন্ড পরিষেবাতে থাকাকালীন অ্যাপটিকে অবশ্যই অ্যাক্সেস পয়েন্টের পরিসর সম্পর্কে জিজ্ঞাসা করতে হবে। অ্যাপটি ব্যাকগ্রাউন্ড থেকে অবস্থানের তথ্য অ্যাক্সেস করতে পারে না।
- অ্যাক্সেস পয়েন্টটিকে অবশ্যই IEEE 802.11-2016 FTM স্ট্যান্ডার্ড বা IEEE 802.11az স্ট্যান্ডার্ড (নন-ট্রিগার ভিত্তিক রেঞ্জিং) বাস্তবায়ন করতে হবে।
সেটআপ
আপনার অ্যাপটি Wi-Fi RTT ব্যবহারের জন্য সেট আপ করতে, নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করুন।
1. অনুমতির অনুরোধ করুন
আপনার অ্যাপের ম্যানিফেস্টে নিম্নলিখিত অনুমতিগুলির জন্য অনুরোধ করুন:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!-- If your app targets Android 13 (API level 33)
or higher, you must declare the NEARBY_WIFI_DEVICES permission. -->
<uses-permission android:name="android.permission.NEARBY_WIFI_DEVICES"
<!-- If your app derives location information from Wi-Fi APIs,
don't include the "usesPermissionFlags" attribute. -->
android:usesPermissionFlags="neverForLocation" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
<!-- If any feature in your app relies on precise location
information, don't include the "maxSdkVersion"
attribute. -->
android:maxSdkVersion="32" />
NEARBY_WIFI_DEVICES এবং ACCESS_FINE_LOCATION অনুমতিগুলি বিপজ্জনক অনুমতি, তাই ব্যবহারকারী যখনই RTT স্ক্যান অপারেশন করতে চান তখন আপনাকে রানটাইমে তাদের অনুরোধ করতে হবে। যদি অনুমতি ইতিমধ্যেই মঞ্জুর না করা হয়ে থাকে তবে আপনার অ্যাপটিকে ব্যবহারকারীর অনুমতির জন্য অনুরোধ করতে হবে। রানটাইম অনুমতি সম্পর্কে আরও তথ্যের জন্য, "অ্যাপ অনুমতির অনুরোধ করুন" দেখুন।
2. ডিভাইসটি Wi-Fi RTT সমর্থন করে কিনা তা পরীক্ষা করুন।
ডিভাইসটি Wi-Fi RTT সমর্থন করে কিনা তা পরীক্ষা করতে, PackageManager API ব্যবহার করুন:
কোটলিন
context.packageManager.hasSystemFeature(PackageManager.FEATURE_WIFI_RTT)
জাভা
context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WIFI_RTT);
৩. Wi-Fi RTT উপলব্ধ কিনা তা পরীক্ষা করুন।
ডিভাইসে Wi-Fi RTT থাকতে পারে, কিন্তু ব্যবহারকারী Wi-Fi বন্ধ করে দেওয়ার কারণে এটি উপলব্ধ নাও হতে পারে। তাদের হার্ডওয়্যার এবং ফার্মওয়্যার ক্ষমতার উপর নির্ভর করে, SoftAP বা টিথারিং ব্যবহার করা হলে কিছু ডিভাইস Wi-Fi RTT সমর্থন নাও করতে পারে। Wi-Fi RTT উপলব্ধ কিনা তা পরীক্ষা করতে, isAvailable() কল করুন।
Wi-Fi RTT-এর প্রাপ্যতা যেকোনো সময় পরিবর্তন হতে পারে। ACTION_WIFI_RTT_STATE_CHANGED পাওয়ার জন্য আপনার অ্যাপের একটি BroadcastReceiver নিবন্ধন করা উচিত, যা প্রাপ্যতা পরিবর্তনের সময় পাঠানো হয়। যখন আপনার অ্যাপ ব্রডকাস্ট ইনটেন্ট গ্রহণ করে, তখন অ্যাপটির বর্তমান প্রাপ্যতার অবস্থা পরীক্ষা করা উচিত এবং সেই অনুযায়ী তার আচরণ সামঞ্জস্য করা উচিত।
উদাহরণস্বরূপ:
কোটলিন
val filter = IntentFilter(WifiRttManager.ACTION_WIFI_RTT_STATE_CHANGED) val myReceiver = object: BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { if (wifiRttManager.isAvailable) { … } else { … } } } context.registerReceiver(myReceiver, filter)
জাভা
IntentFilter filter = new IntentFilter(WifiRttManager.ACTION_WIFI_RTT_STATE_CHANGED); BroadcastReceiver myReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (wifiRttManager.isAvailable()) { … } else { … } } }; context.registerReceiver(myReceiver, filter);
আরও তথ্যের জন্য, সম্প্রচার দেখুন।
একটি বিস্তৃত অনুরোধ তৈরি করুন
একটি রেঞ্জিং রিকোয়েস্ট ( RangingRequest ) তৈরি করা হয় AP বা Wi-Fi Aware পিয়ারদের একটি তালিকা নির্দিষ্ট করে যার কাছে একটি রেঞ্জ অনুরোধ করা হয়। একাধিক অ্যাক্সেস পয়েন্ট বা Wi-Fi Aware পিয়ার একটি একক রেঞ্জিং রিকোয়েস্টে নির্দিষ্ট করা যেতে পারে; সমস্ত ডিভাইসের দূরত্ব পরিমাপ করা হয় এবং ফেরত দেওয়া হয়।
উদাহরণস্বরূপ, একটি অনুরোধ addAccessPoint() পদ্ধতি ব্যবহার করে দূরত্ব পরিমাপ করার জন্য একটি অ্যাক্সেস পয়েন্ট নির্দিষ্ট করতে পারে:
কোটলিন
val req: RangingRequest = RangingRequest.Builder().run { addAccessPoint(ap1ScanResult) addAccessPoint(ap2ScanResult) build() }
জাভা
RangingRequest.Builder builder = new RangingRequest.Builder(); builder.addAccessPoint(ap1ScanResult); builder.addAccessPoint(ap2ScanResult); RangingRequest req = builder.build();
একটি অ্যাক্সেস পয়েন্ট তার ScanResult অবজেক্ট দ্বারা চিহ্নিত করা হয়, যা WifiManager.getScanResults() কল করে পাওয়া যেতে পারে। আপনি একটি ব্যাচে একাধিক অ্যাক্সেস পয়েন্ট যোগ করতে addAccessPoints(List<ScanResult>) ব্যবহার করতে পারেন।
ScanResult অবজেক্টে IEEE 802.11mc ( is80211mcResponder() ) এবং IEEE 802.11az নন-ট্রিগার ভিত্তিক রেঞ্জিং ( is80211azNtbResponder() ) উভয়ই থাকতে পারে। IEEE 802.11az NTB রেঞ্জিং সমর্থনকারী ডিভাইসগুলি AP এর ক্ষমতার উপর নির্ভর করে 802.11mc অথবা 802.11az রেঞ্জিং সম্পাদন করে, যখন AP উভয়ই সমর্থন করে তখন ডিফল্টভাবে 802.11az থাকে। IEEE 802.11az সমর্থন করে না এমন ডিভাইসগুলি IEEE 802.11mc প্রোটোকল ব্যবহার করে সমস্ত রেঞ্জিং সম্পাদন করে।
একইভাবে, একটি রেঞ্জিং রিকোয়েস্ট তার MAC ঠিকানা অথবা PeerHandle ব্যবহার করে যথাক্রমে addWifiAwarePeer(MacAddress peer) এবং addWifiAwarePeer(PeerHandle peer) পদ্ধতি ব্যবহার করে একটি Wi-Fi Aware পিয়ার যুক্ত করতে পারে। Wi-Fi Aware পিয়ার আবিষ্কার সম্পর্কে আরও তথ্যের জন্য, Wi-Fi Aware ডকুমেন্টেশন দেখুন।
অনুরোধ পরিসীমা
একটি অ্যাপ WifiRttManager.startRanging() পদ্ধতি ব্যবহার করে একটি রেঞ্জিং রিকোয়েস্ট ইস্যু করে এবং নিম্নলিখিতগুলি প্রদান করে: অপারেশনটি নির্দিষ্ট করার জন্য একটি RangingRequest , কলব্যাক প্রসঙ্গ নির্দিষ্ট করার জন্য একটি Executor এবং ফলাফল পাওয়ার জন্য একটি RangingResultCallback ।
উদাহরণস্বরূপ:
কোটলিন
val mgr = context.getSystemService(Context.WIFI_RTT_RANGING_SERVICE) as WifiRttManager val request: RangingRequest = myRequest mgr.startRanging(request, executor, object : RangingResultCallback() { override fun onRangingResults(results: List<RangingResult>) { … } override fun onRangingFailure(code: Int) { … } })
জাভা
WifiRttManager mgr = (WifiRttManager) Context.getSystemService(Context.WIFI_RTT_RANGING_SERVICE); RangingRequest request ...; mgr.startRanging(request, executor, new RangingResultCallback() { @Override public void onRangingFailure(int code) { … } @Override public void onRangingResults(List<RangingResult> results) { … } });
রেঞ্জিং অপারেশনটি অ্যাসিঙ্ক্রোনাসভাবে সম্পাদিত হয় এবং রেঞ্জিং ফলাফলগুলি RangingResultCallback এর কলব্যাকগুলির একটিতে ফেরত পাঠানো হয়:
- যদি পুরো রেঞ্জিং অপারেশনটি ব্যর্থ হয়, তাহলে
RangingResultCallbackএ বর্ণিত একটি স্ট্যাটাস কোড ব্যবহার করেonRangingFailureকলব্যাক ট্রিগার করা হয়। যদি পরিষেবাটি সেই সময়ে একটি রেঞ্জিং অপারেশন সম্পাদন করতে না পারে তবে এই ধরনের ব্যর্থতা ঘটতে পারে - উদাহরণস্বরূপ, কারণ Wi-Fi অক্ষম করা হয়েছে, কারণ অ্যাপ্লিকেশনটি অনেকগুলি রেঞ্জিং অপারেশনের অনুরোধ করেছে এবং থ্রোটল করা হয়েছে, অথবা অনুমতি সংক্রান্ত সমস্যার কারণে। - যখন রেঞ্জিং অপারেশন সম্পন্ন হয়, তখন
onRangingResultsকলব্যাকটি অনুরোধের তালিকার সাথে মেলে এমন ফলাফলের একটি তালিকা দিয়ে ট্রিগার করা হয় - প্রতিটি অনুরোধের জন্য একটি ফলাফল। ফলাফলের ক্রম অগত্যা অনুরোধের ক্রম অনুসারে মেলে না। মনে রাখবেন যে রেঞ্জিং অপারেশন সম্পূর্ণ হতে পারে তবে প্রতিটি ফলাফল এখনও সেই নির্দিষ্ট পরিমাপের ব্যর্থতা নির্দেশ করতে পারে।
বিস্তৃত ফলাফল ব্যাখ্যা করুন
onRangingResults কলব্যাক দ্বারা প্রদত্ত প্রতিটি ফলাফল একটি RangingResult অবজেক্ট দ্বারা নির্দিষ্ট করা হয়। প্রতিটি অনুরোধে, নিম্নলিখিতগুলি করুন।
১. অনুরোধটি শনাক্ত করুন
RangingRequest তৈরি করার সময় প্রদত্ত তথ্যের উপর ভিত্তি করে অনুরোধটি সনাক্ত করুন: প্রায়শই ScanResult এ প্রদত্ত একটি MAC ঠিকানা যা একটি অ্যাক্সেস পয়েন্ট সনাক্ত করে। getMacAddress() পদ্ধতি ব্যবহার করে রেঞ্জিং ফলাফল থেকে MAC ঠিকানাটি পাওয়া যেতে পারে।
রেঞ্জিং ফলাফলের তালিকা রেঞ্জিং অনুরোধে উল্লেখিত পিয়ার (অ্যাক্সেস পয়েন্ট) থেকে ভিন্ন ক্রমে থাকতে পারে, তাই আপনার পিয়ার সনাক্ত করার জন্য MAC ঠিকানা ব্যবহার করা উচিত, ফলাফলের ক্রম নয়।
2. প্রতিটি পরিমাপ সফল হয়েছে কিনা তা নির্ধারণ করুন
একটি পরিমাপ সফল হয়েছে কিনা তা নির্ধারণ করতে, getStatus() পদ্ধতি ব্যবহার করুন। STATUS_SUCCESS ব্যতীত অন্য যেকোনো মান একটি ব্যর্থতা নির্দেশ করে। একটি ব্যর্থতার অর্থ হল এই ফলাফলের অন্যান্য সমস্ত ক্ষেত্র (উপরের অনুরোধ সনাক্তকরণ ব্যতীত) অবৈধ, এবং সংশ্লিষ্ট get* পদ্ধতিটি একটি IllegalStateException ব্যতিক্রমের সাথে ব্যর্থ হবে।
3. প্রতিটি সফল পরিমাপের ফলাফল পান
প্রতিটি সফল পরিমাপের জন্য ( RangingResult ), আপনি সংশ্লিষ্ট get পদ্ধতি ব্যবহার করে ফলাফলের মানগুলি পুনরুদ্ধার করতে পারেন:
দূরত্ব, মিমিতে, এবং পরিমাপের আদর্শ বিচ্যুতি:
পরিমাপের জন্য ব্যবহৃত প্যাকেটগুলির RSSI:
মিলিসেকেন্ডে সময় (বুট হওয়ার পর থেকে সময় নির্দেশ করে):
পরিমাপের চেষ্টা করা হয়েছে এবং সফল পরিমাপের সংখ্যা (এবং যার উপর ভিত্তি করে দূরত্ব পরিমাপ করা হয়েছে):
একটি ক্লায়েন্ট ডিভাইসকে 11az NTB পরিমাপের মধ্যে সর্বনিম্ন এবং সর্বোচ্চ সময় অপেক্ষা করতে হবে:
getMinTimeBetweenNtbMeasurementsMicros()এবংgetMaxTimeBetweenNtbMeasurementsMicros()সর্বনিম্ন এবং সর্বোচ্চ সময় প্রদান করে। যদি পরবর্তী রেঞ্জিং পরিমাপ সর্বনিম্ন সময় অতিবাহিত হওয়ার আগে অনুরোধ করা হয়, তাহলে API ক্যাশেড রেঞ্জিং ফলাফল প্রদান করে। যদি পরবর্তী রেঞ্জিং পরিমাপ সর্বোচ্চ সময় অতিবাহিত হওয়ার পরে অনুরোধ করা হয়, তাহলে API নন-ট্রিগার রেঞ্জিং সেশনটি বন্ধ করে দেয় এবং রেসপন্সিং স্টেশনের সাথে একটি নতুন রেঞ্জিং সেশনের জন্য আলোচনা করে। আপনার একটি নতুন রেঞ্জিং সেশনের অনুরোধ করা এড়ানো উচিত, কারণ এটি রেঞ্জিং পরিমাপের সময়কে অতিরিক্ত করে। 802.11az নন-ট্রিগার ভিত্তিক রেঞ্জিং দক্ষতার পূর্ণ সুবিধা নিতে, পূর্ববর্তীRangingResultপরিমাপে নির্দিষ্ট সর্বনিম্ন এবং সর্বোচ্চ পরিমাপ সময়ের মধ্যে পরবর্তী রেঞ্জিং অনুরোধটি ট্রিগার করুন।IEEE 802.11az NTB ফলাফলের প্রস্তাবনায় রেসপন্ডার এবং ইনিশিয়েটর স্টেশনগুলি যে দীর্ঘ প্রশিক্ষণ ক্ষেত্র (LTF) পুনরাবৃত্তি ব্যবহার করেছে:
IEEE 802.11az NTB ফলাফলের জন্য ইনিশিয়েটর স্টেশন দ্বারা ব্যবহৃত ট্রান্সমিট এবং রিসিভ স্পেসিয়াল টাইম স্ট্রিম (STS) এর সংখ্যা:
WiFi-RTT সমর্থন করে এমন Android ডিভাইস
নিম্নলিখিত টেবিলগুলিতে কিছু ফোন , অ্যাক্সেস পয়েন্ট এবং খুচরা, গুদামজাতকরণ এবং বিতরণ কেন্দ্রের ডিভাইসগুলির তালিকা রয়েছে যা WiFi-RTT সমর্থন করে। এগুলি সম্পূর্ণরূপে বিস্তৃত নয়। আমরা আপনাকে এখানে আপনার RTT সক্ষম পণ্যগুলির তালিকা তৈরি করতে আমাদের সাথে যোগাযোগ করার জন্য উৎসাহিত করছি।
অ্যাক্সেস পয়েন্ট
| প্রস্তুতকারক এবং মডেল | সহায়তার তারিখ | প্রোটোকল |
|---|---|---|
| নেস্ট ওয়াইফাই প্রো (ওয়াই-ফাই 6E) | সমর্থিত | এমসি |
| কম্পুল্যাব ওয়াইল্ড এপি | সমর্থিত | এমসি |
| গুগল ওয়াই-ফাই | সমর্থিত | এমসি |
| গুগল নেস্ট ওয়াই-ফাই রাউটার | সমর্থিত | এমসি |
| গুগল নেস্ট ওয়াই-ফাই পয়েন্ট | সমর্থিত | এমসি |
| আরুবা AP-635 | সমর্থিত | এমসি |
| সিসকো ৯১৩০ | সমর্থিত | এমসি |
| সিসকো ৯১৩৬ | সমর্থিত | এমসি |
| সিসকো ৯১৬৬ | সমর্থিত | এমসি |
| সিসকো ৯১৬৪ | সমর্থিত | এমসি |
| সিসকো CW9172I | সমর্থিত | এমসি/এজেড |
| সিসকো CW9172H | সমর্থিত | এমসি/এজেড |
| সিসকো CW9176I | সমর্থিত | এমসি/এজেড |
| সিসকো CW9178I | সমর্থিত | এমসি/এজেড |
| আরুবা AP-505 | সমর্থিত | এমসি |
| আরুবা AP-515 | সমর্থিত | এমসি |
| আরুবা AP-575 | সমর্থিত | এমসি |
| আরুবা AP-518 | সমর্থিত | এমসি |
| আরুবা AP-505H | সমর্থিত | এমসি |
| আরুবা AP-565 | সমর্থিত | এমসি |
| আরুবা AP-535 | সমর্থিত | এমসি |
| আরুবা AP567 | সমর্থিত | এমসি |
| আরুবা AP577 | সমর্থিত | এমসি |
| আরুবা AP555 | সমর্থিত | এমসি |
| আরুবা AP635 | সমর্থিত | এমসি |
| আরুবা AP655 | সমর্থিত | এমসি |
| আরুবা AP615 | সমর্থিত | এমসি |
| আরুবা AP734 | সমর্থিত | এমসি/এজেড |
| আরুবা AP735 | সমর্থিত | এমসি/এজেড |
| আরুবা AP754 | সমর্থিত | এমসি/এজেড |
| আরুবা AP755 | সমর্থিত | এমসি/এজেড |
ফোন
| প্রস্তুতকারক এবং মডেল | অ্যান্ড্রয়েড সংস্করণ |
|---|---|
| গুগল পিক্সেল ৯ প্রো এক্সএল | ১৪+ |
| গুগল পিক্সেল ৯ | ১৪+ |
| গুগল পিক্সেল ৯ প্রো | ১৪+ |
| গুগল পিক্সেল ৯ প্রো এক্সএল | ১৪+ |
| গুগল পিক্সেল ৭এ | ১৪+ |
| গুগল পিক্সেল ৭ | ১৪+ |
| গুগল পিক্সেল ৮ | ১৪+ |
| গুগল পিক্সেল ৮ প্রো | ১৪+ |
| গুগল পিক্সেল ৮এ | ১৪+ |
| স্যামসাং এসএম-এস৯১৮বি | ১৪+ |
| স্যামসাং এসএম-এ৫১৫এফ | ১৪+ |
| গুগল পিক্সেল ৯ প্রো | ১৪+ |
| স্যামসাং এসএম-এ৫৪৬ই | ১৪+ |
| স্যামসাং এসএম-এস৯২৮বি | ১৪+ |
| স্যামসাং এসএম-এ২১৭এফ | ১৪+ |
| স্যামসাং এসএম-এ৭১৫এফ | ১৪+ |
| স্যামসাং এসএম-এ৫২৮বি | ১৪+ |
| স্যামসাং এসএম-এ১৩৫এফ | ১৪+ |
| স্যামসাং এসএম-এস৯১১বি | ১৪+ |
| শাওমি 21091116AI | ১৪+ |
| গুগল পিক্সেল ৯ | ১৪+ |
| স্যামসাং এসএম-এ১২৭এফ | ১৪+ |
| গুগল পিক্সেল ৭ প্রো | ১৪+ |
| স্যামসাং এসএম-এ৫৫৬ই | ১৪+ |
| পিক্সেল ৬ | ৯.০+ |
| পিক্সেল ৬ প্রো | ৯.০+ |
| পিক্সেল ৫ | ৯.০+ |
| পিক্সেল ৫এ | ৯.০+ |
| পিক্সেল ৫এ ৫জি | ৯.০+ |
| Xiaomi Mi 10 Pro মূল্য | ৯.০+ |
| শাওমি মি ১০ | ৯.০+ |
| Xiaomi Redmi Mi 9T Pro | ৯.০+ |
| Xiaomi Mi 9T মূল্য | ৯.০+ |
| শাওমি এমআই ৯ | ৯.০+ |
| শাওমি মি নোট ১০ | ৯.০+ |
| শাওমি মি নোট ১০ লাইট | ৯.০+ |
| শাওমি রেডমি নোট ৯এস | ৯.০+ |
| শাওমি রেডমি নোট ৯ প্রো | ৯.০+ |
| শাওমি রেডমি নোট ৮টি | ৯.০+ |
| শাওমি রেডমি নোট ৮ | ৯.০+ |
| শাওমি রেডমি কে৩০ প্রো | ৯.০+ |
| শাওমি রেডমি কে২০ প্রো | ৯.০+ |
| শাওমি রেডমি কে২০ | ৯.০+ |
| শাওমি রেডমি নোট ৫ প্রো | ৯.০+ |
| Xiaomi Mi CC9 Pro | ৯.০+ |
| LG G8X ThinQ মূল্য | ৯.০+ |
| LG V50S ThinQ মূল্য | ৯.০+ |
| LG V60 ThinQ মূল্য | ৯.০+ |
| LG V30 মূল্য | ৯.০+ |
| স্যামসাং গ্যালাক্সি নোট ১০+ ৫জি | ৯.০+ |
| স্যামসাং গ্যালাক্সি এস২০+ ৫জি | ৯.০+ |
| স্যামসাং গ্যালাক্সি এস২০+ | ৯.০+ |
| স্যামসাং গ্যালাক্সি এস২০ ৫জি | ৯.০+ |
| স্যামসাং গ্যালাক্সি এস২০ আল্ট্রা ৫জি | ৯.০+ |
| স্যামসাং গ্যালাক্সি এস২০ | ৯.০+ |
| স্যামসাং গ্যালাক্সি নোট ১০+ | ৯.০+ |
| স্যামসাং গ্যালাক্সি নোট ১০ ৫জি | ৯.০+ |
| স্যামসাং গ্যালাক্সি নোট ১০ | ৯.০+ |
| স্যামসাং এ৯ প্রো | ৯.০+ |
| গুগল পিক্সেল ৪ এক্সএল | ৯.০+ |
| গুগল পিক্সেল ৪ | ৯.০+ |
| গুগল পিক্সেল ৪এ | ৯.০+ |
| গুগল পিক্সেল ৩ এক্সএল | ৯.০+ |
| গুগল পিক্সেল ৩ | ৯.০+ |
| গুগল পিক্সেল ৩এ এক্সএল | ৯.০+ |
| গুগল পিক্সেল ৩এ | ৯.০+ |
| গুগল পিক্সেল ২ এক্সএল | ৯.০+ |
| গুগল পিক্সেল ২ | ৯.০+ |
| গুগল পিক্সেল ১ এক্সএল | ৯.০+ |
| গুগল পিক্সেল ১ | ৯.০+ |
| পোকো এক্স২ | ৯.০+ |
| শার্প অ্যাকোস আর৩ এসএইচ-০৪এল | ৯.০+ |
খুচরা, গুদামজাতকরণ এবং বিতরণ কেন্দ্রের ডিভাইসগুলি
| প্রস্তুতকারক এবং মডেল | অ্যান্ড্রয়েড সংস্করণ |
|---|---|
| জেব্রা PS20 | ১০.০+ |
| জেব্রা TC52/TC52HC | ১০.০+ |
| জেব্রা TC57 | ১০.০+ |
| জেব্রা TC72 | ১০.০+ |
| জেব্রা টিসি৭৭ | ১০.০+ |
| জেব্রা MC93 | ১০.০+ |
| জেব্রা TC8300 | ১০.০+ |
| জেব্রা ভিসি৮৩০০ | ১০.০+ |
| জেব্রা EC30 | ১০.০+ |
| জেব্রা ET51 | ১০.০+ |
| জেব্রা ET56 | ১০.০+ |
| জেব্রা L10 | ১০.০+ |
| জেব্রা CC600/CC6000 | ১০.০+ |
| জেব্রা MC3300x | ১০.০+ |
| জেব্রা MC330x | ১০.০+ |
| জেব্রা TC52x | ১০.০+ |
| জেব্রা TC57x | ১০.০+ |
| জেব্রা EC50 (LAN এবং HC) | ১০.০+ |
| জেব্রা EC55 (WAN) | ১০.০+ |
| জেব্রা WT6300 | ১০.০+ |
| স্করপিও এক্স৫ | ১০.০+ |