Zamanın doğru şekilde gösterilmesi, otomotiv bilgi-eğlence sistemlerinden beklenen temel bir özelliktir. Bu durum, özellikle zaman ve saat dilimi yönetimi beklentileri düşük olduğunda ve karşılanması gerektiğinde yanıltıcı bir şekilde basit görünebilir. Ancak manuel müdahale olmadan güvenilir ve doğru bir tarih ve saatin gösterilmesi gerektiğinde zaman yönetimi hızla karmaşık bir hâl alır.
Genellikle çip üzerinde sistemlerde (SoC) kullanılan tüm gerçek zamanlı saatlerde, zamanla biriken ve düzeltilmediğinde önemli hatalara yol açabilen bir sapma bulunur. Ayrıca, yerel saatin doğru şekilde gösterilmesi beklentisi yüksek olduğundan, Eşgüdümlü Evrensel Saat'ten (UTC) doğru saat farkı dikkate alınmalıdır.
Saat dilimi bilgileri ve yaz saati uygulaması (DST), bir aracın beklenen kullanım ömrü boyunca değişebilir. Örneğin, Brezilya yaz saati uygulamasını yıllarca uyguladıktan sonra 2019'da yaz saati uygulaması programına başlamamayı tercih etti.
Android, saat dilimi kuralı yönetiminin karmaşıklıklarını çözmek için gereken altyapıyı sağlar. Ayrıntılar için Saat dilimi kuralları başlıklı makaleyi inceleyin. Bu makalede, OEM'lerin sistem güncellemesi gerektirmeden güncellenmiş saat dilimi kuralları verilerini cihazlara göndermesini sağlayan bilgiler yer almaktadır. Bu mekanizma şunlara olanak tanır:
- Kullanıcılar, zamanında güncellemeler alır (Android cihazı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 sonraki sürümler) yayınlarında sağlanan APEX tabanlı modül güncelleme mekanizmasını desteklemez.
Not: Bu mekanizmayı uygulamak için sistemin yeniden başlatılması gerekir.
Araçlardaki saat (dilimi) bilgisi kaynakları
Android cihazlar, sistem düzeyinde Unix zamanında saati yönetir, istenen saat dilimi farkını uygular ve ardından değeri kullanıcılara göstermek için yerel saate dönüştürür. Mevcut kullanıcının bölge kimliği (genellikle Olson kimliği olarak adlandırılır) ayar olarak saklanır. Örneğin, Europe/London.
Aşağıda açıklanan mekanizmanın büyük bir kısmı zaman bilgileriyle ilgilidir. Bu standartların amacı, kullanıcılara geçerli saati bildirmek, geçerli saat dilimi kurallarını açıklamak değildir. Gerçek saat dilimini belirlemek için cihaz, bölge kimliğini ayarlamadan önce ülke, fark ve yaz saati farkı gibi faktörlerden geriye doğru çalışmalıdır.
Bu süreç zorlu olabilir. Mevcut bilgilere göre geriye dönük çalışma yapmak belirsiz olabilir. Örneğin, Amerika/Denver saat dilimi YS'yi uygular ancak yaz aylarında Mountain Daylight Time (MDT) saatine geçerken Amerika/Phoenix saat dilimi 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 Eşgüdümlü Evrensel Saat (UTC), yerel saat farkı ve yaz saati bilgileriyle ilgili bilgileri içeren SystemInformationBlockType16'yı (SIB16) belirtir.
Benzer işlevler, ağ kimliği ve saat dilimi (NITZ) bilgilerinin yayınlanabildiği 2G ve 3G'de de bulunur (ayrıntılar için 3GPP TS 22.042'ye bakın). Diğer hücresel radyo standartlarında da benzer özellikler bulunur.
Maalesef çoğu standartta bu bilgilerin gönderilmesi isteğe bağlıdır. Bu nedenle, bu bilgiler tüm ağlarda evrensel olarak kullanılamaz.
| Artıları | Eksileri |
|---|---|
|
|
Ağ saati protokolü
Network Time Protocol (NTP), Unix dönemine ait nispeten hassas zaman bilgilerini almak için sıklıkla kullanılır. Android, sistem saatinin RadioManager istemcilerine RadioTuner.getParameters() genel meta verileri aracılığıyla sunulabilmesi durumunda NTP sunucusuyla senkronize edilmesini destekler. NTP, sistem saati senkronizasyon dışı kaldığında ve operatör yakın zamanda NITZ güncellemesi sağlamadığında sistem saatini günceller. Kullanıcı, NITZ kullanılamadığında AUTO_TIME özelliğini etkinleştirirse sistem hemen ağ saatini kontrol eder.
| Artıları | Eksileri |
|---|---|
|
Android tarafından desteklenen basitlik. |
|
Yayın radyo alıcısı
Saat ve saat dilimi bilgilerini almak için yerleşik bir tuner kullanmak cazip olsa da bu işlemde zorluklar vardır. Çok sayıda radyo yayını standardı, istenen bilgileri gösterme seçeneklerini tanımlar. Genel olarak, yayın radyo alıcısı, hücresel radyo ile aynı bilgileri sağlar.
ETSI EN 300 401 V1.4.1 (2006-06), bölüm 8.1, hem ses programı hem de Dijital Ses Yayıncılığı (DAB) sistemleri için veri hizmetleri hakkında ek bilgiler sağlayan hizmet bilgisi özelliklerini belirtir. Bölüm 8.1.3'te saat ve tarih biçiminin yanı sıra ülke ve yerel saat farkı bilgileri tanımlanmaktadır.
Benzer şekilde, FM alıcılarında yaygın olarak kullanılan Radyo Veri Sistemi (RDS) için EN 50067 standardının 3.1.5.6 bölümünde saat ve veri biçimi (dakikada bir kez iletilir) tanımlanır. Ayrıca, iletilen program kimliğinin bir parçası olarak genişletilmiş ülke kodu (ECC) da alınabilir.
HD Radio, İstasyon Bilgisi Hizmeti (SIS) Parametre Mesajı'ndaki (MSG ID 0111) HD Radio™ Air Interface Design Description Station Information Service Transport spesifikasyonunun bir parçası olarak ilgili seçenekleri içerir. 5. bölümde, yayının saat desteğini kullanmaya çalışırken dikkat edilmesi gereken uyarı sözleri açıkça belirtilmiştir. Aynı durum diğer sistemler için de geçerlidir:
| ... bu veriler, yayıncının bulunduğu yerdeki yerel gelenekleri açıklar. Bu gelenekler, alıcının bulunduğu yerdeki yerel geleneklerle aynı olabilir veya olmayabilir. Saat dilimi sınırlarına yakın yerlerde tüketiciler, farklı veriler sağlayan birden fazla istasyon alabilir. Bu nedenle, bu veriler yalnızca ipucu olarak sağlanır. Yorumlanması ve kullanılması, müşterinin kontrolüne tabi olarak isteğe bağlı olmalıdır. ..." |
Ayrıca, en azından HD Radyo için bu bilgilerin yayını isteğe bağlıdır ve yalnızca bu bilgilere güvenilmemelidir.
Avantajlar Dezavantajlar- Genellikle farklı bölgesel yayın radyo standartlarında kullanılabilir.
- İnternet bağlantısı gerekmez.
- Android bu özelliği kutudan çıktığı haliyle desteklemez.
- Bilgilerin güvenilir bir şekilde algılanması için radyo alıcısının (en azından ara sıra arka planda) açık olması gerekir.
-
Güvenilirlik, yayıncıya bağlıdır.
Uygulama ipuçları
Android,RadioManager istemcilerine sunulabiliyorsa sistem saatinin NTP sunucusuyla senkronize edilmesini destekler. Önerilen çözüm, tedarikçi uzantısı özelliğinden yararlanmaktır.
Bu işlevselliğin uygulanması donanım soyutlama katmanında (HAL) gerçekleşmelidir. Ardından, genel RadioTuner.getParameters() yöntemiyle RadioManager istemcilerine sunulabilir.
Çözümün sağlamlığını korumak için bu tedarikçi uzantısının tüketicisi, HAL'nin özelliği desteklediğini belirlemelidir (özelliğin var olduğu varsayılmamalıdır). getParameters çağrısı için parametre dizeleri, sağlayıcılar arasında net bir şekilde kullanılabilmesi için düzenli bir şekilde organize edilmelidir. Örneğin, kuruluşunuzun ad alanını uygun alan adıyla önekleyerek kullanabilirsiniz (ör. com.me.timezoneTuner.currenttimezone).
Bilgilerin etkinliğe dayalı yapısı göz önüne alındığında, bu bilgileri almak için RadioTuner.Callback.onParametersUpdated() geri çağırmasını kullanmak faydalı olabilir. Bu tesisin yapılandırılabilir olması gerekiyorsa setParameters üzerinde bir dizi özel rutin tasarlayın. Örneğin:
com.me.timezoneTuner.currenttimezoneEvent.enable
Küresel Navigasyon Uydu Sistemi
Küresel Navigasyon Uydu Sistemi (GNSS) tek başına yalnızca doğru zaman bilgisi ve konum sağlayabilir.
Coğrafi Konum
Bu sorunu çözmek için ters coğrafi kodlama yapın ve konuma göre arama yaparak ülkeyi ve saat dilimini belirleyin. GNSS, araçtaki konum bilgileri için açıkça en iyi (ve en kaliteli) seçenektir. Google'ın Saat Dilimi API'si, gerekli dönüşümü çalıştırmak için gereken her şeyi sunar. Elbette internet bağlantısı gereklidir. Bir online çözüm uygularken kullanıcı gizliliğini sağlamak en önemli öncelik olmalıdır. Kullanıcının veri kullanımı maliyetlerini kabul etme (veya etmeme) izni gereklidir ve bu izin istenmelidir.
Çevrimdışı kullanım için 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ı, aracın depolama alanına sığabilir. Bu ve saat dilimi (ve ülke) bilgilerini gerektiğinde güncellemek için tam olarak uygulanmış bir stratejiyle birlikte, konum alt sisteminden elde edilen GNSS konumuna göre ülke/saat dilimi ters coğrafi kodlaması yapılabilir.
| Artıları | Eksileri |
|---|---|
|
|
Bluetooth, kablosuz ağ veya USB üzerinden bağlanmış telefon
Kullanıcının telefonundan saat ve saat dilimi verileri almak için çeşitli teknolojiler kullanılabilir. Tüm telefonlarda, telefona ve araç içi bilgi-eğlence (IVI) sistemine özel bir uygulama ve yardımcı uygulamalar yüklenmelidir. Ardından, zamanı istediğiniz aralıkta senkronize edebilirsiniz. Örneğin, bağlantı kurulduktan sonra ve telefon yeni bir saat dilimi algıladığında.
Bluetooth Düşük Enerji'yi (BDE) destekleyen bazı telefonlar, GATT Current Time özelliği ve Current Time Service Profile Specification 1.1 üzerinden saati alma seçeneği sunar. Ancak bu seçenek, yalnızca kendisine güvenilecek kadar büyük bir pazar segmentine hitap etmez.
| Artıları | Eksileri |
|---|---|
|
|
Kaynakları kullanma
Her cihaz tedarikçisi, hangi kullanıcı yolculuklarını en kritik olarak değerlendireceğini ve ne kadar yüksek bir standart belirleyeceğini belirlemelidir. En iyi karara ancak istenen kritik kullanıcı deneyimleri net bir şekilde anlaşıldığında varılabilir. Çoğu durumda, satıcılar kolaylık ile uygulama karmaşıklığı arasındaki dengeyi göz önünde bulundurmalıdır.
Yukarıda açıklanan her seçeneğin avantajları ve dezavantajları vardır. Örneğin, ara sıra kötü zaman gösterimine kıyasla ne kadar esnekliğin kabul edilebilir olduğu ve dezavantajların nasıl yönetileceği konusunda kritik bir tasarım seçimi yapılmalıdır. Tüm senaryolarda iyi çalışması beklenen ancak çeşitli bilgi kaynaklarının bir kombinasyonuna dayanması gereken tamamen otomatik bir çözüm. Hiçbir seçenek% 100 kullanılabilirlik sağlayamaz.
Geçici yedek olarak manuel yapılandırma seçeneğinin uygulanması kolaydır ve pratikte birçok kullanıcı için yeterli olabilir.