btmodule
来自于:开发者立即使用
概述
btmodule模块封装了蓝牙4.0的接口,本接口是BLE,和传统蓝牙不一样,本模块集成了打开蓝牙, 关闭蓝牙,扫描附近BLE设备并连接等功能,支持写数据到BLE外设,本模块暂只提供安卓接口, 苹果接口会在以后更新;本模块只能用于手机客户端连接到智能硬件设备,暂时不能实现手机端直接的互联,本模块由第三方模块开发者提供,使用本模块需在线云编译安装包
OpenBT
打开设备蓝牙功能
OpenBT()
示例代码
var obj = api.require('btmodule');
obj.OpenBT();
可用性
Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上
可提供的1.0.0及更高版本
CloseBT
关闭蓝牙功能
CloseBT()
示例代码
var obj = api.require('btmodule');
obj.CloseBT();
可用性
Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上
可提供的1.0.0及更高版本
ScanBT
扫描并连接附近BLE外设
ScanBT()
示例代码
var obj = api.require('btmodule');
obj.ScanBT();
补充说明
此接口提供扫描附近BLE外设,并连接;一旦连接成功就可以对连接成功的设备进行数据写入,若已连接后 重复调用,则会只能操作最新连接的设备 ,若已经选择了设备却没有提示"connected",表达正在连接中,一般10s之内可以完成连接。
可用性
Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上
可提供的1.0.0及更高版本
DisConnectBT
断开和BLE外设的连接,前提条件是已经和BLE外设连接
DisConnectBT()
示例代码
var obj = api.require('btmodule');
obj.DisConnectBT();
补充说明
调用此接口前确保已经连接
可用性
Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上
可提供的1.0.0及更高版本
WriteBT
写入数据到已经连接的BLE外设
WriteBT(param)
param
service:
- 类型:字符串
- 描述:BLE外设的service(服务)的UUID,不能为空
charUUID:
- 类型:字符串
- 描述:BLE外设的characteristic(特征值)的UUID,不能为空
data:
- 类型:字符串
- 描述:需要传输给BLE外设的数据,为字符串,字符串的内容需要是16进制数据,例如"ff0380",代表0xff,0x03,0x80三个16进制数,不能为空
示例代码
var obj = api.require('btmodule');
var param={service:"0000fff0-0000-1000-8000-00805f9b34fb",charUUID:"0000fff1-0000-1000-8000-00805f9b34fb",data:"ff0005"};
obj.WriteBT(param);
补充说明
调用此接口前,需设定好需要写入的BLE外设的characteristic(特征值)的UUID 和其所属的service(服务)的UUID,本示例代码是设成TI-CC2540芯片的BLE协议栈例程 里面的simpleGATTprofile的service的UUID和char的UUID进行写入数据;另外:本接口只支持写入(0,255)范围的数据
可用性
Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上
可提供的1.0.0及更高版本
ReadBT
读取已经连接的BLE外设的数据
ReadBT(param)
param
service:
- 类型:字符串
- 描述:BLE外设的service(服务)的UUID,不能为空
charUUID:
- 类型:字符串
- 描述:BLE外设的characteristic(特征值)的UUID,不能为空
示例代码
var obj = api.require('btmodule');
var param = {service: "0000fff0-0000-1000-8000-00805f9b34fb",charUUID: "0000fff1-0000-1000-8000-00805f9b34fb"};
obj.ReadBT(param);
补充说明
调用此接口前,需设定好需要读取的BLE外设的characteristic(特征值)的UUID 和其所属的service(服务)的UUID,本示例代码是设成TI-CC2540芯片的BLE协议栈例程 里面的simpleGATTprofile的service的UUID和char的UUID进行读取数据; 返回的数据会在startRev函数中产生回调
可用性
Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上
可提供的1.0.0及更高版本
NotifyBT
打开或者关闭的BLE外设的notify功能
NotifyBT(param)
param
service:
- 类型:字符串
- 描述:BLE外设的service(服务)的UUID,不能为空
charUUID:
- 类型:字符串
- 描述:BLE外设的characteristic(特征值)的UUID,不能为空
enable:
- 类型:boolean类型
- 描述:打开或者关闭notify功能,不能为空
way:
- 类型:字符串
- 默认值:无
- 描述:用何种方式打开notify功能,2种方式:indicate/notify,不能为空
示例代码
var obj = api.require('btmodule');
var param={service:"0000fff0-0000-1000-8000-00805f9b34fb",charUUID:"0000fff4-0000-1000-8000-00805f9b34fb",enable:true,way:"indicate"};
obj.NotifyBT(param);
补充说明
调用此接口前,需设定好需要notify的BLE外设的characteristic(特征值)的UUID 和其所属的service(服务)的UUID,本示例代码是设成TI-CC2540芯片的BLE协议栈例程 里面的simpleGATTprofile的service的UUID和char的UUID进行打开notify功能; 返回的数据会在startRev函数中产生回调
可用性
Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上
可提供的1.0.0及更高版本
ConnectBT
通过固定的蓝牙地址链接设备
ConnectBT()
param
address:
- 类型:字符串
- 默认值:无
- 描述:BLE外设的地址,不能为空
示例代码
var obj = api.require('btmodule');
var param = { address: "D0:39:72:CC:84:04" };
obj.ConnectBT(param);
补充说明
此接口提供直接连接附近BLE外设,通过固定的蓝牙地址进行连接。
可用性
Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上
可提供的1.0.0及更高版本
ConnectBTbyname
通过名称扫描连接BLE外设
ConnectBTbyname()
param
name1:
- 类型:字符串
- 默认值:无
- 描述:BLE外设的名称,不能为空
name2:
- 类型:字符串
- 默认值:无
- 描述:BLE外设的名称,不能为空
name3:
- 类型:字符串
- 默认值:无
- 描述:BLE外设的名称,不能为空
示例代码
var obj = api.require('btmodule');
var param = { name1: "sample1", name2: "sample2", name3: "sample3" };
obj.ConnectBTbyname(param);
补充说明
此接口提供通过扫描固定名称来连接附近BLE外设,提供的3个参数中的名称先扫描到哪个就先进行连接。
可用性
Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上
可提供的1.0.0及更高版本
getState
获取蓝牙设备状态
getState(function(ret){})
callback(ret)
ret:
- 类型:JSON 对象
- 描述:每有状态变更便会触发此回调
- 内部字段:
{
status: true , //布尔类型;是否获取蓝牙状态,true|false
state:{ //JSON对象;获取监听的特征的信息
ifbtopen: '', //字符串类型;蓝牙是否打开,取值范围如下:
//true 蓝牙打开
//false 蓝牙关闭
ifbtconnect: '', //字符串类型;蓝牙是否已经连接到外设,取值范围如下:
//true 已经连接了设备
//false 没有连接设备或已经断开设备连接
}
}
示例代码
var obj = api.require('btmodule');
obj.getState(function(ret, err) {
var msg1 = ret.state.ifbtopen;
var msg2 = ret.state.ifbtconnect;
api.toast({ msg: msg1 });
});
补充说明
要接收蓝牙状态的变化最好在初始化的时候就调用此接口,当蓝牙与设备连接成功或者断开的时候会触发此回调
可用性
Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上
可提供的1.0.0及更高版本
startRev
接收BLE外设发送到手机app的数据接口
startRev(function(ret){})
callback(ret)
ret:
- 类型:JSON 对象
- 描述:每有数据接收便会触发此回调
- 内部字段:
{
status: true , //布尔类型;是否有数据接收,true|false
received_data:{ //JSON对象;获取监听的特征的信息
value: '', //字符串类型;接收的数据
}
}
示例代码
var obj = api.require('btmodule');
obj.startRev(function(ret, err) {
var msg1 = ret.received_data.value;
api.toast({ msg: msg1 });
});
补充说明
每当有数据从BLE外设传到手机的时候就会触发此回调,建议初始化的时候就调用此接口,readBT和NotifyBT接收到的数据都是从这里读取
可用性
Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上
可提供的1.0.0及更高版本