npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

cordova-plugin-dzble

v1.0.3

Published

general ble interface

Downloads

6

Readme

cordova-plugin-dzble

安装插件

cordova plugin cordova-plugin-dzble

使用插件

安装完插件后,直接通过全局变量 dzBle 即可调用插件所提供的 BLE 相关方法。

// eg: 搜索打印机列表
dzBle.startBleDeviceDiscovery((resp) => {
  if (resp.status === 0) {
    console.log("搜索BLE设备启动成功!");
  } else if (resp.status === 2) {
    console.log("BLE设备搜索完毕!");
  } else if (resp.status > 2) {
    console.log("搜索BLE设备启动失败!");
  }
});

插件接口介绍

export interface BleDevice {
    /**
     * 设备名称
     */
    name: string;
    /**
     * 设备ID
     */
    deviceId: string;
    /**
     * 设备信号强度
     */
    rssi: number;
}
export interface IBleConnectResult {
    /**
     * mac地址;
     */
    deviceId: string;
    /**
     * 链接状态,
     * 0:连接成功;
     * 1:链接失败;
     * 2:链接断开;
     */
    status: number;
}
export interface IBleDiscoveryResult {
    /**
     * 搜索到的蓝牙设备列表。
     */
    devices?: BleDevice[];
    /**
     * 0 start scan;
     * 1 scanning;
     * 2 scanFinish,
     * 3 failed
     */
    status: number;
}
export interface IBleGattCharacter {
    /**
     * 特征值读写特性。
     */
    properties: string;
    /**
     * 特征值UUID。
     */
    uuid: string;
}
export interface IReadBleResults {
    deviceId: string;
    serviceId: string;
    characteristicId: string;
    /**
     * 读取结果状态码:
     * 0:读取成功;
     * 1:读取失败;
     */
    status: number;
    /**
     * 读取到的十六进制字符串;
     */
    value: string;
}
export interface IWriteBleResults {
    deviceId: string;
    serviceId: string;
    characteristicId: string;
    /**
     * 写入状态:
     * 0:写入成功;
     * 其他:写入失败;
     */
    status: number;
}
export interface INotifyBleResults {
    deviceId: string;
    serviceId: string;
    characteristicId: string;
    /**
     * notify通道侦听状态:
     * 0:启用成功;
     * 1:启用失败;
     * 2:侦测到数据;
     */
    status: number;
    /**
     * 侦测到的十六进制字符串数据;
     */
    value: string;
}
export declare class BLEAdapter {
    private static _instance?;
    static getInstance(): BLEAdapter;
    constructor();
    /**
     * 请求蓝牙设备权限
     *
     * @param {(resp: {status: number, message?: string}) => void} callback 请求回调函数。
     *
     * @param {number} callback.resp.status  响应状态码:
     *          0:请求成功;
     *          1:请求失败;
     * @param {string|undefined} callback.resp.message 如果请求失败,则表示失败的权限名称;
     */
    requestBluetoothAuth(callback: (resp: {
        status: number;
        message?: string;
    }) => void): void;
    /**
     * 搜索蓝牙设备列表
     *
     * @param {(resp: IBleDiscoveryResult) => void} callback 搜索结果回调函数;
     *
     * @param {IBleDiscoveryResult} callback.resp 回调参数;
     * @param {number} callback.resp.status 响应状态码:
     *      0:蓝牙搜索开启成功,开始搜索蓝牙设备
     *      1:搜索到蓝牙设备;
     *      2:蓝牙搜索结束;
     *      3:蓝牙搜索开启失败;
     * @param {BleDevice} callback.resp.devices 搜索到的蓝牙设备列表;
     */
    startBleDeviceDiscovery(callback: (resp: IBleDiscoveryResult) => void): void;
    /**
     * 停止蓝牙搜索操作。
     *
     * @param {(success: boolean) => void} callback 停止搜索回调接口。
     * @param {boolean} callback.success 停止成功与否。
     */
    stopBleDeviceDiscovery(callback: (success: boolean) => void): void;
    /**
     * 链接目标蓝牙设备。
     *
     * @param {{
     *      deviceId: string;
     *      success?: (resp: IBleConnectResult) => void;
     *      fail?: (resp: IBleConnectResult) => void;
     *      complete?: (resp: IBleConnectResult) => void;
     * }} options 创建蓝牙链接。
     *
     * @param {string} options.deviceId 蓝牙设备ID;
     * @param {IBleConnectResult} options.success 链接成功回调函数;
     * @param {IBleConnectResult} options.fail 链接失败回调函数;
     * @param {IBleConnectResult} options.complete 链接成功或失败时的回调函数;
     *
     * 回调参数:
     * @param {string} resp.deviceId 响应设备ID;
     * @param {number} resp:status 蓝牙链接响应状态码:
     *      0:连接成功;
     *      1:链接失败;
     *      2:链接断开;
     */
    createBLEConnection(options: {
        deviceId: string;
        success?: (resp: IBleConnectResult) => void;
        fail?: (resp: IBleConnectResult) => void;
        complete?: (resp: IBleConnectResult) => void;
    }): void;
    /**
     * 断开蓝牙链接。
     *
     * @param {
     *      deviceId: string;
     * } options 断开蓝牙链接请求参数;
     * @param {string} options.deviceId 目标蓝牙设备ID;
     */
    closeBLEConnection(options: {
        deviceId: string;
    }): void;
    /**
     * 获取蓝牙服务列表。
     *
     * @param {{
     *      deviceId: string;
     *      fail?: () => void;
     *      success?: (resp: string[]) => void;
     *      complete?: (resp: string[]) => void;
     * }} options 获取蓝牙服务列表。
     *
     * @param {string} options.deviceId 请求的设备ID;
     * @param {() => void} options.fail 请求失败回调函数;
     * @param {(resp: string[]) => void} options.success 请求成功回调函数;
     * @param {(resp: string[]) => void} options.complete 请求成功或失败回调函数;
     */
    getBLEDeviceServices(options: {
        deviceId: string;
        fail?: () => void;
        success?: (resp: string[]) => void;
        complete?: (resp: string[]) => void;
    }): void;
    /**
     * 获取蓝牙特征值列表。
     *
     * @param {{
     *      deviceId: string;
     *      serviceId: string;
     *      fail?: () => void;
     *      success?: (resp: IBleGattCharacter[]) => void;
     *      complete?: (resp: IBleGattCharacter[]) => void;
     * }} options 特征值请求参数。
     * @param {string} options.deviceId 请求设备ID;
     * @param {string} options.serviceId 请求的服务ID;
     * @param {() => void} options.fail 请求成功回调函数;
     * @param {(resp: IBleGattCharacter[]) => void} options.success 请求成功回调函数;
     * @param {(resp: IBleGattCharacter[]) => void} options.complete 请求成功或失败的回调函数;
     */
    getCharacteristicList(options: {
        deviceId: string;
        serviceId: string;
        fail?: () => void;
        success?: (resp: IBleGattCharacter[]) => void;
        complete?: (resp: IBleGattCharacter[]) => void;
    }): void;
    /**
     * 读取蓝牙设备数据。
     *
     * @param {{
     *      deviceId: string;
     *      serviceId: string;
     *      characteristicId: string;
     *      fail?: (resp: IReadBleResults) => void;
     *      success?: (resp: IReadBleResults) => void;
     *      complete?: (resp: IReadBleResults) => void;
     * }} options 蓝牙数据读取配置信息。
     * @param {string} options.deviceId 目标蓝牙设备ID;
     * @param {string} options.serviceId 目标蓝牙服务ID;
     * @param {string} options.characteristicId 目标蓝牙特征值ID;
     * @param {(resp: IReadBleResults) => void} options.fail 数据读取失败回调函数;
     * @param {(resp: IReadBleResults) => void} options.success 数据读取失败回调函数;
     * @param {(resp: IReadBleResults) => void} options.complete 数据读取失败回调函数;
     *
     * 蓝牙读取响应参数:
     * @param {number} resp.status 响应状态码:
     *      0:蓝牙数据读取成功;
     *      1:蓝牙数据读取失败;
     * @param {string} resp.value 读取到的蓝牙数据十六进制字符串,eg: ffffffff;
     */
    readBle(options: {
        deviceId: string;
        serviceId: string;
        characteristicId: string;
        fail?: (resp: IReadBleResults) => void;
        success?: (resp: IReadBleResults) => void;
        complete?: (resp: IReadBleResults) => void;
    }): void;
    /**
     * 写入数据到蓝牙设备
     *
     * @param {*} options 写入蓝牙配置信息;
     * @param {string} options.deviceId 目标设备ID;
     * @param {string} options.serviceId 目标服务ID;
     * @param {string} options.characteristicId 目标特征值ID;
     * @param {string} options.value 写入数据的十六进制字符串;
     * @param {boolean} options.withResponse
     * @param {(resp: IWriteBleResults) => void} options.fail 数据写入失败时的回调函数;
     * @param {(resp: IWriteBleResults) => void} options.success 数据写入成功时的回调函数;
     * @param {(resp: IWriteBleResults) => void} options.complete 数据写入成功或者失败是的回调眼熟;
     *
     * 回调参数介绍:
     * @param {number} resp.status 写入响应状态信息:
     *      0:表示成功;
     *      其他:表示失败;
     */
    writeBle(options: {
        deviceId: string;
        serviceId: string;
        characteristicId: string;
        value: string;
        withResponse?: boolean;
        success?: (resp: IWriteBleResults) => void;
        fail?: (resp: IWriteBleResults) => void;
        complete?: (resp: IWriteBleResults) => void;
    }): void;
    /**
     * 启动蓝牙侦听模式
     * @param {*} options 蓝牙通知通道数据侦听相关配置参数。
     * @param {string} options.deviceId 目标设备ID;
     * @param {string} options.serviceId 目标服务ID;
     * @param {string} options.characteristicId 目标特征值ID;
     * @param {(resp: INotifyBleResults) => void} options.success 蓝牙侦听成功回调函数;
     * @param {(resp: INotifyBleResults) => void} options.fail 蓝牙侦听失败回调函数;
     * @param {(resp: INotifyBleResults) => void} options.complete 蓝牙侦听成功或失败时的回调函数;
     *
     * 回调参数介绍:
     * @param {number} resp.status 回调状态:
     *      0:表示启动成功;
     *      1:表示侦听失败;
     *      2:表示检测到数据变化,可以通过 value 来获取数据;
     * @param {string} resp.value 接收到的十六进制字符串数据;
     */
    notifyBle(options: {
        deviceId: string;
        serviceId: string;
        characteristicId: string;
        success?: (data: INotifyBleResults) => void;
        fail?: (data: INotifyBleResults) => void;
        complete?: (data: INotifyBleResults) => void;
    }): void;
    /**
     * 协商MTU大小。
     *
     * @param options 协商MTU相关配置参数。
     * @param {string} options.deviceId 目标设备ID;
     * @param {number} options.mtu 待协商的目标MTU大小;
     * @param {(resp) => void} options.success 请求成功回调函数;
     * @param {(resp) => void} options.fail 请求成功回调函数;
     * @param {(resp) => void} options.complete 请求成功或失败时的回调函数;
     *
     * 请求回调参数介绍:
     * @param {number} resp.status 响应状态码:
     *      0:协商成功;
     *      1:协商失败;
     * @param {number} resp.mtu 协商后的MTU大小。
     */
    setMtu(options: {
        deviceId: string;
        mtu: number;
        success?: (resp: {
            status: number;
            mtu: number;
        }) => void;
        fail?: (resp: {
            status: number;
            mtu?: number;
        }) => void;
        complete?: (resp: {
            status: number;
            mtu?: number;
        }) => void;
    }): void;
}
export declare const instance: BLEAdapter;
//# sourceMappingURL=BLEAdapter.d.ts.map