Skip to content

IsaiahByDayah/feather-ble

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

feather-ble

A Node.js module that helps find, wrap, and add easy basic functionality to a Noble peripheral that is an Adafruit Bluefruit LE Arduino Micro Controller

Features

  • Event system for the following:
    • On connect & ready with adafruit device
    • On message from adafruit device
    • On RSSI signal update
    • On device disconnect
  • Can send strings of any length to adafruit device

Works With

Quick Start

Install

npm install --save feather-ble

Require

var Feather = require("feather-ble");

Setup & Start

var possible_feather = some_noble_peripheral_instance;

// Check is peripheral is an adafruit feather
if (new Feather().isFeather(possible_feather)) {
  // possible_feather is an adafruit feather device
  
  // Create settings
  var instanceSettings = {
    peripheral: possible_feather,     // REQUIRED: A Noble Peripheral Instance to use
    verbose: Bool,                    // OPTIONAL: If instance should print out logs to console (default FALSE)
    rssi: Bool,                       // OPTIONAL: If instance should request/trigger RSSI updates (default FALSE)
    rssi_update_rate: Int             // OPTIONAL: Rate (in ms) at which RSSI updates should be requested/triggered (default 5000)
  };
  
  // Create instance
  var feather = new Feather(instanceSettings);
  
  // Add event listeners
  feather.on("ready", function(err){
    if (!err) {
      // feather is connected and ready
      
      // Can send strings over to adafruit device
      feather.sendMessage("Hello World!");
      feather.sendMessage("This is a really long string that works just as well :)");
    }
  });
  
  feather.on("message", function(msg){
    // Message recieved from adafruit device
  });
  
  feather.on("rssi", function(err, rssi){
    if (!err) {
      // RSSI was updated
    }
  });
  
  feather.on("disconnect", function(){
    // feather was disconnected
  });
  
  // Start feather process
  feather.setup();

}

Dependencies:

Future Plans

  • Rename and add ability to accept wider range of adafruit devices
  • Improve verbose comments
  • Expand instance settings for more custom tweaking
  • Create Arduino Library that works hand-in-hand with module

About

A Node.js module to connect and communicate with the Adafruit Feather 32u4 Bluefruit LE Arduino micro controller (and other compatible controllers)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published