This is the BLE DeviceInfo object obtained by calling
evothings.ble.startScan, with additional properties and
functions added. Internal properties are prefixed with two
underscores. Properties are also added to the Characteristic
and Descriptor objects.
Methods
-
<static> hasName(name)
-
Match device name.
Parameters:
Name Type Description nameThe name to match. Returns:
true if device has the given name, false if not.Example
device.hasName('MyBLEDevice'); -
close()
-
Close the device. This disconnects from the BLE device.
Example
device.close();
-
connect(success, fail)
-
Connect to the device.
Parameters:
Name Type Description successevothings.easyble.connectCallback Called when connected: success(device). failevothings.easyble.failCallback Called on error and if a disconnect happens. Format: error(errorMessage) Example
device.connect( function(device) { console.log('BLE device connected.'); // TODO: Read services here. }, function(errorCode) { console.log('BLE connect error: ' + errorCode); }); -
disableNotification(characteristicUUID, success, fail)
-
Unsubscribe from characteristic updates to stop notifications.
Parameters:
Name Type Description characteristicUUIDUUID of characteristic to unsubscribe from successevothings.easyble.emptyCallback Success callback: success() failevothings.easyble.failCallback Error callback: fail(error) Example
device.disableNotification( characteristicUUID, function() { console.log('BLE characteristic notification disabled'); }, function(errorCode) { console.log('BLE disableNotification error: ' + errorCode); }); -
enableNotification(characteristicUUID, success, fail)
-
Subscribe to characteristic value updates. The success function will be called repeatedly whenever there is new data available.
Parameters:
Name Type Description characteristicUUIDstring UUID of characteristic to subscribe to. successevothings.easyble.dataCallback Success callback: success(data). failevothings.easyble.failCallback Error callback: fail(error). Example
device.enableNotification( characteristicUUID, function(data) { console.log('BLE characteristic data: ' + evothings.ble.fromUtf8(data)); }, function(errorCode) { console.log('BLE enableNotification error: ' + errorCode); }); -
readCharacteristic(characteristicUUID, success, fail)
-
Read value of characteristic.
Parameters:
Name Type Description characteristicUUIDstring UUID of characteristic to read. successevothings.easyble.dataCallback Success callback: success(data). failevothings.easyble.failCallback Error callback: fail(error). Example
device.readCharacteristic( characteristicUUID, function(data) { console.log('BLE characteristic data: ' + evothings.ble.fromUtf8(data)); }, function(errorCode) { console.log('BLE readCharacteristic error: ' + errorCode); }); -
readDescriptor(characteristicUUID, descriptorUUID, success, fail)
-
Read value of descriptor.
Parameters:
Name Type Description characteristicUUIDstring UUID of characteristic for descriptor. descriptorUUIDstring UUID of descriptor to read. successevothings.easyble.dataCallback Success callback: success(data). failevothings.easyble.failCallback Error callback: fail(error). Example
device.readDescriptor( characteristicUUID, descriptorUUID, function(data) { console.log('BLE descriptor data: ' + evothings.ble.fromUtf8(data)); }, function(errorCode) { console.log('BLE readDescriptor error: ' + errorCode); }); -
readRSSI(success, fail)
-
Read devices RSSI. Device must be connected.
Parameters:
Name Type Description successevothings.easyble.rssiCallback Called with RSSI value: success(rssi). failevothings.easyble.failCallback Called on error: fail(error). -
readServiceCharacteristic(serviceUUID, characteristicUUID, success, fail)
-
Read value of a specific characteristic.
Parameters:
Name Type Description serviceUUIDstring UUID of service in which the characteristic is found. characteristicUUIDstring UUID of characteristic to read. successevothings.easyble.dataCallback Success callback: success(data). failevothings.easyble.failCallback Error callback: fail(error). Example
device.readServiceCharacteristic( serviceUUID, characteristicUUID, function(data) { console.log('BLE characteristic data: ' + evothings.ble.fromUtf8(data)); }, function(errorCode) { console.log('BLE readServiceCharacteristic error: ' + errorCode); }); -
readServiceDescriptor(serviceUUID, characteristicUUID, descriptorUUID, success, fail)
-
Read value of a specific descriptor.
Parameters:
Name Type Description serviceUUIDstring UUID of service in which the characteristic is found. characteristicUUIDstring UUID of characteristic for descriptor. descriptorUUIDstring UUID of descriptor to read. successevothings.easyble.dataCallback Success callback: success(data). failevothings.easyble.failCallback Error callback: fail(error). Example
device.readServiceDescriptor( serviceUUID, characteristicUUID, descriptorUUID, function(data) { console.log('BLE descriptor data: ' + evothings.ble.fromUtf8(data)); }, function(errorCode) { console.log('BLE readServiceDescriptor error: ' + errorCode); }); -
readServices(serviceUUIDs, success, fail)
-
Read services, characteristics and descriptors for the specified service UUIDs. Services must be read be able to access characteristics and descriptors. Call this function before reading and writing characteristics/descriptors.
Parameters:
Name Type Description serviceUUIDsarray of UUID strings, if null all services are read (this can be time-consuming compared to reading selected services). successevothings.easyble.servicesCallback Called when services are read: success(device). failevothings.easyble.failCallback error callback: error(errorMessage) Example
device.readServices( null, // Read all services function(device) { console.log('BLE Services available.'); // TODO: Read/write/enable notifications here. }, function(errorCode) { console.log('BLE readServices error: ' + errorCode); }); -
writeCharacteristic(characteristicUUID, value, success, fail)
-
Write value of characteristic.
Parameters:
Name Type Description characteristicUUIDstring UUID of characteristic to write to. valueArrayBufferView Value to write. successevothings.easyble.emptyCallback Success callback: success(). failevothings.easyble.failCallback Error callback: fail(error). Example
device.writeCharacteristic( characteristicUUID, new Uint8Array([1]), // Write byte with value 1. function() { console.log('BLE characteristic written.'); }, function(errorCode) { console.log('BLE writeCharacteristic error: ' + errorCode); }); -
writeDescriptor(characteristicUUID, descriptorUUID, value, success, fail)
-
Write value of descriptor.
Parameters:
Name Type Description characteristicUUIDstring UUID of characteristic for descriptor. descriptorUUIDstring UUID of descriptor to write to. valueArrayBufferView Value to write. successevothings.easyble.emptyCallback Success callback: success(). failevothings.easyble.failCallback Error callback: fail(error). Example
device.writeDescriptor( characteristicUUID, descriptorUUID, new Uint8Array([1]), // Write byte with value 1. function() { console.log('BLE descriptor written.'); }, function(errorCode) { console.log('BLE writeDescriptor error: ' + errorCode); }); -
writeServiceCharacteristic(serviceUUID, characteristicUUID, value, success, fail)
-
Write value of a specific characteristic.
Parameters:
Name Type Description serviceUUIDstring UUID of service in which the characteristic is found. characteristicUUIDstring UUID of characteristic to write to. valueArrayBufferView Value to write. successevothings.easyble.emptyCallback Success callback: success(). failevothings.easyble.failCallback Error callback: fail(error). Example
device.writeServiceCharacteristic( serviceUUID, characteristicUUID, new Uint8Array([1]), // Write byte with value 1. function() { console.log('BLE characteristic written.'); }, function(errorCode) { console.log('BLE writeServiceCharacteristic error: ' + errorCode); }); -
writeServiceDescriptor(serviceUUID, characteristicUUID, descriptorUUID, value, success, fail)
-
Write value of a specific descriptor.
Parameters:
Name Type Description serviceUUIDstring UUID of service in which the characteristic is found. characteristicUUIDstring UUID of characteristic for descriptor. descriptorUUIDstring UUID of descriptor to write to. valueArrayBufferView Value to write. successevothings.easyble.emptyCallback Success callback: success(). failevothings.easyble.failCallback Error callback: fail(error). Example
device.writeServiceDescriptor( serviceUUID, characteristicUUID, descriptorUUID, new Uint8Array([1]), // Write byte with value 1. function() { console.log('BLE descriptor written.'); }, function(errorCode) { console.log('BLE writeServiceDescriptor error: ' + errorCode); });