bleat
Version:
Abstraction library following Web Bluetooth specification for hiding differences in JavaScript BLE APIs
104 lines (72 loc) • 3.29 kB
Markdown

___
[](https://circleci.com/gh/thegecko/bleat)
[](http://bower.io/search/?q=bleat)
[](https://www.npmjs.com/package/bleat)
[](http://opensource.org/licenses/MIT)
This library has been deprecated in favour of [webbluetooth](https://www.npmjs.com/package/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](api_web-bluetooth.md) specification developed for use in browsers
* The [Classic API](api_classic.md), 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](https://github.com/umdjs/umd) specification, so should work with CommonJS (such as [node.js](https://nodejs.org/)), AMD (such as [RequireJS](http://requirejs.org/)) 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:
```node
var bleat = require('bleat').classic;
```
-or-
```node
var bleat = require('bleat').webbluetooth;
```
### AMD (RequireJS)
To use bleat with [RequireJS](http://requirejs.org/), set the ```requirejs.config``` to load your API of choice as ```bleat``` and add a dependency on your adapter of choice:
```js
requirejs.config({
baseUrl: 'path/to/bleat',
paths: {
bleat: 'api.classic',
adapter: 'adapter.evothings'
},
shim: {
bleat: {
deps: ['adapter']
}
}
});
```
You can then use bleat as follows:
```js
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:
```html
<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:
```html
<script src="path/to/web-bluetooth.evothings.min.js"></script>
```
A global object ```root.bleat``` will then be available to use.