گزینه های منطقه زمانی

نمایش دقیق زمان، یکی از ویژگی‌های اصلی مورد انتظار از یک سیستم اطلاعات سرگرمی خودرو است. اگرچه این موضوع ممکن است به طرز فریبنده‌ای ساده به نظر برسد، به خصوص زمانی که انتظارات از مدیریت زمان و منطقه زمانی پایین است و باید برآورده شود، اما وقتی یک تاریخ و زمان دقیق و قابل اعتماد باید بدون دخالت دست نمایش داده شود، زمان به سرعت پیچیده می‌شود.

تمام ساعت‌های بلادرنگ که معمولاً در سیستم روی تراشه (SoC) استفاده می‌شوند، حاوی مقداری انحراف هستند که به مرور زمان جمع می‌شوند و در صورت عدم اصلاح می‌توانند منجر به خطای قابل توجهی شوند. علاوه بر این، از آنجا که انتظارات زیادی برای نمایش دقیق زمان محلی وجود دارد، انحراف صحیح از زمان هماهنگ جهانی (UTC) باید در نظر گرفته شود.

انتظار می‌رود اطلاعات منطقه زمانی و همچنین نحوه‌ی اعمال تغییر ساعت تابستانی (DST) در طول عمر مورد انتظار یک وسیله نقلیه تغییر کند. به عنوان مثال، پس از سال‌ها اجرای DST، برزیل تصمیم گرفت که برنامه‌ی DST را در سال ۲۰۱۹ آغاز نکند.

اندروید زیرساخت مورد نیاز برای مذاکره در مورد پیچیدگی‌های مدیریت قوانین منطقه زمانی را فراهم می‌کند. برای جزئیات بیشتر، به قوانین منطقه زمانی مراجعه کنید، که به تولیدکنندگان اصلی تجهیزات (OEM) امکان می‌دهد داده‌های قوانین منطقه زمانی به‌روز شده را بدون نیاز به به‌روزرسانی سیستم، به دستگاه‌ها ارسال کنند. این مکانیسم موارد زیر را فعال می‌کند:

  • کاربران می‌توانند به‌روزرسانی‌های به‌موقع را دریافت کنند (که طول عمر مفید دستگاه اندروید را افزایش می‌دهد).
  • تولیدکنندگان تجهیزات اصلی (OEM) به‌روزرسانی‌های منطقه زمانی را مستقل از به‌روزرسانی‌های تصویر سیستم آزمایش می‌کنند.

توجه: AAOS 10 از مکانیزم به‌روزرسانی ماژول مبتنی بر APEX که در نسخه‌های اندروید ۱۰ (و بالاتر) ارائه شده است، پشتیبانی نمی‌کند.

توجه: برای اجرای این مکانیزم، راه‌اندازی مجدد سیستم الزامی است.

منابع اطلاعات زمانی (منطقه‌ای) در خودروها

دستگاه‌های اندروید زمان را در سطح سیستم و بر اساس زمان یونیکس مدیریت می‌کنند، آفست منطقه زمانی مورد نظر را اعمال می‌کنند و سپس مقدار را برای نمایش به کاربران به زمان محلی تبدیل می‌کنند. شناسه منطقه کاربر فعلی (که اغلب به عنوان شناسه اولسون شناخته می‌شود) به عنوان یک تنظیم ذخیره می‌شود. به عنوان مثال، Europe/London .

بخش عمده‌ای از مکانیسم ذکر شده در زیر، اطلاعات زمانی را توصیف می‌کند. هدف این استانداردها ارائه زمان فعلی به کاربران است، نه توصیف قوانین منطقه زمانی قابل اجرا. برای تعیین منطقه زمانی واقعی، دستگاه باید قبل از تنظیم شناسه منطقه، عواملی مانند کشور، انحراف و انحراف DST را در نظر بگیرد.

این فرآیند می‌تواند چالش‌برانگیز باشد. بررسی مجدد بر اساس اطلاعات موجود می‌تواند مبهم باشد. برای مثال، قانون منطقه زمانی آمریکا/دنور DST را رعایت می‌کند اما در طول تابستان با زمان نور روز کوهستان (MDT) سازگار می‌شود، در حالی که آمریکا/فینیکس همچنان MDT را به رسمیت می‌شناسد.

رادیوی سلولی

اطلاعات سیستم (SI) یک جنبه اساسی از رابط هوایی تکامل بلندمدت (LTE) است که توسط ایستگاه پایه (BS) از طریق کانال کنترل پخش (BCCH) منتقل می‌شود. 3GPP TS 36.331 نوع بلوک اطلاعات سیستم (SIB16) را مشخص می‌کند که شامل اطلاعات مربوط به GPS و زمان هماهنگ جهانی (UTC)، انحراف زمان محلی و همچنین اطلاعات DST است.

عملکرد مشابهی را می‌توان در 2G و 3G یافت، که در آن‌ها اطلاعات هویت شبکه و منطقه زمانی (NITZ) می‌توانند پخش شوند (برای جزئیات به 3GPP TS 22.042 مراجعه کنید). سایر استانداردهای رادیوی سلولی نیز ویژگی‌های معادلی دارند.

متأسفانه، وجه مشترک اکثر استانداردها این است که ارسال این اطلاعات اختیاری است، بنابراین به طور جهانی در همه شبکه‌ها در دسترس نیست.

مزایا معایب
  • در صورت وجود، بیشتر اطلاعات مورد نظر را ارائه می‌دهد.
  • سادگی، که قبلاً توسط اندروید پشتیبانی می‌شود، چه زمانی که رادیوی سلولی به عنوان یک تلفن و نه فقط به عنوان یک مودم داده در معرض دید قرار می‌گیرد.
  • نیازی به اتصال به اینترنت ندارد .
  • هیچ تضمینی وجود ندارد که اطلاعات پخش شوند یا ایستگاه پایه به درستی پیکربندی شده باشد.

  • در مناطق مرزی، احتمال دریافت سیگنال (رومینگ) از یک برج سلولی از یک کشور همسایه و ارسال منطقه زمانی اشتباه وجود دارد.

  • در برخی مکان‌ها، به‌روزرسانی‌ها ممکن است ساعت‌ها، حتی روزها طول بکشد.

پروتکل زمان شبکه

پروتکل زمان شبکه (NTP) اغلب برای به دست آوردن اطلاعات نسبتاً دقیق زمان عصر یونیکس استفاده می‌شود. اندروید از همگام‌سازی زمان سیستم خود با زمان سرور NTP پشتیبانی می‌کند، اگر بتواند از طریق فراداده عمومی RadioTuner.getParameters() در اختیار کلاینت‌های RadioManager قرار گیرد. NTP زمان سیستم را هنگامی که از همگام‌سازی خارج می‌شود و اپراتور اخیراً به‌روزرسانی NITZ را ارائه نکرده است، به‌روزرسانی می‌کند. اگر کاربر AUTO_TIME هنگامی که NITZ در دسترس نیست فعال کند، سیستم بلافاصله زمان شبکه را بررسی می‌کند.

مزایا معایب

سادگی، پشتیبانی شده توسط اندروید.

  • NTP ناقص است، فقط یک مقدار مورد نیاز (زمان) را ارائه می‌دهد. حتی در بهترین حالت، NTP نمی‌تواند منطقه زمانی را ارائه دهد.

  • نیاز به اتصال به اینترنت دارد.

تیونر رادیو پخش

اگرچه استفاده از یک تیونر داخلی برای بازیابی اطلاعات زمان و منطقه زمانی جذاب است، اما چالش‌هایی نیز به همراه دارد. استانداردهای متعدد پخش رادیویی، گزینه‌هایی را برای نمایش اطلاعات مورد نظر تعریف می‌کنند. به طور کلی، یک تیونر رادیویی پخش، همان اطلاعات یک رادیوی سلولی را ارائه می‌دهد.

بخش ۸.۱ از استاندارد ETSI EN 300 401 V1.4.1 (2006-06)، ویژگی‌های اطلاعات سرویس را مشخص می‌کند که اطلاعات تکمیلی در مورد سرویس‌ها برای برنامه‌های صوتی و داده‌ها برای سیستم‌های پخش صوتی دیجیتال (DAB) ارائه می‌دهند. بخش ۸.۱.۳ قالب زمان و تاریخ و همچنین اطلاعات مربوط به انحراف زمان کشور و زمان محلی را تعریف می‌کند.

به طور مشابه، برای سیستم داده‌های رادیویی (RDS) که معمولاً در تیونر‌های FM پیاده‌سازی می‌شود، بخش 3.1.5.6 از استاندارد EN 50067 قالب زمان-ساعت و داده‌ها (که یک بار در دقیقه ارسال می‌شوند) را تعریف می‌کند. علاوه بر این، کد کشور توسعه‌یافته (ECC) نیز می‌تواند به عنوان بخشی از شناسایی برنامه ارسالی بازیابی شود.

رادیو HD شامل گزینه‌های مربوطه به عنوان بخشی از توضیحات طراحی رابط هوایی HD Radio™، مشخصات انتقال سرویس اطلاعات ایستگاه در پیام پارامتر سرویس اطلاعات ایستگاه (SIS) (MSG ID 0111) است. بخش 5 به وضوح کلمات احتیاطی را که باید هنگام تلاش برای استفاده از پشتیبانی ساعت پخش مورد توجه قرار گیرند، بیان می‌کند. همین نکته به طور مساوی در مورد سایر سیستم‌ها نیز صدق می‌کند:

... این داده‌ها، عرف محلی در محل پخش‌کننده را توصیف می‌کنند که ممکن است با عرف محلی در محل گیرنده یکسان باشد یا نباشد. در نزدیکی مرزهای منطقه زمانی، مصرف‌کنندگان می‌توانند ایستگاه‌های متعددی را دریافت کنند که داده‌های متفاوتی ارائه می‌دهند. بنابراین، این داده‌ها فقط به عنوان نکات ارائه می‌شوند که تفسیر و استفاده از آنها باید اختیاری و تحت کنترل مشتری باشد..."

علاوه بر این، حداقل برای رادیو HD، پخش این اطلاعات اختیاری است و نباید صرفاً به آن تکیه کرد.

مزایا معایب
  • معمولاً در استانداردهای مختلف رادیویی پخش منطقه‌ای موجود است.
  • نیازی به اتصال به اینترنت ندارد .
  • اندروید به طور پیش‌فرض از این پشتیبانی نمی‌کند.
  • برای تشخیص قابل اعتماد اطلاعات، لازم است تیونر (حداقل گاهی اوقات در پس‌زمینه) روشن باشد.
  • قابلیت اطمینان به پخش کننده بستگی دارد.

نکات اجرایی

اندروید از همگام‌سازی زمان سیستم خود با زمان سرور 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 به‌دست‌آمده از زیرسیستم موقعیت‌یابی، کشور/منطقه زمانی را ژئوکد معکوس کرد.

مزایا معایب
  • می‌تواند به طور واضح منطقه زمانی صحیح را تعیین کند.
  • نیازی به اتصال به اینترنت ندارد (در صورت وجود پایگاه داده محلی).
  • برای اکثر سناریوهای رانندگی به طور قابل اعتمادی کار می‌کند.
  • اندروید به طور پیش‌فرض از این پشتیبانی نمی‌کند.
  • اگر وسیله نقلیه در فضای بسته/مسقف باشد که در طول پیکربندی اولیه، دریافت خوب ماهواره GNSS امکان‌پذیر نباشد، دریافت اطلاعات دقیق زمان، مکان و منطقه زمانی غیرممکن است.
  • پایگاه داده محلی به یک مکانیزم به‌روزرسانی نیاز دارد.
  • پیچیدگی پیاده‌سازی.

تلفن از طریق بلوتوث، وای‌فای یا USB متصل شده است

می‌توان از چندین فناوری برای بهره‌برداری از تلفن کاربر جهت دستیابی به داده‌های زمان و منطقه زمانی استفاده کرد. برای همه تلفن‌ها، باید یک جفت برنامه سفارشی و برنامه‌های همراه روی تلفن و سیستم اطلاعات سرگرمی درون خودرو (IVI) نصب شود. سپس می‌توان زمان را در فاصله زمانی مورد نظر همگام‌سازی کرد. به عنوان مثال، پس از برقراری اتصال و هنگامی که تلفن یک منطقه زمانی جدید را تشخیص می‌دهد.

برخی از تلفن‌هایی که از بلوتوث کم‌مصرف (BLE) پشتیبانی می‌کنند، گزینه بازیابی زمان را از طریق مشخصه زمان فعلی GATT و مشخصات پروفایل سرویس زمان فعلی ۱.۱ ارائه می‌دهند. با این حال، این گزینه بخش بزرگی از بازار را که بتوان منحصراً به آن تکیه کرد، پوشش نمی‌دهد.

مزایا معایب
  • نیازی به اتصال به اینترنت ندارد .
  • تغییرات منطقه زمانی که توسط تلفن شناسایی می‌شوند، می‌توانند به واحد اصلی منتقل شوند.
  • اندروید به طور پیش‌فرض از این پشتیبانی نمی‌کند.
  • فقط در حالی که تلفن به واحد سر متصل است کار می‌کند.
  • زمان به اندازه آنچه تلفن ارائه می‌دهد، خوب یا بد است.
  • پیاده‌سازی پیچیده است.
  • همه تلفن‌ها از نمایه سرویس زمان فعلی BLE GATT پشتیبانی نمی‌کنند.

از منابع استفاده کنید

هر فروشنده دستگاه باید مشخص کند که چه سطح استانداردی را تعیین کند و کدام مسیرهای کاربری را حیاتی‌ترین بداند. تنها با درک روشنی از تجربیات کاربری حیاتی مورد نظر می‌توان به بهترین تصمیم رسید. در بیشتر موارد، فروشندگان باید بین راحتی و پیچیدگی پیاده‌سازی، تعادل برقرار کنند.

هر گزینه‌ای که در بالا توضیح داده شد، مزایا و معایبی دارد. به عنوان مثال، باید یک انتخاب طراحی حیاتی با توجه به میزان انعطاف‌پذیری قابل قبول، در مقایسه با نمایش ضعیف گاه به گاه زمان، و نحوه مدیریت جنبه‌های منفی آن انجام شود. یک راه‌حل کاملاً خودکار که بتوان انتظار داشت در همه سناریوها به خوبی عمل کند، باید مبتنی بر ترکیبی از چندین منبع اطلاعاتی باشد. هیچ گزینه واحدی نمی‌تواند ۱۰۰٪ در دسترس بودن را فراهم کند.

گزینه پیکربندی دستی به عنوان یک جایگزین موقت، به راحتی قابل اجرا است و در عمل می‌تواند برای بسیاری از کاربران کافی باشد.