সময় অঞ্চল বিকল্প

গাড়ির ইনফোটেইনমেন্ট সিস্টেমের একটি মূল বৈশিষ্ট্য হলো সময়ের সঠিক প্রদর্শন। যদিও এই বিষয়টি আপাতদৃষ্টিতে বেশ সহজ মনে হতে পারে, বিশেষ করে যখন সময় ও টাইম জোন ব্যবস্থাপনার প্রত্যাশা কম থাকে এবং তা পূরণ করা আবশ্যক হয়, কিন্তু যখন কোনো ম্যানুয়াল হস্তক্ষেপ ছাড়াই একটি নির্ভরযোগ্য ও সঠিক তারিখ এবং সময় প্রদর্শন করতে হয়, তখন সময়ের বিষয়টি দ্রুত জটিল হয়ে ওঠে।

সিস্টেম অন চিপ (SoC)-এ সাধারণত ব্যবহৃত সমস্ত রিয়েল-টাইম ক্লকে কিছু পরিমাণ ড্রিফট থাকে, যা সময়ের সাথে সাথে জমা হয় এবং সংশোধন না করা হলে বড় ধরনের ত্রুটির কারণ হতে পারে। এছাড়াও, স্থানীয় সময় নির্ভুলভাবে প্রদর্শিত হবে এমন প্রত্যাশা বেশি থাকায়, কোঅর্ডিনেটেড ইউনিভার্সাল টাইম (UTC) থেকে সঠিক অফসেট অবশ্যই বিবেচনা করতে হবে।

একটি গাড়ির প্রত্যাশিত জীবনকালে টাইম জোন সংক্রান্ত তথ্য, সেইসাথে ডেলাইট সেভিং টাইম (ডিএসটি)-এর প্রয়োগও পরিবর্তিত হতে পারে। উদাহরণস্বরূপ, বহু বছর ধরে ডিএসটি চালু রাখার পর ব্রাজিল ২০১৯ সালে ডিএসটি সময়সূচী শুরু না করার সিদ্ধান্ত নেয়।

অ্যান্ড্রয়েড টাইম জোন নিয়ম ব্যবস্থাপনার জটিলতাগুলো সামাল দেওয়ার জন্য প্রয়োজনীয় পরিকাঠামো প্রদান করে। বিস্তারিত জানতে, টাইম জোন নিয়মাবলী দেখুন, যা OEM-দেরকে সিস্টেম আপডেট ছাড়াই ডিভাইসগুলোতে হালনাগাদ করা টাইম জোন নিয়মের ডেটা পাঠাতে সক্ষম করে। এই প্রক্রিয়াটি নিম্নলিখিত বিষয়গুলো সম্ভব করে তোলে:

  • ব্যবহারকারীরা সময়মতো আপডেট পাবেন (যা একটি অ্যান্ড্রয়েড ডিভাইসের কার্যকর জীবনকাল বাড়িয়ে দেয়)।
  • OEM-দের সিস্টেম ইমেজ আপডেট থেকে স্বাধীনভাবে টাইম জোন আপডেট পরীক্ষা করতে হবে।

দ্রষ্টব্য: AAOS 10, Android 10 (এবং এর পরবর্তী সংস্করণ)-এ প্রদত্ত APEX-ভিত্তিক মডিউল আপডেট প্রক্রিয়াটি সমর্থন করে না।

দ্রষ্টব্য: এই পদ্ধতিটি কার্যকর করতে সিস্টেম রিবুট করা প্রয়োজন।

গাড়িতে সময় (অঞ্চল) তথ্যের উৎস

অ্যান্ড্রয়েড ডিভাইসগুলো সিস্টেম লেভেলে ইউনিক্স টাইমে সময় পরিচালনা করে, কাঙ্ক্ষিত টাইম জোন অফসেট প্রয়োগ করে এবং তারপর ব্যবহারকারীদের দেখানোর জন্য মানটিকে স্থানীয় সময়ে রূপান্তর করে। বর্তমান ব্যবহারকারীর জোন আইডি (যা প্রায়শই ওলসন আইডি নামে পরিচিত) একটি সেটিং হিসেবে সংরক্ষিত থাকে। উদাহরণস্বরূপ, Europe/London

নীচে বর্ণিত পদ্ধতির বেশিরভাগই সময়ের তথ্য বর্ণনা করে। এই মানগুলির উদ্দেশ্য হলো ব্যবহারকারীদের বর্তমান সময় জানানো, প্রযোজ্য টাইম জোন নিয়মাবলী বর্ণনা করা নয়। প্রকৃত টাইম জোন নির্ধারণ করার জন্য, জোন আইডি সেট করার আগে ডিভাইসটিকে অবশ্যই দেশ, অফসেট এবং ডিএসটি অফসেটের মতো বিষয়গুলি বিবেচনা করতে হবে।

এই প্রক্রিয়াটি একটি চ্যালেঞ্জ হতে পারে। উপলব্ধ তথ্যের উপর ভিত্তি করে পেছনের দিকে কাজ করাটা অস্পষ্ট হতে পারে। উদাহরণস্বরূপ, আমেরিকা/ডেনভার টাইম জোন নিয়ম অনুযায়ী, এটি ডেলাইট সেভিং টাইম (ডিএসটি) অনুসরণ করলেও গ্রীষ্মকালে মাউন্টেন ডেলাইট টাইম (এমডিটি) গ্রহণ করে, যেখানে আমেরিকা/ফিনিক্স এমডিটি-কেই স্বীকৃতি দিতে থাকে।

সেলুলার রেডিও

সিস্টেম ইনফরমেশন (SI) হলো লং-টার্ম ইভোলিউশন (LTE) এয়ার ইন্টারফেসের একটি অপরিহার্য অংশ, যা বেস স্টেশন (BS) থেকে ব্রডকাস্ট কন্ট্রোল চ্যানেল (BCCH)-এর মাধ্যমে প্রেরণ করা হয়। 3GPP TS 36.331-এ সিস্টেমইনফরমেশনব্লকটাইপ১৬ (SIB16) নির্দিষ্ট করা হয়েছে, যাতে GPS ও কোঅর্ডিনেটেড ইউনিভার্সাল টাইম (UTC), স্থানীয় সময়ের অফসেট এবং DST সম্পর্কিত তথ্য থাকে।

2G এবং 3G-তেও অনুরূপ কার্যকারিতা পাওয়া যায়, যেখানে নেটওয়ার্ক আইডেন্টিটি এবং টাইম জোন (NITZ) তথ্য সম্প্রচার করা যায় (বিস্তারিত জানতে 3GPP TS 22.042 দেখুন)। অন্যান্য সেলুলার রেডিও স্ট্যান্ডার্ডেও সমতুল্য বৈশিষ্ট্য রয়েছে।

দুর্ভাগ্যবশত, বেশিরভাগ স্ট্যান্ডার্ডের একটি সাধারণ বিষয় হলো এই তথ্য পাঠানো ঐচ্ছিক, তাই এটি সব নেটওয়ার্কে সার্বিকভাবে উপলব্ধ নয়।

সুবিধা অসুবিধা
  • উপলব্ধ থাকলে, প্রয়োজনীয় তথ্যের অধিকাংশই সরবরাহ করে।
  • সরলতা, যা অ্যান্ড্রয়েড ইতিমধ্যেই সমর্থন করে, যখন সেলুলার রেডিওকে শুধুমাত্র ডেটা মোডেম হিসেবে নয়, বরং একটি ফোন হিসেবেও ব্যবহার করা হয়।
  • ইন্টারনেট সংযোগের প্রয়োজন নেই
  • তথ্যটি সম্প্রচার করা হবে কিংবা বেস স্টেশনটি সঠিকভাবে কনফিগার করা আছে, তার কোনো নিশ্চয়তা নেই।

  • সীমান্তবর্তী অঞ্চলে, পার্শ্ববর্তী দেশের (রোমিং) সেল টাওয়ারের সংযোগ পাওয়ার এবং এর ফলে ভুল টাইম জোন প্রদর্শিত হওয়ার সম্ভাবনা থাকে।

  • কিছু কিছু স্থানে আপডেট সম্পন্ন হতে কয়েক ঘণ্টা, এমনকি কয়েক দিনও লেগে যেতে পারে।

নেটওয়ার্ক সময় প্রোটোকল

নেটওয়ার্ক টাইম প্রোটোকল (NTP) প্রায়শই তুলনামূলকভাবে নির্ভুল ইউনিক্স ইপক টাইম তথ্য পেতে ব্যবহৃত হয়। অ্যান্ড্রয়েড তার সিস্টেম টাইমকে একটি NTP সার্ভারের সাথে সিঙ্ক্রোনাইজ করতে পারে, যদি সেই সার্ভারটি জেনেরিক RadioTuner.getParameters() মেটাডেটার মাধ্যমে RadioManager এর ক্লায়েন্টদের কাছে প্রকাশ করা যায়। যখন সিস্টেম টাইম সিঙ্ক থেকে বেরিয়ে যায় এবং কোনো ক্যারিয়ার সম্প্রতি NITZ আপডেট প্রদান করেনি, তখন NTP সিস্টেম টাইম আপডেট করে। যদি ব্যবহারকারী NITZ উপলব্ধ না থাকার সময় AUTO_TIME চালু করেন, তবে সিস্টেম অবিলম্বে নেটওয়ার্ক টাইম পরীক্ষা করে।

সুবিধা অসুবিধা

সরলতা, অ্যান্ড্রয়েড দ্বারা সমর্থিত।

  • অসম্পূর্ণ হওয়ায়, NTP শুধুমাত্র একটি প্রয়োজনীয় মান (সময়) প্রদান করে। এমনকি সর্বোত্তম পরিস্থিতিতেও, NTP টাইম জোন প্রদান করতে পারে না।

  • ইন্টারনেট সংযোগ প্রয়োজন।

সম্প্রচার রেডিও টিউনার

অন্তর্নির্মিত টিউনার ব্যবহার করে সময় ও সময় অঞ্চলের তথ্য পাওয়া আকর্ষণীয় হলেও, এর সাথে কিছু চ্যালেঞ্জও জড়িত। বিভিন্ন রেডিও সম্প্রচার মান কাঙ্ক্ষিত তথ্য প্রকাশের জন্য বিভিন্ন বিকল্প নির্ধারণ করে দেয়। সাধারণভাবে বলতে গেলে, একটি ব্রডকাস্ট রেডিও টিউনার সেলুলার রেডিওর মতোই একই তথ্য প্রদান করে।

ETSI EN 300 401 V1.4.1 (2006-06)-এর ধারা ৮.১-এ ডিজিটাল অডিও ব্রডকাস্টিং (DAB) সিস্টেমের জন্য অডিও প্রোগ্রাম এবং ডেটা উভয়ের পরিষেবা সম্পর্কে সম্পূরক তথ্য প্রদানকারী পরিষেবা তথ্যের বৈশিষ্ট্যগুলি নির্দিষ্ট করা হয়েছে। ধারা ৮.১.৩-এ সময় ও তারিখের ফরম্যাটের পাশাপাশি দেশ এবং স্থানীয় সময়ের অফসেটের তথ্য সংজ্ঞায়িত করা হয়েছে।

একইভাবে, এফএম টিউনারে সাধারণত ব্যবহৃত রেডিও ডেটা সিস্টেম (RDS)-এর জন্য, EN 50067 স্ট্যান্ডার্ডের ৩.১.৫.৬ ধারায় ঘড়ির সময় এবং ডেটার (যা প্রতি মিনিটে একবার প্রেরিত হয়) ফরম্যাট সংজ্ঞায়িত করা হয়েছে। এছাড়াও, প্রেরিত প্রোগ্রাম শনাক্তকরণের অংশ হিসেবে এক্সটেন্ডেড কান্ট্রি কোড (ECC)-ও পাওয়া যেতে পারে।

HD Radio-এর স্টেশন ইনফরমেশন সার্ভিস (SIS) প্যারামিটার মেসেজ (MSG ID 0111)-এ , HD Radio™ এয়ার ইন্টারফেস ডিজাইন ডেসক্রিপশন স্টেশন ইনফরমেশন সার্ভিস ট্রান্সপোর্ট স্পেসিফিকেশনের অংশ হিসেবে সংশ্লিষ্ট অপশনগুলো অন্তর্ভুক্ত রয়েছে। সেকশন ৫-এ সতর্কতামূলক কথা স্পষ্টভাবে উল্লেখ করা হয়েছে, যা ব্রডকাস্টের ক্লক সাপোর্ট ব্যবহার করার চেষ্টা করার সময় অবশ্যই মেনে চলতে হবে। এই একই নীতি অন্যান্য সিস্টেমের ক্ষেত্রেও সমানভাবে প্রযোজ্য:

... এই ডেটাগুলো সম্প্রচারকারীর অবস্থানের স্থানীয় রীতিনীতি বর্ণনা করে, যা গ্রাহকের স্থানের স্থানীয় রীতিনীতির সাথে একই হতেও পারে বা নাও হতে পারে। টাইম-জোন সীমানার কাছাকাছি, গ্রাহকরা ভিন্ন ভিন্ন ডেটা প্রদানকারী একাধিক স্টেশন থেকে সংকেত পেতে পারেন। অতএব, এই ডেটাগুলো শুধুমাত্র ইঙ্গিত হিসেবে প্রদান করা হয়, যার ব্যাখ্যা এবং ব্যবহার গ্রাহকের বিবেচনার উপর নির্ভরশীল এবং তার নিয়ন্ত্রণে থাকা উচিত। ..."

এছাড়াও, অন্তত এইচডি রেডিওর ক্ষেত্রে, এই তথ্যের সম্প্রচার ঐচ্ছিক এবং এর ওপর সম্পূর্ণরূপে নির্ভর করা উচিত নয়।

সুবিধা অসুবিধা
  • সাধারণত বিভিন্ন আঞ্চলিক সম্প্রচার রেডিও স্ট্যান্ডার্ড জুড়ে উপলব্ধ।
  • ইন্টারনেট সংযোগের প্রয়োজন নেই
  • অ্যান্ড্রয়েডে ডিফল্টভাবে এটি সাপোর্ট করে না।
  • নির্ভরযোগ্যভাবে তথ্য শনাক্ত করার জন্য টিউনারটি চালু রাখা প্রয়োজন (অন্তত মাঝে মাঝে ব্যাকগ্রাউন্ডে)।
  • নির্ভরযোগ্যতা সম্প্রচারকারীর উপর নির্ভর করে।

বাস্তবায়নের পরামর্শ

অ্যান্ড্রয়েড তার সিস্টেমের সময়কে একটি NTP সার্ভারের সময়ের সাথে সিঙ্ক্রোনাইজ করতে পারে, যদি তা RadioManager এর ক্লায়েন্টদের কাছে প্রকাশ করা যায়। এর জন্য প্রস্তাবিত সমাধান হলো ভেন্ডর এক্সটেনশন ফিচারটি ব্যবহার করা। এই কার্যকারিতাটির বাস্তবায়ন অবশ্যই হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ারে (HAL) করতে হবে, যার পরে এটি জেনেরিক RadioTuner.getParameters() মেথডের মাধ্যমে RadioManager এর ক্লায়েন্টদের কাছে প্রকাশ করা যাবে।

সমাধানটিকে শক্তিশালী রাখার জন্য, এই ভেন্ডর এক্সটেনশনের ব্যবহারকারীকে অবশ্যই নিশ্চিত করতে হবে যে HAL ফিচারটি সমর্থন করে (এর অস্তিত্ব অনুমান করবেন না)। বিভিন্ন ভেন্ডরের মধ্যে দ্ব্যর্থহীন ব্যবহারের জন্য getParameters কলের প্যারামিটার স্ট্রিংগুলো পরিচ্ছন্নভাবে সাজানো আবশ্যক। উদাহরণস্বরূপ, আপনার প্রতিষ্ঠানের নেমস্পেসের আগে উপযুক্ত ডোমেইন যুক্ত করে ব্যবহার করুন, যেমন, com.me.timezoneTuner.currenttimezone

তথ্যের ইভেন্ট-চালিত প্রকৃতির কারণে, এই তথ্য গ্রহণের জন্য RadioTuner.Callback.onParametersUpdated() কলব্যাকটি ব্যবহার করা সুবিধাজনক হতে পারে। যদি এই সুবিধাটি কনফিগারযোগ্য করার প্রয়োজন হয়, তবে setParameters উপরে এক সেট কাস্টম রুটিন ডিজাইন করুন। উদাহরণস্বরূপ:

com.me.timezoneTuner.currenttimezoneEvent.enable

এককভাবে গ্লোবাল নেভিগেশন স্যাটেলাইট সিস্টেম (GNSS) কেবল সঠিক সময় ও অবস্থানের তথ্য প্রদান করতে পারে।

ভূ-অবস্থান

এই অসুবিধার সমাধান হলো রিভার্স-জিওকোডিং করা এবং অবস্থানের উপর ভিত্তি করে অনুসন্ধান চালিয়ে দেশ ও টাইম জোন নির্ধারণ করা। যানবাহনের ক্ষেত্রে অবস্থানের তথ্যের জন্য জিএনএসএস (GNSS) হলো সুস্পষ্ট (এবং সর্বোত্তম মানের) পছন্দ। প্রয়োজনীয় রূপান্তরটি চালানোর জন্য যা যা দরকার, তার সবই গুগলের টাইম জোন এপিআই (API) সরবরাহ করে। অবশ্যই, ইন্টারনেট সংযোগ প্রয়োজন। একটি অনলাইন সমাধান বাস্তবায়নের সময় ব্যবহারকারীর গোপনীয়তা নিশ্চিত করাকে সর্বোচ্চ অগ্রাধিকার দিতে হবে! ডেটা ব্যবহারের খরচ গ্রহণ করার (বা না করার) জন্য ব্যবহারকারীর অনুমতি প্রয়োজন এবং তা অবশ্যই চাইতে হবে।

অফলাইন ব্যবহারের জন্য একটি উপযুক্ত সমাধান তৈরি করা সম্ভব। দেশ এবং সময় অঞ্চল নির্ভুলভাবে নির্ধারণ করার জন্য পর্যাপ্ত রেজোলিউশনসহ একটি স্থানীয় মানচিত্র ডেটাবেস একটি গাড়ির স্টোরেজে রাখা যেতে পারে। এর সাহায্যে এবং প্রয়োজন অনুযায়ী সময় অঞ্চল (এবং দেশ) তথ্য হালনাগাদ করার জন্য একটি সম্পূর্ণরূপে বাস্তবায়িত কৌশলের মাধ্যমে, লোকেশন সাবসিস্টেম থেকে প্রাপ্ত জিএনএসএস অবস্থানের উপর ভিত্তি করে দেশ/সময় অঞ্চলকে রিভার্স-জিওকোড করা সম্ভব।

সুবিধা অসুবিধা
  • সঠিক সময় অঞ্চল দ্ব্যর্থহীনভাবে নির্ধারণ করতে পারে।
  • ইন্টারনেট সংযোগের প্রয়োজন নেই (লোকাল ডিবি-র ক্ষেত্রে)।
  • অধিকাংশ ড্রাইভিং পরিস্থিতিতে নির্ভরযোগ্যভাবে কাজ করে।
  • অ্যান্ড্রয়েডে ডিফল্টভাবে এটি সাপোর্ট করে না।
  • প্রাথমিক কনফিগারেশনের সময় যানবাহনটি যদি কোনো আবদ্ধ স্থানে বা আচ্ছাদিত জায়গায় থাকে যেখানে ভালো GNSS স্যাটেলাইট সংকেত পাওয়া সম্ভব নয়, তাহলে সঠিক সময়, অবস্থান এবং সময় অঞ্চলের তথ্য পাওয়া অসম্ভব।
  • স্থানীয় ডাটাবেসের একটি আপডেট ব্যবস্থা প্রয়োজন।
  • বাস্তবায়নের জটিলতা।

ব্লুটুথ, ওয়াই-ফাই বা ইউএসবি-র মাধ্যমে ফোন সংযুক্ত।

ব্যবহারকারীর ফোন থেকে সময় এবং টাইম জোনের তথ্য পেতে বিভিন্ন প্রযুক্তি ব্যবহার করা যেতে পারে। সমস্ত ফোনের জন্য, ফোনে এবং ইন-ভেহিকেল ইনফোটেইনমেন্ট (IVI) সিস্টেমে একজোড়া কাস্টম অ্যাপ এবং কম্প্যানিয়ন অ্যাপ ইনস্টল করতে হবে। এরপর কাঙ্ক্ষিত বিরতিতে সময় সিঙ্ক্রোনাইজ করা সম্ভব হয়। উদাহরণস্বরূপ, সংযোগ স্থাপন করার সময় এবং যখন ফোনটি একটি নতুন টাইম জোন শনাক্ত করে।

ব্লুটুথ লো এনার্জি (BLE) সমর্থনকারী কিছু ফোনে GATT Current Time ক্যারেক্টারিস্টিক এবং Current Time Service Profile Specification 1.1- এর মাধ্যমে সময় জানার বিকল্প থাকে। তবে, এই বিকল্পটি এত বড় বাজার অংশকে পূরণ করে না যে এর উপর একচেটিয়াভাবে নির্ভর করা যায়।

সুবিধা অসুবিধা
  • ইন্টারনেট সংযোগের প্রয়োজন নেই
  • ফোনের মাধ্যমে শনাক্ত হওয়া টাইম জোন পরিবর্তনের তথ্য হেড ইউনিটে পাঠানো যেতে পারে।
  • অ্যান্ড্রয়েডে ডিফল্টভাবে এটি সাপোর্ট করে না।
  • ফোনটি হেড ইউনিটের সাথে সংযুক্ত থাকলেই কেবল কাজ করে।
  • ফোনটি সময়কে কতটা ভালো বা খারাপ করে তোলে, সময় তারই উপর নির্ভর করে।
  • বাস্তবায়ন জটিল।
  • সব ফোন BLE GATT Current Time Service প্রোফাইল সমর্থন করে না।

উৎস ব্যবহার করুন

প্রতিটি ডিভাইস বিক্রেতাকে অবশ্যই নির্ধারণ করতে হবে যে তারা মানদণ্ড কতটা উঁচু করবে এবং কোন ব্যবহারকারীর অভিজ্ঞতাগুলোকে সবচেয়ে গুরুত্বপূর্ণ বলে মনে করবে। কাঙ্ক্ষিত গুরুত্বপূর্ণ ব্যবহারকারী অভিজ্ঞতাগুলো সম্পর্কে স্পষ্ট ধারণা থাকলেই কেবল সর্বোত্তম সিদ্ধান্তে পৌঁছানো সম্ভব। বেশিরভাগ ক্ষেত্রে, বিক্রেতাদের সুবিধা এবং বাস্তবায়নের জটিলতার মধ্যেকার ভারসাম্য বিবেচনা করতে হয়।

উপরে বর্ণিত প্রতিটি বিকল্পেরই সুবিধা ও অসুবিধা রয়েছে। উদাহরণস্বরূপ, মাঝেমধ্যে সময় প্রদর্শনে ত্রুটির তুলনায় কতটা সহনশীলতা গ্রহণযোগ্য এবং এর অসুবিধাগুলো কীভাবে সামাল দেওয়া হবে, সে বিষয়ে একটি গুরুত্বপূর্ণ নকশা-সংক্রান্ত সিদ্ধান্ত নিতে হবে। একটি সম্পূর্ণ স্বয়ংক্রিয় সমাধান যা সব পরিস্থিতিতেই ভালোভাবে কাজ করবে বলে আশা করা যায়, তা অবশ্যই একাধিক তথ্য উৎসের সমন্বয়ের উপর ভিত্তি করে তৈরি হতে হবে। কোনো একক বিকল্পই শতভাগ প্রাপ্যতা নিশ্চিত করতে পারে না।

একটি অস্থায়ী বিকল্প হিসেবে ম্যানুয়াল কনফিগারেশন অপশনটি কার্যকর করা সহজ এবং বাস্তবে এটি অনেক ব্যবহারকারীর জন্য যথেষ্ট হতে পারে।