更新记录

1.0.0(2024-12-13) 下载此版本

1.0.0


平台兼容性

Uascent-MarsGateSDK

版本:1.0.0

插件介绍

MarsGateSDK是在uni-app中实现蓝牙协议的解析和封装,实现蓝牙设备的连接、数据传输、设备控制等功能。

接入指引

使用插件

引入插件

在需要使用插件的页面中,通过 requirePlugin 引入插件,得到插件对象

import MarsGateSDK from '@/uni_modules/Uascent-MarsGateSDK/js_sdk/index.js'

插件初始化

使用插件前必须调用初始化init方法,传入插件的配置参数,该方法必须在插件初始化后调用,否则无法使用插件的其他接口。

  const config = {
    securityKey: 'xxxxxxxxxxxx',
    clientID: 'xxxxxxxxxxxx',
  }

  MarsGateSDK.init(config)

参数

Object object

参数名 类型 必填 说明
securityKey String 安全密钥
clientID String 客户端ID

返回值

Promise

蓝牙设备搜索

搜索蓝牙设备,搜索到的设备会通过回调函数返回,搜索到设备后,调用 search 搜索。

参数

返回值

Promise.<Object>

获取扫描到的设备列表

search 方法搜索到设备后成功后,调用 onSearchListChange 获取扫描到的设备列表,在回调函数中获取到设备列表,设备列表发生变化也会重新触发回调,每次会返回新搜索到的设备列表。

参数

Function 回调函数,回调函数的参数为设备列表。

  {
    code: 0,
    data: [], // 设备列表
    message: '成功'
  }

设备列表中单个设备数据

Object data

参数名 类型 说明
name String 设备名称
imageUrl String 设备图片链接
productId String 产品ID
mac String MAC地址
type String 设备类型

添加设备

onSearchListChange 获取到设备列表后,可选择设备列表中的设备调用 add 添加设备。

参数

Object data

参数名 类型 必填 说明
mac String MAC地址
productId String 产品ID

返回值

Promise

成功

  {
    code: 0,
    data: {
      deviceId: 'xxxxxxxxxxxx', // 设备的唯一标识
    },
    message: '成功'
  }

停止搜索

添加成功取消搜索,或者搜索页面返回,调用 stopSearch 停止搜索。

参数

返回值

Promise

连接设备

可以调用 connect 连接设备。

参数

Object object

参数名 类型 必填 说明
deviceInfo Object 设备信息
dpInfo Object 设备DP点信息
protocol Array<String> 全属性上报协议
onStateChange Function 状态回调
onReport Function 上报回调

设备信息deviceInfo

参数名 类型 必填 说明
mac String MAC地址
productId String 产品ID

设备DP点信息dpInfo

Object 键值对

参数名 类型 说明
key String 属性上报的key
value Number 协议DP点
  {
    switch: 1, // 开关
    level: 2, // 档位(数值)
    timingPowerOff1: 3, // 定时关机(小时)
    angleAutoLROnOff: 4, // 左右旋转/摇头/摆风
    angleAutoUDOnOff: 5, // 上下旋转/摇头/摆风
    anionOnOff: 10, // 负离子功能
    mode: 12, // 风扇工作模式
  }

设备DP点信息protocol 全属性上报的数据协议,从协议数据位的第一字节开始,对应属性key,按顺序组成数组

  • 如果在中间有未使用字节,使用void 0 undefined null 表示该字节未使用
  • 如果某个字节按位上报,使用数组表示,规则和字节相似,数字下标0表示 bit 0
    ['switch', 'level', void 0, 'timingPowerOff1', ['angleAutoLROnOff', 'angleAutoUDOnOff'] ,'anionOnOff', 'mode']

设备DP点信息onStateChange

回调函数的参数为Object 。

Object 键值对

参数名 类型 说明
state Number 0: 连接中 1:连接成功 2:连接失败 3.设备状态同步中 -1: 已断开
  onStateChange: (res) => {
    console.log('onStateChange', res)
  }

设备上报数据onReport

回调函数的参数为Object 。

Object 键值对

参数名 类型 说明
data Object 设备上报的属性值
  onReport: (res) => {
    console.log('onReport', res)
  }

返回值

Promise

控制设备

连接成功可以调用 control 断开连接。

参数

Object object

参数名 类型 必填 说明
deviceInfo Object 参考添加设备add设备信息
data Object 控制的属性对象,键值对

返回值

Promise

断开连接

连接成功可以调用 closeConnect 断开连接。

参数

Object object 参考添加设备add设备信息

返回值

Promise

4、状态码

成功

  {
    code: 0,
    data: {}, // 成功返回的数据,无数据是不存在该字段
    message: '成功'
  }

失败

  {
    errCode: 1001,
    errMsg: '错误信息'
  }
错误码 错误说明
1001 参数错误
1002 失败
1003 手机权限问题
9999 系统错误
30003 设备无权限

其余的错误码请参考uni-app官方蓝牙相关接口错误码

隐私、权限声明

1. 本插件需要申请的系统权限列表:

蓝牙、位置

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问