Yarının Özellikleri: Web Bluetooth API



  1. Yarının Özellikleri: Web Bluetooth API

Bluetooth konusu, web geliştirme alanı için de giderek daha ilginç hale geliyor. Mobil uygulamaların (yerel veya hibrit) diğer cihazlara Bluetooth aracılığıyla (örneğin, kullanıcı için şeffaf kalan PhoneGap eklentileri yoluyla) erişmesi için zaten çok sayıda seçenek olsa da, bu yalnızca eklentiler aracılığıyla tarayıcının içinden mümkündür. Kullanıcının kendisinin kurması gereken (ör. Brulee SDK). Bluetooth Web API’si bunu düzeltmeyi amaçlamaktadır.


Yaklaşık bir ay önce W3C, daha doğrusu Web Bluetooth Topluluğu Grubu, Web Bluetooth API’sinin ilk taslağını yayınladı. Bununla birlikte, gelecekte web uygulamalarının Bluetooth aracılığıyla diğer cihazlara bağlanabilmesi ve buna göre kontrol edebilmesi veya bu cihazlardan bilgi okuyabilmesi mümkün olacaktır.



Bluetooth Web API şu anda herhangi bir tarayıcı tarafından resmi olarak desteklenmemektedir, ancak Chrome şu anda aşağıda işaretlenmiş deneysel bir özellik sunmaktadır. krom://bayraklar/ Aktif.

arayüzler


API, aşağıdakiler de dahil olmak üzere çeşitli arayüzleri tanımlar (genel olarak Bluetooth’a ve özel olarak BLE, Bluetooth Low Energy’ye giriş için, Adafruit web sitesinde çok güzel bir makale var).

  • Bluetooth: API’ye giriş noktasını oluşturur ve tarafından yönetilir gezgin.bluetooth uygulandı.
  • Bluetooth cihazı: Bir Bluetooth cihazını temsil eder.
  • Bluetooth Reklam Verileri: “Reklam Verilerini”, yani Bluetooth cihazının gönderdiği ve cihazlar taranırken mevcut olan verileri temsil eder.
  • BluetoothUzakGATT Sunucusu: (uzak) bir Bluetooth aygıtındaki Genel Öznitelik Profili (GATT) sunucusunu temsil eder.
  • BluetoothUzakGATT Hizmeti: GATT sunucusu tarafından Bluetooth cihazında sağlanan bir hizmeti temsil eder.
  • Bluetooth Uzaktan GATT Özelliği: Bir hizmet aracılığıyla kullanıma sunulan ve Bluetooth cihaz bilgilerinden belirlenebilen bir özelliği temsil eder.
  • BluetoothRemoteGATTÖzellikler: Bir özelliğin özelliklerini temsil eder.
  • BluetoothRemoteGATTTanımlayıcı: Bir özelliğin değeri hakkında bilgi sağlayan bir nesneyi temsil eder.
  • BluetoothUUID: Adlarına dayalı hizmetler ve özellikler gibi UUID’leri belirlemek için kullanılabilecek çeşitli yöntemlerle bir nesneyi temsil eder.
gezgin
Bluetooth


Cihazları arayın ve cihaz bilgilerine erişin


Bluetooth cihazlarını aramak için aşağıdaki listede gösterilen yöntemi çağırın. istek cihazı() üzerinde Bluetooth-İtiraz et. Bu yöntem, parametre olarak, tarama sırasında hangi cihazların dikkate alınması gerektiğini sınırlamak için filtreler kullanmanın mümkün olduğu bir yapılandırma nesnesi (RequestDeviceOptions türünde) sağlar (listede, örneğin yalnızca ” örnek_hizmet ” hizmeti).


yöntem istek cihazı() çoğu API yöntemi gibi döner söz vermeknesne, kodu nispeten düzenli ve okunabilir bırakır. hatırlamasında o zamanlar()yöntem daha sonra bir tür nesne elde edersiniz Bluetooth cihazı ve ilgili cihaz hakkında çeşitli genel bilgilere erişmek için kullanabilir.

'use strict';
let options = {filters: [{
services: ['example_service'],
}]};
navigator.bluetooth
.requestDevice(options)
.then(device => {
.then(device => {
console.log('Name: ' + device.name);
console.log('Id: ' + device.id);
console.log('Device Class: ' + device.deviceClass);
console.log('Vendor Id Source: ' + device.vendorIDSource);
console.log('Vendor Id: ' + device.vendorID);
console.log('Product Id: ' + device.productID);
console.log('Product Version: ' + device.productVersion);
if (device.adData) {
console.log('Tx Power: ' + device.adData.txPower + ' dBm');
console.log('RSSI: ' + device.adData.rssi + ' dBm');
}
})
.catch(error => {
console.error(error);
});
Hizmetlere ve Özelliklere Erişim


Bir Bluetooth cihazından bilgilere erişmek için aşağıdaki temel adımlar izlenir:

  1. Bluetooth cihazı aranıyor
  2. Bluetooth cihazına bağlanma
  3. Hizmete Erişim
  4. Özellik erişimi
  5. Özellik için saklanan verilere erişim
Bu beş adıma benzer şekilde, ilgili arayüzleri karşılık gelen yöntemleri sağlar:

  1. Bluetooth –> istek cihazı()
  2. BluetoothUzakGATT Sunucusu –> Bağlamak()
  3. BluetoothUzakGATT Sunucusu –> getPrimaryService(), getPrimaryServices()
  4. BluetoothUzakGATT Hizmeti –> getFeatures(), getFeatures()
  5. Bluetooth Uzaktan GATT Özelliği –> değer oku()
Bu yöntemleri kullanarak özellik verilerine erişmek için eşdeğer kod aşağıdaki gibidir:

'use strict';
let options = {filters: [{
services: ['example_service'],
}]};
navigator.bluetooth
// 1.) Scannen nach dem Bluetoot-Gerät
.requestDevice(options)
// 2.) Verbinden zu dem Bluetooth-Gerät
.then(device => {
return device.gatt.connect();
})
// 3.) Zugriff auf den Service
.then(server => {
return server.getPrimaryService('example_service');
})
// 4.) Zugriff auf die Charakteristik
.then(service => {
return service.getCharacteristic('example_service');
})
// 5.) Zugriff auf die der Charakteristik hinterlegten Daten
.then(characteristic => {
return characteristic.readValue();
})
.then(value => {
// Zugriff auf Wert
})
.catch(error => {
console.error(error);
});

Diğer Bluetooth kitaplıkları, PhoneGap eklentileri vb. İle karşılaştırıldığında, bence bu oldukça iyi görünüyor.

Çözüm


Bluetooth Web API, Bluetooth cihazlarına erişimi standartlaştırmayı ve tarayıcıda yerel olarak kullanılabilir hale getirmeyi amaçlar. Şu anda, API’yi deneysel modda etkinleştirmek için bir bayrağı olan Chrome dışında herhangi bir tarayıcı tarafından desteklenmemektedir. Web Bluetooth Topluluk Grubu, konuyla ilgili sorunları GitHub’da toplar.


()



Haberin Sonu
 
Üst