Skip to content
forked from hgwood/winble

Noble bindings for the Universal Windows Platform

License

Notifications You must be signed in to change notification settings

ELundby45/winble

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Winble

Noble bindings for the Universal Windows Platform

This module is EXPERIMENTAL.

Noble is a project that enables programming Bluetooth 4 (aka Low Energy) devices using Node.js. Unfortunatly, running it on Windows is not easy. Winble is an attempt to make Noble capable of leveraging the native Universal Windows Platform Bluetooth stack. This makes it compatible with any Windows 10 devices, from PCs to phones and Windows IoT devices.

In order to access the UWP APIs, Winble must be run using Node.js Chakra, which is the fork of Node.js where V8 is replaced by ChakraCore, the JavaScript engine from the Edge browser.

How to use

Install all the things

  • Install Node.js Chakra. You can find the latest release here. Make sure to get Node.js with Chakra and not the Node.js Tools for Windows IoT (see here).
  • npm install those from Node.js Chakra prompt:
    • node-uwp
    • noble
    • winble (this module, not published on npm yet but you can install the repo: npm i hgwood/winble)

Tell Noble to use Winble (noble >= 1.4.0)

To get an instance of Noble that uses Winble under the hood, do this:

const noble = require('noble/with-bindings')(require('winble'))

Then use Noble as usual.

Edit Noble (noble < 1.4.0)

Noble <1.4.0 is not extensible without modifiying its source code. Noble selects which bindings to use based on the environment. See here. After installing Noble, replace this section of code by bindings = require('winble'). You can then use Noble as intended.

Limitations

Winble implements only a small part of the Noble API, but it should be enough to play around with Bluetooth devices. I've used it to program a Sphero BB-8. You can connect to the device, then list services and characteristics, and read and write to and from characteristics. Note that devices need to be paired using Windows before you can connect to them through winble.

Changelog

  • 1.0.1
    • package.json/readme update
  • 1.0.0
    • initial release

About

Noble bindings for the Universal Windows Platform

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%