node package manager

cordova-plugin-rfduino

RFduino Plugin for PhoneGap

This plugin enabled Bluetooth communication between a phone and an RFduino.

Supported Platforms

  • iOS
  • Android 4.3 or greater

Limitations

The can only connect to one RFduino at a time. Use the BLE plugin to connect to multiple devices at the same time.

rfduino.write() does not check if data exceeds the max size.

Installing

Install with Cordova cli

$ cordova plugin add cordova-plugin-rfduino

API

Methods

discover

Discover RFduino devices

rfduino.discover(seconds, success, failure);

Description

Function discover discovers the local RFduino devices. The success callback is called each time a peripheral is discovered.

{
    "name": "RFduino",
    "uuid": "BD922605-1B07-4D55-8D09-B66653E51BBA",
    "advertising": "echo",
    "rssi": -79
}

Parameters

  • seconds: Number of seconds to run discovery
  • success: Success callback function that is invoked with a list of bonded devices.
  • failure: Error callback function, invoked when error occurs. [optional]

Quick Example

rfduino.discover(3, function(device) {
    console.log(JSON.stringify(device));
}, failure);

list

Lists known devices

rfduino.list(success, failure);

Description

Function list lists the known RFduino devices. The success callback is called with a list of objects.

This will return an empty list unless discover have previously run. You should prefer discover to list.

[{
    "name": "RFduino",
    "uuid": "AEC00232-2F92-4033-8E80-FD4C2533769C",
    "advertising": "echo",
    "rssi": -79
}, {
    "name": "RFduino",
    "uuid": "AEC00232-2F92-4033-8E80-FD4C2533769C",
    "advertising": "temp",
    "rssi": -55
}]

Parameters

  • success: Success callback function that is invoked with a list of bonded devices.
  • failure: Error callback function, invoked when error occurs. [optional]

Quick Example

rfduino.list(function(devices) {
    devices.forEach(function(device) {
        console.log(device.uuid);
    })
}, failure);

connect

Connect to a RFduino device.

rfduino.connect(uuid, connectSuccess, connectFailure);

Description

Function connect connects to a RFduino device. The callback is long running. Success will be called when the connection is successful. Failure is called if the connection fails, or later if the connection disconnects. An error message is passed to the failure callback.

Parameters

  • uuid: UUID of the remote device
  • connectSuccess: Success callback function that is invoked when the connection is successful.
  • connectFailure: Error callback function, invoked when error occurs or the connection disconnects.

disconnect

Disconnect.

rfduino.disconnect([success], [failure]);

Description

Function disconnect disconnects the current connection.

Parameters

  • success: Success callback function that is invoked when the connection is successful. [optional]
  • failure: Error callback function, invoked when error occurs. [optional]

onData

Adds a callback for processing data from the RFduino.

rfduino.onData(success, failure);

Description

Function onData registers a function that is called whenever phone receives data from the RFduino.

Raw data is passed from ObjectiveC the callback as an ArrayBuffer and must be processed.

Parameters

  • success: Success callback function that is invoked when the connection is successful. [optional]
  • failure: Error callback function, invoked when error occurs. [optional]

write

Writes data to the currently connected device

rfduino.write(data, success, failure);

Description

Function write writes data to the connected device. Data must be an ArrayBuffer for this version.

Parameters

  • data: ArrayBuffer to write to the RFduino
  • success: Success callback function that is invoked when the connection is successful. [optional]
  • failure: Error callback function, invoked when error occurs. [optional]

Quick Example

var data = new ArrayBuffer(3);
data[0] = 0xFF;
data[1] = 0x00;
data[2] = 0x17;
rfduino.write(data.buffer, success, failure);

isConnected

Reports the connection status.

rfduino.isConnected(success, failure);

Description

Function isConnected calls the success callback when connected to a peer and the failure callback when not connected.

Parameters

  • success: Success callback function that is invoked with a boolean for connected status.
  • failure: Error callback function, invoked when error occurs. [optional]

Quick Example

rfduino.isConnected(
    function() {
        console.log("RFduino is connected");
    },
    function() {
        console.log("RFduino is *not* connected");
    }
);

isEnabled

Reports if bluetooth is enabled.

rfduino.isEnabled(success, failure);

Description

Function isEnabled calls the success callback when Bluetooth is enabled and the failure callback when Bluetooth is not enabled.

Parameters

  • success: Success callback function that is invoked with a boolean for connected status.
  • failure: Error callback function, invoked when error occurs. [optional]

Quick Example

rfduino.isEnabled(
    function() {
        console.log("Bluetooth is enabled");
    },
    function() {
        console.log("Bluetooth is *not* enabled");
    }
);

License

Apache 2.0

Feedback

Try the code. If you find an problem or missing feature, file an issue or create a pull request.