Yarından sonraki günün işlevselliği: Genel Sensör API’si



  1. Yarından sonraki günün işlevselliği: Genel Sensör API’si

Sensör bilgilerinin dahil edilmesi de web uygulaması geliştirmede giderek daha önemli hale geliyor.


Son yıllarda, W3C’de Cihaz Oryantasyon API’si, Coğrafi Konum API’si, Yakınlık Olayı API’si veya ortam ışığının Sensör API’si gibi belirli sensör türlerine arabirimleri açıklayan çeşitli spesifikasyonlar birikmiştir.

Giriş


Ne yazık ki, bahsedilen API’ler ortak bir arayüz açıklamasına dayanmamaktadır, bu nedenle kullanım API’den API’ye değişmektedir. Cihaz ve Sensörler Çalışma Grubu tarafından yakın zamanda bir çalışma taslağı olarak yayınlanan Genel Sensör API’sinin devreye girdiği yer burasıdır: her tür sensör için tek tip, genel bir arayüz tanımlamayı amaçlar.

arayüzler


Bu amaçla, Genel Sensör API’si aşağıdaki arayüzleri tanımlar:

  • sensör: Bir sensörü temsil eder ve diğer sensör API’lerinin türetilmiş arabirimleri tanımladığı temel arabirimi temsil eder (örneğin Ortam ışığı sensörü).
  • Sensör Seçenekleri: kesinlikle bir arayüz değil, bir sensör için konfigürasyonları temsil eden bir konfigürasyon nesnesi. Varsayılan olarak, şu anda yalnızca özellik mevcuttur frekanslar sağlanan, sensör için okuma oranını gösterir. Yine, türetilmiş API’ler diğer yapılandırma parametrelerini eklemekte serbesttir.
  • Sensör Okuma: sensör tarafından o anda okunan değerleri temsil eder. Bu arabirimde erişilecek özellik zaman damgası değerlerin okunduğu zamanı gösterir. Sensör tipine bağlı olarak, türetilmiş arayüzler başka özellikleri tanımlayacaktır (örn. Ortam ışığı sensörü okuması mülkiyet ile aydınlatma).
  • Sensör okuma olayı: sensör değerleri okunurken tetiklenen bir olayı temsil eder.
  • Sensör hatası olayı: Bir sensör okunurken bir hata oluştuğunda tetiklenen bir olayı temsil eder.
Arayüz, bir sensör üzerinde okuma işlemlerini başlatmak ve durdurmak için kullanılır. sensör metodlar Başlangıç() Ve Durmak() bertaraf etmek. Genel olarak, bir sensör yaşam döngüsü boyunca “boşta”, “etkinleştiriliyor”, “etkin” ve “hata” durumlarından birini alabilir (mevcut durum özelliktedir). belirtmek, bildirmek yatırıldı). Olay işleyici bilgileri onstatechange olay işleyici aracılığıyla durum değişikliklerine tepki verebilir hata hatalarda ve olay işleyici aracılığıyla değişim hakkında sensör değerlerindeki değişiklikler için. Bunlar, özellik aracılığıyla sensör nesnesinde bulunur. okuma veya içinde depolanan türün nesnesi Sensör Okuma yatırıldı.


Örnek: ortam ışığının ölçülmesi


Ortam Işığı Sensörü API’si, bahsedilen API’lerden halihazırda Genel Sensör API’sine dayalı olan tek API’dir. İki arabirimi tanımlar Ortam ışığı sensörü Ve Ortam ışığı sensörü okumasıgenel arayüzlere karşılık gelen sensör sırasıyla Sensör Okuma türetme Aşağıdaki liste, API’nin kullanımına ilişkin bir örneği göstermektedir (ancak, API şu anda yalnızca Firefox tarafından desteklenmektedir).

let sensor = new AmbientLightSensor();
sensor.onchange = (event) => {
console.log(event.reading.illuminance);
};
sensor.onerror = (event) => {
console.error(event.error.name, event.error.message);
};
sensor.start();
Örnek: Bir terminal cihazının yönünün ölçülmesi


Bir cihazın oryantasyonu hakkındaki bilgilere erişimi tanımlayan Device Orientation API, şu anda Genel Sensör API’sine dayalı değildir. Bir uç aygıtın yönünü belirlemek için, şu şekilde devam edilir ve aygıt için bir olay dinleyicisi oluşturulur. cihaz yönü-Kayıt olayı:

window.addEventListener('deviceorientation', (event) => {
console.log(event.alpha);
console.log(event.beta);
console.log(event.gamma);
}, true);

Bu API, gelecekte Genel Sensör API’sini temel alacak olsaydı, aşağıdaki şekilde kullanılırdı:

let sensorOptions = { /* Hier sensorspezifische Optionen */ };
let sensor = new DeviceOrientationSensor(sensorOptions);
sensor.onchange = (event) => {
// Sensorspezifische Werte
let reading = event.reading;
console.log(reading.alpha);
console.log(reading.beta);
console.log(reading.gamma);
}
sensor.onerror = (event) => {
console.error(event.error.name, event.error.message);
}
sensor.onstatechange = (state) => {
console.log(state);
}
sensor.start();
// Später: sensor.stop();
Çözüm


Genel Sensör API’si, sensörlerle çalışmak için genel bir arabirim tanımlar. Şu anda onunla birlikte gelen tek API, Ortam Işığı Sensörü API’sidir. Proximity Events API gibi diğerleri gelecekte buna göre uyarlanacaktır. Mevcut durum ve W3C Çalışma Grubu Yol Haritası https://www.w3.org/2009/dap/ adresinde görüntülenebilir.


()



Haberin Sonu
 
Üst