黑子信息科技ble控制
###IOS
加入 BLUETOOTH_USAGE_DESCRIPTION 默认 " "
使用 cordova plugin add com.heytz.ble --variable BLUETOOTH_USAGE_DESCRIPTION="you usage message"
17.07.10
1.取消Android需要配置AndroidManifest.xml application
- HeytzBle.scan
- HeytzBle.startScan
- HeytzBle.stopScan
- HeytzBle.connect
- HeytzBle.disconnect
- HeytzBle.write
- HeytzBle.isEnabled
- HeytzBle.startNotification
- HeytzBle.stopNotification
- HeytzBle.isConnected
- HeytzBle.read
- HeytzBle.writeWithoutResponse(IOS)
- HeytzBle.showBluetoothSettings
- HeytzBle.enable(Android)
Scan and discover BLE peripherals.
HeytzBle.scan(services, seconds, success, failure);
Function scan
scans for BLE devices. The success callback is called each time a peripheral is discovered. Scanning automatically stops after the specified number of seconds.
ios { "name": "TI SensorTag", "id": "BD922605-1B07-4D55-8D09-B66653E51BBA", "rssi": -79, "advertising": /* ArrayBuffer or map */ } android { "name": "TI SensorTag", "id": "B6:66:53:E5:1B:BA" } Advertising information format varies depending on your platform. See Advertising Data for more information.
- services: List of services to discover, or [] to find all devices
- seconds: Number of seconds to run discovery
- success: Success callback function that is invoked which each discovered device.
- failure: Error callback function, invoked when error occurs. [optional]
HeytzBle.scan([], 5, function(device) {
console.log(JSON.stringify(device));
}, failure);
Scan and discover BLE peripherals.
HeytzBle.startScan(services, success, failure);
Function startScan
scans for BLE devices. The success callback is called each time a peripheral is discovered. Scanning will continue until stopScan
is called.
ios
{
"name": "TI SensorTag",
"id": "BD922605-1B07-4D55-8D09-B66653E51BBA",
"rssi": -79,
"advertising": /* ArrayBuffer or map */
}
android
{
"name": "TI SensorTag",
"id": "BD922605-1B07-4D55-8D09-B66653E51BBA"
}
Advertising information format varies depending on your platform. See Advertising Data for more information.
- services: List of services to discover, or [] to find all devices
- success: Success callback function that is invoked which each discovered device.
- failure: Error callback function, invoked when error occurs. [optional]
HeytzBle.startScan([], function(device) {
console.log(JSON.stringify(device));
}, failure);
setTimeout(HeytzBle.stopScan,
5000,
function() { console.log("Scan complete"); },
function() { console.log("stopScan failed"); }
);
Stop scanning for BLE peripherals.
HeytzBle.stopScan(success, failure);
Function stopScan
stops scanning for BLE devices.
- success: Success callback function, invoked when scanning is stopped. [optional]
- failure: Error callback function, invoked when error occurs. [optional]
HeytzBle.startScan([], function(device) {
console.log(JSON.stringify(device));
}, failure);
setTimeout(HeytzBle.stopScan,
5000,
function() { console.log("Scan complete"); },
function() { console.log("stopScan failed"); }
);
/* Alternate syntax
setTimeout(function() {
HeytzBle.stopScan(
function() { console.log("Scan complete"); },
function() { console.log("stopScan failed"); }
);
}, 5000);
*/
Connect to a peripheral.
HeytzBle.connect(device_id, connectSuccess, connectFailure);
Function connect
connects to a BLE peripheral. The callback is long running. Success will be called when the connection is successful. Service and characteristic info will be passed to the success callback in the peripheral object. Failure is called if the connection fails, or later if the peripheral disconnects. An peripheral object is passed to the failure callback.
- device_id: UUID or MAC address of the peripheral
- 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.
HeytzBle.disconnect(device_id, [success], [failure]);
Function disconnect
disconnects the selected device.
- device_id: UUID or MAC address of the peripheral
- success: Success callback function that is invoked when the connection is successful. [optional]
- failure: Error callback function, invoked when error occurs. [optional]
Writes data to a characteristic.
HeytzBle.write(device_id, service_uuid, characteristic_uuid, value, success, failure);
Function write
writes data to a characteristic.
- device_id: UUID or MAC address of the peripheral
- service_uuid: UUID of the BLE service
- characteristic_uuid: UUID of the BLE characteristic
- data: binary data, use an ArrayBuffer
- success: Success callback function that is invoked when the connection is successful. [optional]
- failure: Error callback function, invoked when error occurs. [optional]
Use an ArrayBuffer when writing data.
// send 1 byte to switch a light on
var data = new Uint8Array(1);
data[0] = 1;
HeytzBle.write(device_id, "FF10", "FF11", data.buffer, success, failure);
// send a 3 byte value with RGB color
var data = new Uint8Array(3);
data[0] = 0xFF; // red
data[0] = 0x00; // green
data[0] = 0xFF; // blue
HeytzBle.write(device_id, "ccc0", "ccc1", data.buffer, success, failure);
// send a 32 bit integer
var data = new Uint32Array(1);
data[0] = counterInput.value;
HeytzBle.write(device_id, SERVICE, CHARACTERISTIC, data.buffer, success, failure);
// send a array
var data = [];
data[0] = 162;
HeytzBle.write(device_id, SERVICE, CHARACTERISTIC, data, success, failure);
Register to be notified when the value of a characteristic changes.
HeytzBle.startNotification(device_id, service_uuid, characteristic_uuid, success, failure);
Function startNotification
registers a callback that is called every time the value of a characteristic changes. This method handles both notifications
and indications
. The success callback is called multiple times.
Raw data is passed from native code to the success callback as an ArrayBuffer.
- device_id: UUID or MAC address of the peripheral
- service_uuid: UUID of the BLE service
- characteristic_uuid: UUID of the BLE characteristic
- success: Success callback function invoked every time a notification occurs
- failure: Error callback function, invoked when error occurs. [optional]
var onData = function(buffer) {
// Decode the ArrayBuffer into a typed Array based on the data you expect
var data = new Uint8Array(buffer);
alert("Button state changed to " + data[0]);
}
HeytzBle.startNotification(device_id, "FFE0", "FFE1", onData, failure);
Stop being notified when the value of a characteristic changes.
HeytzBle.stopNotification(device_id, service_uuid, characteristic_uuid, success, failure);
Function stopNotification
stops a previously registered notification callback.
- device_id: UUID or MAC address of the peripheral
- service_uuid: UUID of the BLE service
- characteristic_uuid: UUID of the BLE characteristic
- success: Success callback function that is invoked when the notification is removed. [optional]
- failure: Error callback function, invoked when error occurs. [optional]
Reports the connection status.
HeytzBle.isConnected(device_id, success, failure);
Function isConnected
calls the success callback when the peripheral is connected and the failure callback when not connected.
- device_id: UUID or MAC address of the peripheral
- success: Success callback function that is invoked with a boolean for connected status.
- failure: Error callback function, invoked when error occurs. [optional]
HeytzBle.isConnected(
'FFCA0B09-CB1D-4DC0-A1EF-31AFD3EDFB53',
function() {
console.log("Peripheral is connected");
},
function() {
console.log("Peripheral is *not* connected");
}
);
Reads the value of a characteristic.
ble.read(device_id, service_uuid, characteristic_uuid, success, failure);
Function read
reads the value of the characteristic.
Raw data is passed from native code to the callback as an ArrayBuffer.
- device_id: UUID or MAC address of the peripheral
- service_uuid: UUID of the BLE service
- characteristic_uuid: UUID of the BLE characteristic
- success: Success callback function that is invoked when the connection is successful. [optional]
- failure: Error callback function, invoked when error occurs. [optional]
Show the Bluetooth settings on the device.
HeytzBle.showBluetoothSettings(success, failure);
Function showBluetoothSettings
opens the Bluetooth settings for the operating systems.
Enable Bluetooth on the device.
HeytzBle.enable(success, failure);
Function enable
prompts the user to enable Bluetooth.
enable
is only supported on Android and does not work on iOS.
If enable
is called when Bluetooth is already enabled, the user will not prompted and the success callback will be invoked.
- success: Success callback function, invoked if the user enabled Bluetooth.
- failure: Error callback function, invoked if the user does not enabled Bluetooth.
HeytzBle.enable(
function() {
console.log("Bluetooth is enabled");
},
function() {
console.log("The user did *not* enable Bluetooth");
}
);
- BluetoothSerial - Connect to Arduino and other devices. Bluetooth Classic on Android, BLE on iOS.
- RFduino - RFduino specific plugin for iOS and Android.
- BluetoothLE - Rand Dusing's BLE plugin for Cordova
- PhoneGap Bluetooth Plugin - Bluetooth classic pairing and connecting for Android
- cordova-plugin-ble-central -