sgdesmet / bleat

Abstraction library for hiding differences in JavaScript BLE APIs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bleat


Circle CI Bower npm Licence MIT

Use Web Bluetooth in Node.js!

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:

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.

About

Abstraction library for hiding differences in JavaScript BLE APIs

License:MIT License


Languages

Language:JavaScript 100.0%