/ Title: btmodule Description: btmodule /

来自于:开发者

概述

btmodule模块封装了蓝牙4.0的接口,本接口是BLE,和传统蓝牙不一样,本模块集成了打开蓝牙, 关闭蓝牙,扫描附近BLE设备并连接等功能,支持写数据到BLE外设,本模块暂只提供安卓接口, 苹果接口会在以后更新;本模块只能用于手机客户端连接到智能硬件设备,暂时不能实现手机端直接的互联,本模块由第三方模块开发者提供,使用本模块需在线云编译安装包

OpenBT

打开设备蓝牙功能

OpenBT()

示例代码

  1. var obj = api.require('btmodule');
  2. obj.OpenBT();

可用性

Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上

可提供的1.0.0及更高版本

CloseBT

关闭蓝牙功能

CloseBT()

示例代码

  1. var obj = api.require('btmodule');
  2. obj.CloseBT();

可用性

Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上

可提供的1.0.0及更高版本

ScanBT

扫描并连接附近BLE外设

ScanBT()

示例代码

  1. var obj = api.require('btmodule');
  2. obj.ScanBT();

补充说明

此接口提供扫描附近BLE外设,并连接;一旦连接成功就可以对连接成功的设备进行数据写入,若已连接后 重复调用,则会只能操作最新连接的设备 ,若已经选择了设备却没有提示”connected”,表达正在连接中,一般10s之内可以完成连接。

可用性

Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上

可提供的1.0.0及更高版本

DisConnectBT

断开和BLE外设的连接,前提条件是已经和BLE外设连接

DisConnectBT()

示例代码

  1. var obj = api.require('btmodule');
  2. 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外设的数据,范围为(0,255),不能为空

示例代码

  1. var obj = api.require('btmodule');
  2. var param={service:"0000fff0-0000-1000-8000-00805f9b34fb"
  3. ,charUUID:"0000fff1-0000-1000-8000-00805f9b34fb",data:25};
  4. 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, function(ret, err){var msg =ret.received;api.toast({msg:msg});})

param

service:

  • 类型:字符串
  • 描述:BLE外设的service(服务)的UUID,不能为空

charUUID:

  • 类型:字符串
  • 描述:BLE外设的characteristic(特征值)的UUID,不能为空

示例代码

  1. var obj = api.require('btmodule');
  2. var param={service:"0000fff0-0000-1000-8000-00805f9b34fb"
  3. ,charUUID:"0000fff1-0000-1000-8000-00805f9b34fb"};
  4. obj.ReadBT(param, function(ret, err){
  5. var msg =ret.received;
  6. api.toast({
  7. msg:msg
  8. });
  9. });

callbacl(ret,err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. received: //读取到的数据
  3. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. msg:”” //错误描述
  3. }

补充说明

调用此接口前,需设定好需要读取的BLE外设的characteristic(特征值)的UUID 和其所属的service(服务)的UUID,本示例代码是设成TI-CC2540芯片的BLE协议栈例程 里面的simpleGATTprofile的service的UUID和char的UUID进行读取数据;

可用性

Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上

可提供的1.0.0及更高版本

NotifyBT

打开或者关闭的BLE外设的notify功能

NotifyBT(param, function(ret, err){var msg =ret.received;api.toast({msg:msg});})

param

service:

  • 类型:字符串
  • 描述:BLE外设的service(服务)的UUID,不能为空

charUUID:

  • 类型:字符串
  • 描述:BLE外设的characteristic(特征值)的UUID,不能为空

enable:

  • 类型:boolean类型
  • 描述:打开或者关闭notify功能,不能为空

    示例代码

  1. var obj = api.require('btmodule');
  2. var param={service:"0000fff0-0000-1000-8000-00805f9b34fb"
  3. ,charUUID:"0000fff4-0000-1000-8000-00805f9b34fb",enable:true};
  4. obj.NotifyBT(param,function(ret, err){
  5. var msg =ret.received;
  6. api.toast({
  7. msg:msg
  8. });
  9. });

callbacl(ret,err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. received: //接收到的数据
  3. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. msg:”” //错误描述
  3. }

补充说明

调用此接口前,需设定好需要notify的BLE外设的characteristic(特征值)的UUID 和其所属的service(服务)的UUID,本示例代码是设成TI-CC2540芯片的BLE协议栈例程 里面的simpleGATTprofile的service的UUID和char的UUID进行打开notify功能;另外,需要注意的是,由于Apicloud的回调机制,只有调用函数才能回调获得Notify的值,所以就算BLE外设的UUID已经通过该功能打开notify了,当外设主动给app传数据的时候,也是不能触发NotifyBT的回调函数的,只能通过再次调用该函数来获取外设的值,所以该功能与ReadBT函数功能类似

可用性

Android系统,需设备支持蓝牙4.0且安卓版本在4.3以上

可提供的1.0.0及更高版本