bleat
v0.1.9
Published
Abstraction library following Web Bluetooth specification for hiding differences in JavaScript BLE APIs
Downloads
103
Maintainers
Readme
This library has been deprecated in favour of webbluetooth.
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.
APIs
Bleat has 2 APIs:
- The Extended Web Bluetooth API specification developed for use in browsers
- The Classic API, originally developed for this project
Installation
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
Usage
The bluetooth.helpers.js
file contains general helper objects and functions.
The api.<api>.js
files each offer a BLE API.
The adapter.<platform>.js
files each represent an adapter targetting a specific BLE engine, the adapter-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 the UMDJS specification, so should work with CommonJS (such as node.js), AMD (such as RequireJS) and plain JavaScript projects.
Refer to the example_<adapter>_<api>
files and folders for simple examples of how to use each combination.
CommonJS (node.js)
Simply require it up, specifying the api you wish to use:
var bleat = require('bleat').classic;
-or-
var bleat = require('bleat').webbluetooth;
AMD (RequireJS)
To use bleat with RequireJS, set the requirejs.config
to load your API of choice as bleat
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
});
Plain JavaScript (globals)
Include the bluetooth.helpers.js
file, then the bleat api file you wish to use and finally the adapter file you wish to use:
<script src="path/to/bluetooth.helpers.js"></script>
<script src="path/to/api.classic.js"></script>
<script src="path/to/adapter.evothings.js"></script>
Alternatively, you can just include the minified file which contains the API and adapter you wish to use:
<script src="path/to/web-bluetooth.evothings.min.js"></script>
A global object root.bleat
will then be available to use.