https://github.com/don/cordova-plugin-ble-peripheral
Apache Cordova plugin for implementing BLE (Bluetooth Low Energy) peripherals.
https://github.com/don/cordova-plugin-ble-peripheral
Last synced: about 1 year ago
JSON representation
Apache Cordova plugin for implementing BLE (Bluetooth Low Energy) peripherals.
- Host: GitHub
- URL: https://github.com/don/cordova-plugin-ble-peripheral
- Owner: don
- License: other
- Created: 2016-05-07T00:31:54.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2018-06-19T08:51:57.000Z (almost 8 years ago)
- Last Synced: 2025-03-17T20:12:02.472Z (about 1 year ago)
- Language: Java
- Homepage:
- Size: 34.2 KB
- Stars: 31
- Watchers: 3
- Forks: 31
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Bluetooth Low Energy (BLE) Peripheral Plugin for Apache Cordova
A Cordova plugin for implementing BLE (Bluetooth Low Energy) peripherals.
Need a BLE central module? See [cordova-plugin-ble-central](https://github.com/don/cordova-plugin-ble-central).
## Supported Platforms
* iOS
* Android
## Usage
### Callbacks
Register callbacks to receive notifications from the plugin
blePeripheral.onWriteRequest(app.didReceiveWriteRequest);
blePeripheral.onBluetoothStateChange(app.onBluetoothStateChange);
### Defining services with JSON
Define your Bluetooth Service using JSON
var uartService = {
uuid: SERVICE_UUID,
characteristics: [
{
uuid: TX_UUID,
properties: property.WRITE,
permissions: permission.WRITEABLE,
descriptors: [
{
uuid: '2901',
value: 'Transmit'
}
]
},
{
uuid: RX_UUID,
properties: property.READ | property.NOTIFY,
permissions: permission.READABLE,
descriptors: [
{
uuid: '2901',
value: 'Receive'
}
]
}
]
};
Create the service and start advertising
Promise.all([
blePeripheral.createServiceFromJSON(uartService),
blePeripheral.startAdvertising(uartService.uuid, 'UART')
]).then(
function() { console.log ('Created UART Service'); },
app.onError
);
### Defining services programatically
Instead of using JSON, you can create services programtically. Note that for 1.0 descriptors are only supported with the JSON format.
Promise.all([
blePeripheral.createService(SERVICE_UUID),
blePeripheral.addCharacteristic(SERVICE_UUID, TX_UUID, property.WRITE, permission.WRITEABLE),
blePeripheral.addCharacteristic(SERVICE_UUID, RX_UUID, property.READ | property.NOTIFY, permission.READABLE),
blePeripheral.publishService(SERVICE_UUID),
blePeripheral.startAdvertising(SERVICE_UUID, 'UART')
]).then(
function() { console.log ('Created UART Service'); },
app.onError
);
### Examples
See the [examples](https://github.com/don/cordova-plugin-ble-peripheral/tree/master/examples) for more ideas on how this plugin can be used.
# Installing
### Cordova
$ cordova plugin add cordova-plugin-ble-peripheral
### PhoneGap
$ phonegap plugin add cordova-plugin-ble-peripheral
### PhoneGap Build
Edit config.xml to install the plugin for [PhoneGap Build](http://build.phonegap.com).
# License
Apache 2.0
# Feedback
Try the code. If you find an problem or missing feature please create a github issue. When you're submitting an issue please include a sample project that recreates the problem.