npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@iotize/noble-uwp

v1.0.0

Published

Noble (Node.js Bluetooth LE) with Windows 10 UWP bindings

Downloads

316

Readme

Noble (Node.js Bluetooth LE) for Windows 10

So far, noble has required an alternate Bluetooth driver on Windows, due to lack of good BLE support in the Windows Bluetooth stack. But the Windows 10 Creators Update has finally improved the BLE support. This project is an implementation of bindings for noble using that newly available functionality in Windows 10.

System Requirements

  • Node.js v6 or later.
  • Windows 10 build 10.0.15063 or later
  • Windows 10 SDK build 10.0.15063

Usage

Simply require noble-uwp instead of noble:

const noble = require('noble-uwp');

Then use it in the same way as the regular noble. On non-Windows platforms, the benavior is unchanged from noble, while on Windows the UWP bindings are used instead of noble's Bluetooth HCI bindings.

Building for electron

Currently using electron-rebuild does not work. In order to build this module for electron it has to be rebuilt using the following command:

npm rebuild --runtime=electron --target=1.7.1 --arch=x64 --rebuild --disturl=https://atom.io/download/electron --build_from_source=true

adjust the target version to the version of electron you are running (1.7.1 works for electron 1.7.0 and up)

Testing

So far, testing has been done with a TI SensorTag.

First, make sure you have the necessary prerequisites for building Node.js native modules. Then, make sure a SensorTag is powered on (light is blinking) and within range, and use the following commands to set up and run tests from Windows PowerShell:

git clone https://github.com/sandeepmistry/node-sensortag
cd node-sensortag
npm install
npm install noble-uwp
node -e "var fs = require('fs'), `
  f = 'node_modules/noble-device/lib/util.js'; `
  fs.writeFileSync(f, fs.readFileSync(f).toString().replace(`
    'require(\'noble\')', 'require(\'noble-uwp\')'))"
$env:DEBUG="noble-uwp"
node test.js

Notes:

  • The NodeRT adapter libraries may take a few minutes to build with node-gyp; please be patient.
  • The above string replacement in the noble-device source file is necessary to get it to use the noble-uwp package instead of regular noble.
  • The DEBUG environment variable setting is optional; set it if you want to see verbose console output from noble-uwp.

Implementation Status

The following functionality is working:

  • Device discovery
  • Device services discovery
  • Service included services discovery
  • Service characteristics discovery
  • Characteristic reading and writing
  • Characteristic change notifications
  • Descriptors (discovering, reading, writing)

The following functionality is not yet implemented:

  • Broadcast