Skip to content

drandreas/BleBrowser

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BleBrowser

Initial partial implementation of the Web Bluetooth spec for iOS, to get some basics working.

This builds on Paul Thierault's original implementation.

The app is fundamentally a WKWebView with a polyfill providing the javascript APIs calling through to the CoreBluetooth iOS API via a thin transaction management layer.

Supported APIs v1.0

navigator.bluetooth

  • .requestDevice(options)
    • options.acceptAllDevices = true to ask for any device
    • options.filters is a list of filters (mutually exclusive with acceptAllDevices) with properties
      • namePrefix: devices with names with this prefix will be included
      • services: list of service aliases or uuids.

BluetoothDevice

  • .id
  • .name
  • .gatt
  • .gattserverdisconnected: EventHandler

BluetoothRemoteGATTServer

  • .connected
  • .connect()
  • .disconnect()
  • .getPrimaryService(uuid)

BluetoothRemoteGATTService

  • .uuid
  • .device
  • .getCharacteristic(uuid)

BluetoothRemoteGATTCharacteristic

  • .service
  • .uuid
  • .value
  • .readValue()
  • .writeValue(value)
  • .oncharacteristicvaluechanged: EventHandler
  • .startNotifications()
  • .stopNotifications()
  • .addEventListener()
  • .removeEventListener()

Everything else is TBD!

About

iOS WebBluetooth Polyfill

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Swift 67.2%
  • JavaScript 32.8%