Skip to content

Bleno MacOS bindings using the official CoreBluetooth API

License

Notifications You must be signed in to change notification settings

privoro/bleno-mac

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bleno (Node.js Bluetooth LE) for MacOS

Build Status

The mac bindings in the bleno repository use a XPC connection and an undocumented protocol to communicate directly with the bluetooth daemon. This is error prone, as the protocol needs to be reverse engineered by sniffing the communication between a regular program which uses the official CoreBluetooth API and the bluetooth daemon. Since the protocol is not public Apple can change it at anytime (For now every new OSX release changed the protocol).

This package provides the same functionality as the regular bleno mac bindings using the official CoreBluetooth API.

System Requirements

  • Node.js v6.14.2 or later.
  • macOS 10.7 or later

Prerequisites

OS X

Usage

Simply require bleno-mac instead of bleno:

const bleno = require('bleno-mac');

On non-Mac platforms this will use the regular bleno implementation and on MacOS it will use the native binding using the official CoreBluetooth API.

Note

Be careful to not write to the Client Characteristic Configuration descriptor directly to enable notification. Use subscribe instead to enable and listen to notifications.

Implementation Status

Everything should work that also works with the regular bleno mac bindings.

About

Bleno MacOS bindings using the official CoreBluetooth API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C++ 67.5%
  • JavaScript 13.7%
  • Objective-C 12.9%
  • C++ 4.2%
  • Python 1.7%