Zamanın doğru gösterilmesi, otomotiv bilgi-eğlence sisteminden beklenen temel özelliklerden biridir. Bu, özellikle saat ve saat dilimi yönetimiyle ilgili beklentiler düşük olduğunda ve karşılanması gerektiğinde aldatıcı bir şekilde basit görünebilir. Ancak manuel müdahale olmadan güvenilir bir şekilde doğru tarih ve saatin gösterilmesi gerektiğinde zaman yönetimi hızla karmaşık hale gelir.
Genellikle çip üzerinde sistemde (SoC) kullanılan tüm gerçek zamanlı saatler, zaman içinde biriken ve düzeltilmediği takdirde önemli hatalara yol açabilecek bir miktar kayma içerir. Ayrıca, yerel saatin doğru şekilde gösterilmesi beklendiğinden, Koordineli Evrensel Zaman'a (UTC) göre doğru saat farkı dikkate alınmalıdır.
Saat dilimi bilgilerinin ve yaz saati uygulamasının, bir aracın kullanım ömrü boyunca değişebileceğini unutmayın. Örneğin, yaz saatini uzun yıllar uygulayan Brezilya, 2019'da yaz saati programını başlatmamayı tercih etti.
Android, saat dilimi kuralı yönetiminin karmaşıklıklarını yönetmek için gereken altyapıyı sağlar. Ayrıntılar için OEM'lerin sistem güncellemesi gerekmeden güncellenmiş saat dilimi kuralları verilerini cihazlara göndermesini sağlayan Saat dilimi kuralları başlıklı makaleyi inceleyin. Bu mekanizma sayesinde:
- Kullanıcıların zamanında güncelleme almasını (Android cihazın kullanım süresini uzatan) sağlar.
- 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) sürümlerinde sağlanan APEX tabanlı modül güncelleme mekanizmasını desteklemez.
Not: Bu mekanizmanın uygulanması için sistemin yeniden başlatılması gerekir.
Araçlardaki saat (bölge) bilgi kaynakları
Android cihazlar, saati sistem düzeyinde Unix saatinde yönetir, istenen saat dilimi farkına uygular ve ardından değeri kullanıcılara gösterilecek şekilde 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 depolanır. Örneğin, Avrupa/Londra.
Aşağıda açıklanan mekanizmanın büyük kısmı zaman bilgilerini açıklar. Bu standartların amacı, geçerli saat dilimi kurallarını açıklamak değil, kullanıcılara mevcut saati göstermektir. Cihaz, gerçek saat dilimini belirlemek için bölge kimliğini ayarlamadan önce ülke, ofset ve yaz saati ofseti gibi faktörleri dikkate almalıdır.
Bu süreç zor olabilir. Mevcut bilgilere dayalı olarak geriye dönük çalışma belirsiz olabilir. Örneğin, Amerika/Denver saat dilimi kuralı YS'yi gözlemler ancak yaz aylarında Dağ Yaz Saati'ne (MDT) geçer. Amerika/Phoenix ise MDT'yi kullanmaya devam eder.
Hücresel radyo
Sistem bilgileri (SI), baz istasyonu (BS) tarafından yayın kontrol kanalı (BCCH) üzerinden aktarılan Long-Term Evolution (LTE) hava arayüzünün önemli bir parçasıdır. 3GPP TS 36.331, GPS ve Eşgüdümlü Evrensel Zaman (UTC), yerel saat farkı ve yaz saati bilgileriyle ilgili bilgileri içeren SystemInformationBlockType16'ı (SIB16) belirtir.
Benzer işlevler, ağ kimliği ve saat dilimi (NITZ) bilgilerinin yayınlanabildiği 2G ve 3G'de de kullanılabilir (Ayrıntılar için 3GPP TS 22.042'ye bakın). Diğer hücresel radyo standartları da eşdeğer özelliklere sahiptir.
Maalesef çoğu standartta bu bilgilerin gönderilmesi isteğe bağlıdır. Bu nedenle, tüm ağlarda kullanılamaz.
Artıları | Eksileri |
---|---|
|
|
Ağ saati protokolü
Ağ Zaman Protokolü (NTP), genellikle nispeten hassas Unix çağ zaman bilgileri elde etmek için kullanılır. Android, sistem saatinin bir NTP sunucusunun saatiyle senkronize edilmesini destekler. Bunun için, genel RadioTuner.getParameters()
meta verileri aracılığıyla RadioManager
istemcilerine gösterilmesi gerekir. NTP, senkronizasyondan çıktığında ve bir operatör kısa süre önce NITZ güncellemesi sağlamadığında sistem saatini günceller. Kullanıcı, NITZ kullanılamadığında AUTO_TIME
'ü etkinleştirirse sistem hemen ağ saatini kontrol eder.
Artıları | Eksileri |
---|---|
Android tarafından desteklenen basitlik. |
|
Yayın radyosu tuner
Saat ve saat dilimi bilgilerini almak için yerleşik bir tuner kullanmak cazip olsa da bu işlemde bazı zorluklar vardır. İstenilen bilgileri göstermek için birçok radyo yayını standardı vardır. Genel olarak, yayın radyosu tuner'ı, hücresel radyoyla aynı bilgileri sağlar.
ETSI EN 300 401 V1.4.1 (2006-06), bölüm 8.1, hem dijital ses yayını (DAB) sistemleri için ses programı hem de veri hizmetleri hakkında ek bilgi sağlayan hizmet bilgileri özelliklerini belirtir. 8.1.3 numaralı bölümde, saat ve tarih biçiminin yanı sıra ülke ve yerel saat farkı bilgileri tanımlanmaktadır.
Benzer şekilde, FM tuner'larda yaygın olarak uygulanan Radyo Veri Sistemi (RDS) için EN 50067 standardının 3.1.5.6 numaralı bölümü, saat ve veri biçimini (dakikada bir kez yayınlanır) tanımlar. Ayrıca, iletilen program tanımlaması kapsamında genişletilmiş ülke kodu (ECC) de alınabilir.
HD Radyo, İstasyon Bilgileri Hizmeti (SIS) Parametre Mesajındaki (MSG kimliği 0111) HD Radyo™ Hava Arayüzü Tasarım Açıklaması İstasyon Bilgileri Hizmeti Aktarım spesifikasyonunun bir parçası olarak ilgili seçenekleri içerir. 5. Bölümde, yayının saat desteğini kullanmaya çalışırken dikkate alınması gereken uyarılar açıkça belirtilmiştir. Aynı durum diğer sistemler için de geçerlidir:
... bu veriler, yayıncının bulunduğu konumdaki yerel geleneği tanımlar. Bu gelenek, alıcının bulunduğu konumdaki yerel gelenekle aynı olabilir veya olmayabilir. Saat 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ğlanır. Bu verilerin yorumlanması ve kullanılması, müşterinin kontrolüne tabi olarak isteğe bağlı olarak yapılmalıdır. ..." |
Ayrıca, en azından HD Radyo için bu bilgilerin yayınlanması isteğe bağlıdır ve yalnızca bu bilgilere güvenilmemelidir.
Avantajlar Dezavantajlar- Genellikle farklı bölgesel yayın radyosu standartlarında kullanılabilir.
- İnternet bağlantısı gerektirmez.
- Android bu özelliği kutudan çıktığı haliyle desteklemez.
- Bilgileri güvenilir bir şekilde algılamak için tuner'ın açık (en azından arka planda ara sıra) olması gerekir.
-
Güvenilirlik yayıncıya bağlıdır.
Uygulamayla ilgili ipuçları
Android,RadioManager
istemcilerine gösterilebiliyorsa sistem saatinin bir NTP sunucusunun saatiyle senkronize edilmesini destekler. Önerilen çözüm, tedarikçi firma uzantısı özelliğinden yararlanmaktır.
Bu işlevin uygulanması, donanım soyutlama katmanında (HAL) yapılmalıdır. Ardından, genel RadioTuner.getParameters()
yöntemi aracılığıyla RadioManager
istemcilerine gösterilebilir.
Çözümün sağlam kalması için bu tedarikçi firma uzantısının tüketicisinin, HAL'in özelliği desteklediğini belirlemesi gerekir (varlığını varsaymayın). getParameters
çağrısı için parametre dizeleri, sağlayıcılar arasında net bir şekilde kullanılabilmesi için düzgün bir şekilde düzenlenmelidir. Örneğin, kuruluşunuzun ad alanını uygun bir alan ekleyerek (ör. com.me.timezoneTuner.currenttimezone
) kullanabilirsiniz.
Bilgilerin etkinlik odaklı yapısı göz önüne alındığında, bu bilgileri almak için RadioTuner.Callback.onParametersUpdated()
geri çağırma işlevini kullanmak yararlı olabilir. Bu tesis yapılandırılabilir durumdaysa setParameters
'ün üzerine bir dizi özel rutin tasarlayın. Örnek:
com.me.timezoneTuner.currenttimezoneEvent.enable
Küresel Navigasyon Uydu Sistemi
Küresel Navigasyon Uydu Sistemi (GNSS) tek başına yalnızca doğru saat bilgisi ve konum bilgisi sağlayabilir.
Coğrafi konum
Bu sorunun çözümü, ters coğrafi kodlama yapmak ve konuma göre arama yaparak ülkeyi ve saat dilimini belirlemektir. GNSS, bir araçta konum bilgisi için 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. Online bir çö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 reddetme) izni gereklidir ve istenmelidir.
Çevrimdışı kullanım için uygun bir çözüm oluşturmak mümkündür. Ülkeyi ve saat dilimini doğru bir şekilde belirleyecek 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ği gibi güncellemek için tam olarak uygulanmış bir stratejiyle, konum alt sisteminden elde edilen GNSS konumuna göre ülkeyi/saat dilimini ters coğrafi kodlayabilirsiniz.
Artıları | Eksileri |
---|---|
|
|
Telefon Bluetooth, kablosuz ağ veya USB üzerinden bağlı olmalıdır.
Saat ve saat dilimi verilerini almak için kullanıcının telefonundan yararlanmak üzere çeşitli teknolojiler kullanılabilir. Tüm telefonlarda, telefona ve araç içi bilgi-eğlence (IVI) sistemine bir çift özel uygulama ve tamamlayıcı uygulama yüklenmesi gerekir. Ardından, saati 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 Mevcut Zaman özelliği ve Mevcut Zaman Hizmet Profili Spesifikasyonu 1.1 aracılığıyla saati alma seçeneği sunar. Ancak bu seçenek, yalnızca bu yönteme güvenmek için yeterli büyüklükte bir pazar segmentini ele almıyor.
Artıları | Eksileri |
---|---|
|
|
Kaynakları kullanma
Her cihaz tedarikçisi, ne kadar yüksek bir çıta belirleyeceğini ve hangi kullanıcı yolculuklarını en önemli olarak kabul edeceğini belirlemelidir. En iyi karara ancak istenen kritik kullanıcı deneyimleri net bir şekilde anlaşıldığında varılabilir. Çoğu durumda tedarikçiler, 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, zaman zaman kötü zaman görüntülemeyle karşılaştırıldığında ne kadar esnekliğin kabul edilebilir olduğu ve olumsuz yönlerin nasıl yönetileceği konusunda kritik bir tasarım seçimi yapılmalıdır. Tüm senaryolarda iyi çalışacağı beklenen ancak çeşitli bilgi kaynaklarının bir kombinasyonuna dayalı olması 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ği kolayca uygulanabilir ve pratikte birçok kullanıcı için yeterli olabilir.