Sensörler

Android Sensörler HAL simgesi

Android sensörleri, uygulamalara mobil cihazın temel fiziksel sensörlerine erişim sağlar. Bunlar, sensör donanım soyutlama katmanı (HAL) olan sensors.h tarafından tanımlanan veri sağlayan sanal cihazlardır.

Android sensörleri nedir?

Android sensörleri, bir dizi fiziksel sensörden (ivme ölçerler, jiroskoplar, manyetometreler, barometre, nem, basınç, ışık, yakınlık ve nabız sensörleri) gelen verileri sağlayan sanal cihazlardır.

Veri sağlayan fiziksel cihazlar listesine kamera, parmak izi sensörü, mikrofon ve dokunmatik ekran dahil değildir. Bu cihazların kendi raporlama mekanizmaları vardır. Ayrım keyfidir ancak genel olarak Android sensörleri daha düşük bant genişliği verileri sağlar. Örneğin, bir ivmeölçer için "100 Hz x 3 kanal", kamera için "25 Hz x 8 MP x 3 kanal" veya mikrofon için "44 kHz x 1 kanal".

Android, farklı fiziksel sensörlerin çip üzerinde sisteme (SoC) nasıl bağlandığını tanımlamaz.

  • Sensör çipleri genellikle bir sensör merkezi aracılığıyla SoC'ye bağlanır. Bu sayede, verilerin düşük güçle izlenmesi ve işlenmesi sağlanır.
  • Taşıma mekanizması olarak genellikle Entegre Devreler Arası Bağlantı (I2C) veya Seri Çevresel Arabirim (SPI) kullanılır.
  • Güç tüketimini azaltmak için bazı mimariler hiyerarşiktir. Bu mimarilerde, uygulamaya özel entegre devrede (ASIC - ivme ölçer çipindeki hareket algılama gibi) minimum düzeyde işlem yapılır ve daha fazla işlem mikrodenetleyicide (sensör merkezindeki adım algılama gibi) gerçekleştirilir.
  • Doğruluk, güç, fiyat ve paket boyutu özelliklerine göre bir mimari seçmek cihaz üreticisine bağlıdır. Daha fazla bilgi için Sensör grubu bölümüne bakın.
  • Gruplandırma özellikleri, güç optimizasyonu için dikkate alınması gereken önemli bir unsurdur. Daha fazla bilgi için Gruplandırma bölümüne bakın.

Her Android sensörünün, sensörün nasıl davrandığını ve hangi verileri sağladığını temsil eden bir "türü" vardır.

  • Resmi Android sensör türleri, sensors.h dosyasında SENSOR_TYPE_… adlarıyla tanımlanır.
    • Sensörlerin büyük bir çoğunluğu resmi bir sensör türüne sahiptir.
    • Bu türler Android SDK'sında açıklanmıştır.
    • Bu türlere sahip sensörlerin davranışı Android Uyumluluk Testi Paketi'nde (CTS) test edilir.
  • Bir üretici, Android cihaza yeni bir tür sensör entegre ederse bu sensörü belirtmek için kendi geçici türünü tanımlayabilir.
    • Bu türlerin dokümanları olmadığından uygulama geliştiricileri bu türleri bilmedikleri veya nadiren kullanıldıklarını bildikleri (yalnızca bu belirli üreticinin bazı cihazlarında) için kullanmaları olası değildir.
    • Bu cihazlar CTS tarafından test edilmez.
    • Android bu tür sensörler için resmi bir sensör türü tanımladığında, üreticiler kendi geçici türlerini kullanmayı bırakıp bunun yerine resmi türü kullanmalıdır. Bu sayede sensör daha fazla uygulama geliştiricisi tarafından kullanılacaktır.
  • Cihazdaki tüm sensörlerin listesi HAL uygulaması tarafından bildirilir.
    • Aynı türde birden fazla sensör olabilir. Örneğin, iki yakınlık sensörü veya iki ivme ölçer.
    • Uygulamaların büyük çoğunluğu, belirli bir türde yalnızca tek bir sensör ister. Örneğin, varsayılan ivmeölçeri isteyen bir uygulama listedeki ilk ivmeölçeri alır.
    • Sensörler genellikle uyandırma ve uyandırmama çiftleriyle tanımlanır. Bu çiftlerdeki sensörler aynı türü paylaşır ancak uyandırma özelliklerine göre farklılık gösterir.

Android sensörleri, verileri bir dizi sensör etkinliği olarak sağlar.

Her etkinlik şunu içerir:

Bildirilen verilerin yorumlanması sensör türüne bağlıdır. Her sensör türü için hangi verilerin raporlandığıyla ilgili ayrıntılar için sensör türü tanımlarına bakın.

Mevcut dokümanlar

Geliştiricileri hedefliyor

Üreticilere yöneliktir.