GithubHelp home page GithubHelp logo

phoscur / bleat Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thegecko/bleat

0.0 1.0 0.0 365 KB

Abstraction library for hiding differences in JavaScript BLE APIs

License: MIT License

JavaScript 100.00%

bleat's Introduction

bleat


Circle CI Bower npm Licence MIT

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.

bleat's People

Contributors

ojford avatar sgdesmet avatar thegecko avatar urish avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.