diff --git a/package-lock.json b/package-lock.json index 797b8b2..2e4092f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "node-poweredup", - "version": "1.6.2", + "version": "1.9.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -25,6 +25,12 @@ "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==", "dev": true }, + "@types/web-bluetooth": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.4.tgz", + "integrity": "sha512-C+BgVBBGY9c6ixcc5PsKAmGaCy3bswZ5zx/AWIAik9dgFuBkFsXBA3ze69jJi05xdZQ99QkfBSVIX6zl+6Tmww==", + "dev": true + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", diff --git a/package.json b/package.json index 74fcd52..6d0cf20 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "@types/debug": "0.0.31", "@types/noble": "0.0.38", "@types/node": "^10.12.18", + "@types/web-bluetooth": "0.0.4", "ink-docstrap": "^1.3.2", "jsdoc": "^3.5.5", "jsdoc-to-markdown": "^4.0.1", diff --git a/src/bledevice.ts b/src/bledevice.ts new file mode 100644 index 0000000..2edd8ca --- /dev/null +++ b/src/bledevice.ts @@ -0,0 +1,31 @@ +import { Peripheral } from "noble"; + +import Debug = require("debug"); +const debug = Debug("bledevice"); + + +export class BLEDevice { + + + // @ts-ignore + private _noblePeripheral: Peripheral | null; + private _webBLEServer: any; + + + constructor (device: Peripheral | BluetoothRemoteGATTServer) { + if (device instanceof Peripheral) { + this._noblePeripheral = device; + } else { + this._webBLEServer = device; + } + } + + + public discoverService (uuid: string) { + if (this._peripheral instanceof BluetoothRemoteGATTServer) { + + } + } + + +} \ No newline at end of file diff --git a/webble_test.html b/webble_test.html new file mode 100644 index 0000000..4e13fb3 --- /dev/null +++ b/webble_test.html @@ -0,0 +1,73 @@ + + + +
+