JavaScript ile BLE Cihazına Bağlanma ve Özellik Okuma
Bu makalede, JavaScript kullanarak Bluetooth Düşük Enerji (BLE) cihazlarına nasıl bağlanacağınızı ve cihaz özelliklerini nasıl okuyacağınızı adım adım öğreneceksiniz. BLE teknolojisi, kablosuz iletişim için düşük güç tüketimi sağlayan ve akıllı ev cihazları, sağlık takip cihazları ve daha birçok alanda kullanılan popüler bir seçenektir.
BLE’nin Temelleri
BLE, kablosuz iletişim için düşük güç tüketimi sağlayan bir standarttır. BLE cihazları, cihazlar arasındaki veri alışverişini sağlayan küçük paketler olan özelliklere sahip küçük miktarlarda veri iletebilirler. BLE’nin temel avantajları arasında düşük güç tüketimi, düşük maliyet ve geniş uygulama alanı bulunur. BLE cihazları, akıllı telefonlar, tabletler ve bilgisayarlar gibi diğer cihazlarla kablosuz iletişim kurmak için kullanılabilmektedir.
JavaScript ile BLE Cihazına Bağlanma
Web Bluetooth API’si, JavaScript’in BLE cihazlarıyla etkileşim kurmasını sağlar. Bu API, BLE cihazlarını bulmanıza, bağlanmanıza, özelliklerini okuyup yazmanıza ve bildirimlere abone olmanıza olanak tanır.
1. Cihazın Bulunması
İlk adım, BLE cihazlarını bulmaktır. Bu, **navigator.bluetooth.requestDevice()** yöntemini kullanarak gerçekleştirilir. Bu yöntem, kullanıcıya bağlanılacak cihazın seçilmesini sağlayan bir istem açar. Cihaz seçildiğinde, cihazın bir referansı döndürülür.
“`html
“`
Bu örnekte, **’your_service_uuid’**, cihazın sunduğu hizmetin UUID’sidir. Bu UUID’yi cihazın belgelerinden veya bir BLE tarayıcı uygulaması kullanarak bulabilirsiniz.
2. Cihaza Bağlanma
Cihazı bulduktan sonra, cihazla bağlantı kurmanız gerekir. Bu, **device.gatt.connect()** yöntemini kullanarak gerçekleştirilir. Bu yöntem, cihazla bağlantı kurar ve bağlantı nesnesini döndürür.
“`html
// Cihaza bağlanma
await device.gatt.connect();
“`
3. Özellik Okuma
Cihaza bağlandıktan sonra, cihazın özelliklerini okuyabilirsiniz. Bir özelliği okumak için, önce özellik nesnesini elde etmeniz gerekir. Bu, **device.gatt.getPrimaryService()** ve **service.getCharacteristic()** yöntemlerini kullanarak gerçekleştirilir.
“`html
// Cihazın birincil hizmetini alma
const service = await device.gatt.getPrimaryService(‘your_service_uuid’);
// Özelliği alma
const characteristic = await service.getCharacteristic(‘your_characteristic_uuid’);
// Özelliği okuma
const value = await characteristic.readValue();
“`
Bu örnekte, **’your_characteristic_uuid’**, okumak istediğiniz özelliğin UUID’sidir. Bu UUID’yi cihazın belgelerinden veya bir BLE tarayıcı uygulaması kullanarak bulabilirsiniz.
Özellik okunduğunda, **value** değişkeninde bir **ArrayBuffer** olarak depolanır. Bu verileri deşifre etmek ve kullanmak için, **TextDecoder** sınıfını kullanabilirsiniz:
“`html
// Özellik verilerini bir metin dizesine dönüştürme
const decoder = new TextDecoder(‘utf-8’);
const textValue = decoder.decode(value);
console.log(‘Özellik değeri:’, textValue);
“`
Örnek Uygulama
Aşağıda, bir BLE cihazına bağlanma ve bir özelliği okuma konusunda basit bir JavaScript uygulaması örneği verilmiştir.
“`html
BLE Cihazına Bağlanma
“`
Bu uygulama, BLE cihazlarını bulmanıza, cihaza bağlanmanıza ve bir özelliği okuyarak sonucu ekrana yazdırmanıza olanak tanır. Uygulamayı kullanmadan önce, **’your_service_uuid’** ve **’your_characteristic_uuid’** değerlerini cihazın belgelerinden veya bir BLE tarayıcı uygulaması kullanarak doğru şekilde ayarlayın.
Sonuç
Bu makale, JavaScript kullanarak BLE cihazlarına bağlanma ve özellik okuma konusunda bir rehber sunmuştur. Web Bluetooth API’si, web uygulamaları aracılığıyla BLE cihazlarına bağlanmak ve onlarla etkileşim kurmak için güçlü bir araçtır. Bu API, akıllı ev cihazları, sağlık takip cihazları, oyunlar ve daha birçok alanda yenilikçi uygulamalar geliştirmek için kullanılabilir.
Bu makalede bahsedilen teknikler hakkında daha fazla bilgi edinmek için [Web Bluetooth API dokümantasyonuna](https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API) göz atabilirsiniz. BLE hakkında daha fazla bilgi edinmek için [Fatih Soysal’ın web sitesini](https://fatihsoysal.com) ziyaret edebilirsiniz.
#Etiketler
#BLE #JavaScript #WebBluetoothAPI #CihazBağlantısı #ÖzellikOkuma #BluetoothDüşükEnerji #Kablosuzİletişim #Programlama #Geliştirme