- Notifications
You must be signed in to change notification settings - Fork13
Abstraction library for hiding differences in JavaScript BLE APIs
License
thegecko/bleat
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This library has been deprecated in favour ofwebbluetooth.
Please upgrade your Node.js applications accordingly. Evothings users should continue to use bleat as a legacy library.
Bleat (Bluetooth Low Energy Abstraction Tool) provides a simplified BLE layer which uses adapters to abstract the usage of BLE in JavaScript on different platforms.
Bleat has 2 APIs:
- TheExtended Web Bluetooth API specification developed for use in browsers
- TheClassic API, originally developed for this project
To install the library, either clone or copy the files to your project or use a package manager:
$ npm install bleat
-or-
$ bower install bleat
Thebluetooth.helpers.js
file contains general helper objects and functions.
Theapi.<api>.js
files each offer a BLE API.
Theadapter.<platform>.js
files each represent an adapter targetting a specific BLE engine, theadapter-template.js
file is an empty template to ease creation of a new adapter.
The<api>.<adapter>.min.js
files are minified versions of the BLE APIs including the helpers and a single adapter.
Files follow theUMDJS specification, so should work with CommonJS (such asnode.js), AMD (such asRequireJS) and plain JavaScript projects.
Refer to theexample_<adapter>_<api>
files and folders for simple examples of how to use each combination.
Simply require it up, specifying the api you wish to use:
varbleat=require('bleat').classic;
-or-
varbleat=require('bleat').webbluetooth;
To use bleat withRequireJS, set therequirejs.config
to load your API of choice asbleat
and add a dependency on your adapter of choice:
requirejs.config({baseUrl:'path/to/bleat',paths:{bleat:'api.classic',adapter:'adapter.evothings'},shim:{bleat:{deps:['adapter']}}});
You can then use bleat as follows:
require(['bleat'],function(bleat){// Use bleat here});
Include thebluetooth.helpers.js
file, then the bleat api file you wish to use and finally the adapter file you wish to use:
<scriptsrc="path/to/bluetooth.helpers.js"></script><scriptsrc="path/to/api.classic.js"></script><scriptsrc="path/to/adapter.evothings.js"></script>
Alternatively, you can just include the minified file which contains the API and adapter you wish to use:
<scriptsrc="path/to/web-bluetooth.evothings.min.js"></script>
A global objectroot.bleat
will then be available to use.
About
Abstraction library for hiding differences in JavaScript BLE APIs