btmodule插件封装了蓝牙4.0的接口,本接口是BLE,和传统蓝牙不一样,本插件集成了打开蓝牙, 关闭蓝牙,扫描附近BLE设备并连接等功能,支持写数据到BLE外设,本插件暂只提供安卓接口, 苹果接口会在以后更新;本插件只能用于手机客户端连接到智能硬件设备,暂时不能实现手机端直接的互联,本插件由第三方插件开发者提供,使用本插件需在线应用打包安装包
打开设备蓝牙功能
OpenBT()
var obj = api.require('btmodule');
obj.OpenBT();
Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上
可提供的1.0.0及更高版本
关闭蓝牙功能
CloseBT()
var obj = api.require('btmodule');
obj.CloseBT();
Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上
可提供的1.0.0及更高版本
扫描并连接附近BLE外设
ScanBT()
var obj = api.require('btmodule');
obj.ScanBT();
此接口提供扫描附近BLE外设,并连接;一旦连接成功就可以对连接成功的设备进行数据写入,若已连接后 重复调用,则会只能操作最新连接的设备 ,若已经选择了设备却没有提示"connected",表达正在连接中,一般10s之内可以完成连接。
Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上
可提供的1.0.0及更高版本
断开和BLE外设的连接,前提条件是已经和BLE外设连接
DisConnectBT()
var obj = api.require('btmodule');
obj.DisConnectBT();
调用此接口前确保已经连接
Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上
可提供的1.0.0及更高版本
写入数据到已经连接的BLE外设
WriteBT(param)
service:
charUUID:
data:
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及更高版本
读取已经连接的BLE外设的数据
ReadBT(param)
service:
charUUID:
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及更高版本
打开或者关闭的BLE外设的notify功能
NotifyBT(param)
service:
charUUID:
enable:
way:
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()
address:
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及更高版本
通过名称扫描连接BLE外设
ConnectBTbyname()
name1:
name2:
name3:
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(function(ret){})
ret:
{
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及更高版本
接收BLE外设发送到手机app的数据接口
startRev(function(ret){})
ret:
{
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及更高版本