chrome.bluetoothLowEnergy
描述: |
chrome.bluetoothLowEnergy API
用来和使用 GATT 的蓝牙智能(低耗能)设备通信。
|
可用版本: |
从 Chrome 37 开始支持。警告:目前为 Beta 分支。了解更多内容
|
清单文件: |
"bluetooth": {...}
|
了解更多: |
蓝牙
|
摘要
类型 | |
---|---|
Service | |
Characteristic | |
Descriptor | |
方法 | |
connect −
chrome.bluetoothLowEnergy.connect(string deviceAddress, object properties, function callback)
| |
disconnect −
chrome.bluetoothLowEnergy.disconnect(string deviceAddress, function callback)
| |
getService −
chrome.bluetoothLowEnergy.getService(string serviceId, function callback)
| |
getServices −
chrome.bluetoothLowEnergy.getServices(string deviceAddress, function callback)
| |
getCharacteristic −
chrome.bluetoothLowEnergy.getCharacteristic(string characteristicId, function callback)
| |
getCharacteristics −
chrome.bluetoothLowEnergy.getCharacteristics(string serviceId, function callback)
| |
getIncludedServices −
chrome.bluetoothLowEnergy.getIncludedServices(string serviceId, function callback)
| |
getDescriptor −
chrome.bluetoothLowEnergy.getDescriptor(string descriptorId, function callback)
| |
getDescriptors −
chrome.bluetoothLowEnergy.getDescriptors(string characteristicId, function callback)
| |
readCharacteristicValue −
chrome.bluetoothLowEnergy.readCharacteristicValue(string characteristicId, function callback)
| |
writeCharacteristicValue −
chrome.bluetoothLowEnergy.writeCharacteristicValue(string characteristicId, ArrayBuffer value, function callback)
| |
startCharacteristicNotifications −
chrome.bluetoothLowEnergy.startCharacteristicNotifications(string characteristicId, object properties, function callback)
| |
stopCharacteristicNotifications −
chrome.bluetoothLowEnergy.stopCharacteristicNotifications(string characteristicId, function callback)
| |
readDescriptorValue −
chrome.bluetoothLowEnergy.readDescriptorValue(string descriptorId, function callback)
| |
writeDescriptorValue −
chrome.bluetoothLowEnergy.writeDescriptorValue(string descriptorId, ArrayBuffer value, function callback)
| |
事件 | |
onServiceAdded | |
onServiceChanged | |
onServiceRemoved | |
onCharacteristicValueChanged | |
onDescriptorValueChanged |
类型
Service
属性 | ||
---|---|---|
string | uuid |
服务的 UUID,例如 0000180d-0000-1000-8000-00805f9b34fb。 |
boolean | isPrimary |
表示服务类型是主要的还是辅助的。 |
string | (可选) instanceId |
返回分配给该服务的标识符,使用实例标识符区分相同 UUID 外设中的不同服务,调用接收服务标识符的函数时也要使用。如果该实例代表远程服务的话就存在该属性。 |
string | (可选) deviceAddress |
GATT 服务所属远程外设的设备地址,如果该实例代表远程服务的话就存在该属性。 |
Characteristic
属性 | ||
---|---|---|
string | uuid |
特征的 UUID,例如 00002a37-0000-1000-8000-00805f9b34fb。 |
Service | service |
该特征属于哪个 GATT 服务。 |
array of enum of "broadcast" , "read" , "writeWithoutResponse" , "write" , "notify" , "indicate" , "authenticatedSignedWrites" , "extendedProperties" , "reliableWrite" , or "writableAuxiliaries" |
properties |
该特征的属性。 |
string | (可选) instanceId |
返回分配给该特征的标识符,使用实例标识符区分相同 UUID 外设中的不同特征,调用接收特征标识符的函数时也要使用。如果该实例代表远程特征的话就存在该属性。 |
ArrayBuffer | (可选) value |
目前缓存的特征值,读取或通过通知或指示的方式更新特征值时也会更新该属性。 |
Descriptor
属性 | ||
---|---|---|
string | uuid |
特征描述符的 UUID,例如 00002902-0000-1000-8000-00805f9b34fb。 |
Characteristic | characteristic |
该描述符属于哪个 GATT 特征。 |
string | (可选) instanceId |
返回分配给该描述符的标识符,使用实例标识符区分相同 UUID 外设中的不同描述符,调用接收描述符标识符的函数时也要使用。如果该实例代表远程特征的话就存在该属性。 |
ArrayBuffer | (可选) value |
目前缓存的描述符值,读取描述符值时也会更新该属性。 |
方法
connect
chrome.bluetoothLowEnergy.connect(string deviceAddress, object properties, function callback)
在应用程序与指定地址的设备之间建立连接。设备可能已经连接,并且它的 GATT 服务也可用,而不需要调用 connect
。但是希望访问设备 GATT 服务的应用应该调用该函数,确保与设备维持连接。如果设备未连接,设备上的所有 GATT 服务都会在成功调用 connect
后发现。
参数 | |||||
---|---|---|---|---|---|
string | deviceAddress |
打开 GATT 连接的远程设备蓝牙地址。 |
|||
object | (可选) properties |
连接属性(可选)。
|
|||
function | callback |
连接请求完成时调用。 callback 参数应该是一个如下形式的函数: function() {...};
|
disconnect
chrome.bluetoothLowEnergy.disconnect(string deviceAddress, function callback)
关闭应用与指定地址设备的连接。注意,该函数并不一定会撤销物理连接本身,因为可能还有其他应用打开了连接。
参数 | ||
---|---|---|
string | deviceAddress |
远程设备的蓝牙地址。 |
function | (可选) callback |
断开连接的请求完成时调用。 如果您指定了 callback 参数,它应该是一个如下形式的函数: function() {...};
|
getService
chrome.bluetoothLowEnergy.getService(string serviceId, function callback)
getServices
chrome.bluetoothLowEnergy.getServices(string deviceAddress, function callback)
getCharacteristic
chrome.bluetoothLowEnergy.getCharacteristic(string characteristicId, function callback)
获取属于指定 GATT 服务、具有指定实例标识符的 GATT 特征(如果特征存在的话)。
参数 | |||||
---|---|---|---|---|---|
string | characteristicId |
请求的 GATT 特征的实例标识符。 |
|||
function | callback |
调用时传递请求的 Characteristic 对象。 callback 参数应该是一个如下形式的函数: function( Characteristic result) {...};
|
getCharacteristics
chrome.bluetoothLowEnergy.getCharacteristics(string serviceId, function callback)
获取发现的属于指定服务的所有 GATT 特征。
参数 | |||||
---|---|---|---|---|---|
string | serviceId |
要返回特征的 GATT 服务实例标识符。 |
|||
function | callback |
调用时传递属于指定服务的特征列表。 callback 参数应该是一个如下形式的函数: function(array of Characteristic result) {...};
|
getIncludedServices
chrome.bluetoothLowEnergy.getIncludedServices(string serviceId, function callback)
getDescriptor
chrome.bluetoothLowEnergy.getDescriptor(string descriptorId, function callback)
获取指定实例标识符对应的 GATT 特征描述符。
参数 | |||||
---|---|---|---|---|---|
string | descriptorId |
要请求 GATT 特征描述符的实例标识符。 |
|||
function | callback |
调用时传递请求的 Descriptor 对象。 callback 参数应该是一个如下形式的函数: function( Descriptor result) {...};
|
getDescriptors
chrome.bluetoothLowEnergy.getDescriptors(string characteristicId, function callback)
获取属于指定特征的 GATT 特征描述符列表。
参数 | |||||
---|---|---|---|---|---|
string | characteristicId |
要返回描述符的 GATT 特征实例标识符。 |
|||
function | callback |
调用时传递属于指定特征的描述符列表。 callback 参数应该是一个如下形式的函数: function(array of Descriptor result) {...};
|
readCharacteristicValue
chrome.bluetoothLowEnergy.readCharacteristicValue(string characteristicId, function callback)
从远程外设获取指定特征的值。
参数 | |||||
---|---|---|---|---|---|
string | characteristicId |
要从远程设备读取的 GATT 特征实例标识符。 |
|||
function | callback |
调用时返回请求的 Characteristic 对象,返回的 Characteristic 对象中 callback 参数应该是一个如下形式的函数: function( Characteristic result) {...};
|
writeCharacteristicValue
chrome.bluetoothLowEnergy.writeCharacteristicValue(string characteristicId, ArrayBuffer value, function callback)
从远程外设写入指定特征的值。
参数 | ||
---|---|---|
string | characteristicId |
要写入 GATT 特征值的实例标识符。 |
ArrayBuffer | value |
作为写入请求的一部分发送给远程特征的值。 |
function | callback |
写入请求完成后调用。 callback 参数应该是一个如下形式的函数: function() {...};
|
startCharacteristicNotifications
chrome.bluetoothLowEnergy.startCharacteristicNotifications(string characteristicId, object properties, function callback)
启用指定特征值的通知/指示,启用后应用可以通过 onCharacteristicValueChanged 事件监听通知。
参数 | |||||
---|---|---|---|---|---|
string | characteristicId |
需要启用通知的 GATT 特征实例标识符。 |
|||
object | (可选) properties |
通知会话属性(可选)。
|
|||
function | callback |
请求完成后调用。 callback 参数应该是一个如下形式的函数: function() {...};
|
stopCharacteristicNotifications
chrome.bluetoothLowEnergy.stopCharacteristicNotifications(string characteristicId, function callback)
禁用指定特征值的通知/指示。调用成功后,应用不再接收该特征的通知/指示。
参数 | ||
---|---|---|
string | characteristicId |
需要停用通知的 GATT 特征实例标识符。 |
function | (可选) callback |
请求完成后调用(可选)。 如果您指定了 callback 参数,它应该是一个如下形式的函数: function() {...};
|
readDescriptorValue
chrome.bluetoothLowEnergy.readDescriptorValue(string descriptorId, function callback)
从远程外设获取指定特征描述符的值。
参数 | |||||
---|---|---|---|---|---|
string | descriptorId |
要从远程设备读取的 GATT 特征实例标识符。 |
|||
function | callback |
调用时传递请求值的 Descriptor 对象,返回的 Descriptor 中 callback 参数应该是一个如下形式的函数: function( Descriptor result) {...};
|
writeDescriptorValue
chrome.bluetoothLowEnergy.writeDescriptorValue(string descriptorId, ArrayBuffer value, function callback)
从远程外设写入指定特征描述符的值。
参数 | ||
---|---|---|
string | descriptorId |
要写入的 GATT 特征描述符的实例标识符。 |
ArrayBuffer | value |
作为写入请求的一部分发送给远程描述符的值。 |
function | callback |
写入请求完成时调用。 callback 参数应该是一个如下形式的函数: function() {...};
|
事件
onServiceAdded
onServiceChanged
onServiceRemoved
onCharacteristicValueChanged
远程 GATT 特征值更改时产生,无论是由于读取请求,还是值更改通知/指示。只有当应用调用 startCharacteristicNotifications 启用通知后才会发送该事件。
addListener
chrome.bluetoothLowEnergy.onCharacteristicValueChanged.addListener(function callback)
参数 | |||||
---|---|---|---|---|---|
function | callback |
callback 参数应该是一个如下形式的函数: function( Characteristic characteristic) {...};
|
onDescriptorValueChanged
远程 GATT 特征描述符的值更改时产生,通常是读取请求的结果。该事件只是为了方便而存在,成功调用 readDescriptorValue 后都会发送该事件。
addListener
chrome.bluetoothLowEnergy.onDescriptorValueChanged.addListener(function callback)
参数 | |||||
---|---|---|---|---|---|
function | callback |
callback 参数应该是一个如下形式的函数: function( Descriptor descriptor) {...};
|