https://github.com/don/cordova-plugin-rfduino
Cordova (PhoneGap) plugin for RFduino
https://github.com/don/cordova-plugin-rfduino
Last synced: 11 months ago
JSON representation
Cordova (PhoneGap) plugin for RFduino
- Host: GitHub
- URL: https://github.com/don/cordova-plugin-rfduino
- Owner: don
- License: other
- Created: 2013-11-18T00:10:55.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2015-10-24T01:57:29.000Z (over 10 years ago)
- Last Synced: 2025-01-31T21:34:22.802Z (over 1 year ago)
- Language: Objective-C
- Size: 965 KB
- Stars: 46
- Watchers: 16
- Forks: 16
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.txt
- License: LICENSE.txt
Awesome Lists containing this project
README
# RFduino Plugin for PhoneGap
This plugin enabled Bluetooth communication between a phone and an [RFduino](http://www.rfduino.com/).
## Supported Platforms
* iOS
* Android 4.3 or greater
## Limitations
The can only connect to one RFduino at a time. Use the [BLE plugin](https://github.com/don/cordova-plugin-ble-central) 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
- [rfduino.discover](#discover)
- [rfduino.list](#list)
- [rfduino.connect](#connect)
- [rfduino.disconnect](#disconnect)
- [rfduino.onData](#ondata)
- [rfduino.write](#write)
- [rfduino.isEnabled](#isenabled)
- [rfduino.isConnected](#isconnected)
## 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](http://www.html5rocks.com/en/tutorials/webgl/typed_arrays/) 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.