Options
All
  • Public
  • Public/Protected
  • All
Menu

WebBle 走的是标准的 WebBluetooth API 接口

需要注意的是,目前只有部分浏览器支持(具体的点击上面的链接查看)

另外,当前 Worker 无法使用 Webbluetooth API 后面我们会做一个中转器解决这个问题

Hierarchy

Index

Constructors

constructor

Properties

Protected autoGetCharacteristics

autoGetCharacteristics: boolean = true

connectStatus

connectStatus: EConnectStatus = EConnectStatus.Disconnected

连接状态 是一个枚举类型

 enum EConnectStatus {
Connected = 0,
Disconnected = 1,
Connecting = 2,
Disconnecting = 3,
ConnectFail = 4,
DisconnectFail = 5,
}

Readonly deviceType

deviceType: DeviceType

硬件协议的设备类型,会在 DeviceConnection 实例化的时候被注入

Readonly eventbus

硬件协议的事件 bus,会在 DeviceConnection 实例化的时候被注入

Protected Readonly filters

filters: BluetoothLEScanFilter[]

Protected Optional Readonly optionalServices

optionalServices?: BluetoothServiceUUID[]

Static DEFAULT_QUEUE_INTERVAL

DEFAULT_QUEUE_INTERVAL: number = 150

Accessors

Protected characteristics

device

  • get device(): undefined | BluetoothDevice
  • 获取当前连接的蓝牙对象:BluetoothDevice

    Returns undefined | BluetoothDevice

queue

  • get queue(): undefined | DataQueue<BleQueueData>
  • 获取当前队列,蓝牙会默认打开队列

    Returns undefined | DataQueue<BleQueueData>

serviceUUIDs

  • get serviceUUIDs(): BluetoothServiceUUID[]
  • 获取所有的 service UUID,是一个数组

    Returns BluetoothServiceUUID[]

Methods

afterConnect

  • afterConnect(): Promise<void>

beforeDestroy

  • beforeDestroy(): Promise<void>

Protected bleAfterConnect

  • bleAfterConnect(server: BluetoothRemoteGATTServer, characteristics: BleCharacteristicsMap): Promise<void>
  • 该方法覆写了 {@link CommonBleHardwareDevice.bleAfterConnect} 但实际上标准的 Webbluetooth 不需要做什么,如果你有需要可以重写该方法

    virtual
    overwrite

    Parameters

    Returns Promise<void>

Protected bleBeforeConnect

Protected bleConnect

  • bleConnect(bleDevice: BluetoothDevice): Promise<void>

Protected clearRequestQueue

  • clearRequestQueue(): void

connect

destroy

  • destroy(): Promise<void>

disconnect

  • disconnect(): Promise<void>

isConnected

  • isConnected(): boolean

onData

Protected processWithTimeout

  • processWithTimeout<R>(fn: () => Promise<R>, time: number, errMsg?: string, debugMsg?: string): Promise<R>
  • 这是封装好的一个处理超时问题的函数,提供给子类使用

    Type parameters

    • R

    Parameters

    • fn: () => Promise<R>

      async 异步函数

        • (): Promise<R>
        • Returns Promise<R>

    • time: number

      timeout的时间

    • Optional errMsg: string

      错误信息

    • Optional debugMsg: string

      调试信息

    Returns Promise<R>

    返回一个 Promise

send

  • send(data: Buffer, isTopPriority?: boolean): boolean
  • 默认的发送指令

    这里会去调用默认的 WriteCharacteristic

    Parameters

    • data: Buffer

      蓝牙数据,默认是 Buffer 类型数据

    • isTopPriority: boolean = false

      是否高优先级

    Returns boolean

Protected sendWithCharacteristic

  • sendWithCharacteristic(characteristic: BluetoothRemoteGATTCharacteristic, data: Buffer, isTopPriority?: boolean): boolean
  • 蓝牙由于有多个 Characteristic,因此如果不是默认的,可以使用这个指定的来发送

    Parameters

    • characteristic: BluetoothRemoteGATTCharacteristic

      需要制定写的 Characteristic

    • data: Buffer

      蓝牙数据,Buffer 类型数据

    • isTopPriority: boolean = false

      是否高优先级

    Returns boolean

Generated using TypeDoc