Saat dilimi seçenekleri

Zamanın doğru görüntülenmesi, bir otomotiv bilgi-eğlence sisteminden beklenen temel bir özelliktir. Bu, özellikle saat ve saat dilimi yönetimine ilişkin beklentilerin düşük olduğu ve karşılanması gereken durumlarda aldatıcı derecede basit görünse de, manuel müdahale olmadan güvenilir ve doğru bir tarih ve saatin görüntülenmesi gerektiğinde zaman hızla karmaşık hale gelir.

Tipik olarak çip üzerinde sistemde (SoC) kullanılan tüm gerçek zamanlı saatler, zaman içinde biriken ve düzeltilmeden bırakıldığında önemli hatalara yol açabilen bir miktar sapma içerir. Ayrıca, yerel saatin doğru görüntülenmesine ilişkin beklentiler yüksek olduğundan, Koordineli Evrensel Saat'ten (UTC) doğru sapmanın dikkate alınması gerekir.

Saat dilimi bilgilerinin yanı sıra Yaz Saati Uygulaması (DST) uygulamasının bir aracın beklenen ömrü boyunca değişmesi beklenebilir. Örneğin, Brezilya uzun yıllar DST uyguladıktan sonra 2019'da DST programını başlatmamayı seçti.

Android, saat dilimi kuralı yönetiminin zorluklarını aşmak için gereken altyapıyı sağlar. Ayrıntılar için OEM'lerin güncellenmiş saat dilimi kuralları verilerini sistem güncellemesi gerektirmeden cihazlara göndermesine olanak tanıyan Saat dilimi kuralları bölümüne bakın. Bu mekanizma şunları sağlar:

  • Kullanıcıların zamanında güncellemeleri alması (bu, bir Android cihazının kullanım ömrünü uzatır).
  • OEM'ler, saat dilimi güncellemelerini sistem görüntüsü güncellemelerinden bağımsız olarak test edebilir.

Not: AAOS 10, Android 10 (ve üzeri) sürümlerinde sağlanan APEX tabanlı modül güncelleme mekanizmasını desteklemez.

Not: Bu mekanizmayı uygulamak için sistemin yeniden başlatılması gerekir.

Arabalarda saat (bölge) bilgisi kaynakları

Android aygıtları, zamanı sistem düzeyinde Unix saatinde yönetir, istenen saat dilimi farkını uygular ve ardından değeri kullanıcılara gösterilmek üzere yerel saate dönüştürür. Geçerli kullanıcının bölge kimliği (genellikle Olson Kimliği olarak anılır) bir ayar olarak saklanır. Örneğin, Avrupa/Londra .

Aşağıda özetlenen mekanizmanın çoğu zaman bilgisini açıklamaktadır. Bu standartların amacı, geçerli saat dilimi kurallarını açıklamak değil, kullanıcılara güncel saati sağlamaktır. Gerçek saat dilimini belirlemek için cihazın, bölge kimliğini ayarlamadan önce ülke, fark ve DST farkı gibi faktörlerden yola çıkarak çalışması gerekir.

Süreç zorlu olabilir. Mevcut bilgilere dayanarak geriye doğru çalışmak belirsiz olabilir. Örneğin, Amerika/Denver saat dilimi kuralı DST'yi gözlemler ancak yaz aylarında Dağ Yaz Saati'ni (MDT) benimser, Amerika/Phoenix ise MDT'yi tanımaya devam eder.

Hücresel radyo

Sistem bilgisi (SI), baz istasyonu (BS) tarafından yayın kontrol kanalı (BCCH) üzerinden iletilen Uzun Süreli Evrim (LTE) hava arayüzünün önemli bir yönüdür. 3GPP TS 36.331, GPS ve Koordineli Evrensel Zaman (UTC), yerel saat farkı ve ayrıca DST bilgileri ile ilgili bilgileri içeren SystemInformationBlockType16'yı (SIB16) belirtir.

Benzer işlevler, ağ kimliği ve zaman dilimi (NITZ) bilgilerinin yayınlanabildiği 2G ve 3G'de de bulunabilir (ayrıntılar için bkz. 3GPP TS 22.042). Diğer hücresel radyo standartları da eşdeğer özelliklere sahiptir.

Ne yazık ki çoğu standart arasındaki ortak nokta, bu bilgilerin gönderilmesinin isteğe bağlı olmasıdır, dolayısıyla tüm ağlarda evrensel olarak mevcut değildir.

Artıları Eksileri
  • Mevcut olduğunda istenen bilgilerin çoğunu sağlar.
  • Basitlik, hücresel radyo yalnızca bir veri modemi olarak değil, bir telefon olarak kullanıma sunulduğunda Android tarafından zaten desteklenmektedir.
  • İnternet bağlantısı gerektirmez .
  • Bilgilerin yayınlandığı veya baz istasyonunun düzgün şekilde yapılandırıldığı garanti edilmez.

  • Sınır bölgelerinde, komşu bir ülkeden (gezici) bir baz istasyonu alma ve potansiyel olarak yanlış saat dilimini aktarma riski vardır.

  • Bazı yerlerde güncellemelerin gerçekleşmesi saatler, hatta günler gerektirebilir.

Ağ zaman protokolü

Ağ Zaman Protokolü (NTP), nispeten kesin Unix dönem zamanı bilgilerini elde etmek için sıklıkla kullanılır. Android, genel RadioTuner.getParameters() meta verileri aracılığıyla RadioManager istemcilerine sunulabiliyorsa, sistem zamanının bir NTP sunucusununkiyle senkronizasyonunu destekler. NTP, senkronizasyon dışı kaldığında ve operatör yakın zamanda bir NITZ güncellemesi sağlamadığında sistem saatini günceller. NITZ mevcut olmadığında kullanıcı AUTO_TIME etkinleştirirse sistem hemen ağ saatini kontrol eder.

Artıları Eksileri

Android tarafından desteklenen basitlik.

  • Eksik, NTP yalnızca bir gerekli değeri (zaman) sağlar. En iyi senaryoda bile NTP saat dilimini sağlayamaz.

  • İnternet bağlantısı gerektirir.

Yayın radyo alıcısı

Saat ve saat dilimi bilgilerini almak için yerleşik ayarlayıcıdan yararlanmak çekici olsa da bazı zorluklar da beraberinde getiriyor. Çok sayıda radyo yayın standardı, istenen bilginin ifşa edilmesine yönelik seçenekleri tanımlar. Genel olarak konuşursak, yayın yapan bir radyo alıcısı, hücresel radyoyla aynı bilgileri sağlar.

ETSI EN 300 401 V1.4.1 (2006-06), bölüm 8.1, Dijital Ses Yayını (DAB) sistemleri için hem ses programı hem de veri hizmetleri hakkında tamamlayıcı bilgiler sağlayan hizmet bilgileri özelliklerini belirtir. Bölüm 8.1.3'te saat ve tarih formatının yanı sıra ülke ve yerel saat farkı bilgileri de tanımlanmaktadır.

Benzer şekilde, FM tunerlerde yaygın olarak uygulanan Radyo Veri Sistemi (RDS) için, EN 50067 standardının 3.1.5.6 bölümü, saat zamanı ve veri formatını (dakikada bir kez aktarılır) tanımlar. Ayrıca, iletilen program tanımlamasının bir parçası olarak genişletilmiş ülke kodu (ECC) da alınabilir.

HD Radyo , İstasyon Bilgi Hizmeti (SIS) Parametre Mesajındaki (MSG ID 0111) HD Radyo™ Hava Arayüzü Tasarımı Açıklama İstasyon Bilgi Hizmeti Taşıma spesifikasyonunun bir parçası olarak ilgili seçenekleri içerir. Bölüm 5, yayının saat desteğini kullanmaya çalışırken dikkate alınması gereken uyarıcı kelimeleri açıkça belirtmektedir. Aynı bilgelik diğer sistemler için de aynı şekilde geçerlidir:

... bu veriler, yayıncının bulunduğu yerdeki yerel geleneği tanımlar; bu, alıcının bulunduğu yerdeki yerel gelenekle aynı olabilir veya olmayabilir. Zaman dilimi sınırlarının yakınında tüketiciler, farklı veriler sağlayan çok sayıda istasyon alabilir. Bu nedenle, bu veriler yalnızca ipucu olarak sağlanmaktadır; bunların yorumlanması ve kullanılması isteğe bağlı ve müşterinin kontrolüne tabi olmalıdır. ... "

Ayrıca, en azından HD Radyo için bu bilgilerin yayınlanması isteğe bağlıdır ve yalnızca buna güvenilmemelidir.

Artıları Eksileri
  • Tipik olarak farklı bölgesel yayın radyo standartlarında mevcuttur.
  • İnternet bağlantısı gerektirmez .
  • Android bunu kutudan çıktığı haliyle desteklemiyor.
  • Bilginin güvenilir bir şekilde algılanması için ayarlayıcının (en azından ara sıra arka planda) açılması gerekir.
  • Güvenilirlik yayıncıya bağlıdır.

Uygulama ipuçları

Android, RadioManager istemcilerine sunulabiliyorsa, sistem zamanının bir NTP sunucusununkiyle senkronizasyonunu destekler. Önerilen çözüm satıcı uzantısı özelliğinden yararlanmaktır. Bu işlevselliğin uygulanması, donanım soyutlama katmanında (HAL) gerçekleşmelidir; bundan sonra, genel RadioTuner.getParameters() yöntemi aracılığıyla RadioManager istemcilerine sunulabilir.

Çözümün sağlam kalması için, bu satıcı uzantısının tüketicisinin HAL'ın özelliği desteklediğini belirlemesi gerekir (varlığını varsaymayın). getParameters çağrısına ilişkin parametre dizeleri, satıcılar arasında net kullanım için temiz bir şekilde organize edilmelidir. Örneğin, kuruluşunuzun ad alanını uygun etki alanıyla önek ekleyerek kullanmak, örneğin com.me.timezoneTuner.currenttimezone .

Bilginin olaya dayalı doğası göz önüne alındığında, bu bilgiyi almak için RadioTuner.Callback.onParametersUpdated() geri aramasını kullanmak faydalı olabilir. Bu tesisin yapılandırılabilir olması gerekiyorsa setParameters üstünde bir dizi özel rutin tasarlayın. Örneğin:

com.me.timezoneTuner.currenttimezoneEvent.enable

Küresel Navigasyon Uydu Sistemi (GNSS) tek başına yalnızca doğru zaman bilgisi ve konumu sağlayabilir.

Coğrafi konum

Bu sıkıntının çözümü ters coğrafi kodlama yaparak konuma göre arama yaparak ülke ve saat dilimini belirlemektir. GNSS, bir araçtaki konum bilgisinin bariz (ve en kaliteli) seçimidir. Google'ın Saat Dilimi API'si gerekli dönüşümü gerçekleştirmek için gereken her şeyi sunar. Elbette internet bağlantısı şart. Çevrimiçi bir çözümü uygularken kullanıcı gizliliğinin sağlanması en önemli öncelik olmalıdır! Kullanıcının veri kullanım maliyetlerini kabul etme (veya etmeme) izni gereklidir ve talep edilmelidir.

Çevrimdışı kullanıma uygun bir çözüm oluşturmak mümkündür. Ülkeyi ve saat dilimini doğru bir şekilde belirlemek için yeterli çözünürlüğe sahip yerel bir harita veritabanı, bir aracın hafızasına sığabilir. Bu ve zaman dilimi (ve ülke) bilgilerinin gerektiği gibi güncellenmesine yönelik tam olarak uygulanan bir strateji ile, Konum alt sisteminden elde edilen GNSS konumuna dayalı olarak ülke/saat diliminin coğrafi kodlaması ters yapılabilir.

Artıları Eksileri
  • Doğru saat dilimini açıkça belirleyebilir.
  • İnternet bağlantısı gerektirmez (yerel DB durumunda).
  • Çoğu sürüş senaryosunda güvenilir şekilde çalışır.
  • Android bunu kutudan çıktığı haliyle desteklemiyor.
  • Araç, ilk yapılandırma sırasında iyi GNSS uydu alımının mümkün olmadığı kapalı bir alanda/kapalı bir alandaysa, doğru saat, konum ve saat dilimi bilgisini almak mümkün değildir.
  • Yerel veritabanının bir güncelleme mekanizmasına ihtiyacı vardır.
  • Uygulama karmaşıklığı.

Telefon Bluetooth, Wi-Fi veya USB aracılığıyla bağlandı

Saat ve saat dilimi verilerini elde etmek amacıyla kullanıcının telefonundan yararlanmak için çeşitli teknolojiler kullanılabilir. Tüm telefonlar için, telefona ve Araç İçi Bilgi ve Eğlence (IVI) sistemine bir çift özel uygulama ve yardımcı uygulama yüklenmelidir. Daha sonra zamanı istenilen aralıkta senkronize etmek mümkündür. Örneğin, bağlantı kurulduğunda ve telefon yeni bir saat dilimini algıladığında.

Bluetooth Düşük Enerjiyi (BLE) destekleyen bazı telefonlar , GATT Güncel Saat karakteristiği ve Güncel Zaman Hizmet Profili Spesifikasyonu 1.1 aracılığıyla zamanı alma seçeneğini sunar. Ancak bu seçenek, yalnızca güvenilecek kadar geniş bir pazar segmentine yönelik değildir.

Artıları Eksileri
  • İnternet bağlantısı gerektirmez .
  • Telefon tarafından tespit edilen saat dilimi değişiklikleri ana üniteye aktarılabilir.
  • Android bunu kutudan çıktığı haliyle desteklemiyor.
  • Yalnızca telefon ana üniteye bağlıyken çalışır.
  • Zaman, telefonun sağladığı kadar iyi ya da kötüdür.
  • Uygulama karmaşıktır.
  • Tüm telefonlar BLE GATT Güncel Zamanlı Hizmet profilini desteklemez.

Kaynakları kullan

Her cihaz satıcısı, çıtanın ne kadar yükseğe ayarlanacağını ve hangi kullanıcı yolculuğunun en kritik olarak değerlendirileceğini belirlemelidir. En iyi karara ancak istenen kritik kullanıcı deneyimlerinin net bir şekilde anlaşılmasıyla ulaşılabilir. Çoğu durumda, satıcıların kolaylık ve uygulama karmaşıklığı arasındaki dengeyi göz önünde bulundurması gerekir.

Yukarıda açıklanan her seçeneğin avantajları ve dezavantajları vardır. Örneğin, zaman zaman yaşanan zayıf zaman gösterimiyle karşılaştırıldığında ne kadar esnekliğin kabul edilebilir olduğu ve olumsuzlukların nasıl yönetileceği konusunda kritik bir tasarım seçimi yapılmalıdır. Tüm senaryolarda iyi çalışması beklenebilecek tam otomatik bir çözüm, çeşitli bilgi kaynaklarının birleşimine dayanmalıdır. Hiçbir seçenek tek başına %100 kullanılabilirlik sağlayamaz.

Geçici bir geri dönüş olarak manuel yapılandırma seçeneğinin yürütülmesi kolaydır ve pratikte birçok kullanıcı için yeterli olabilir.