Awesome
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.