jx-wx-mesh v1.0.20
jx-wx-mesh SDK
晶讯mesh业务 微信小程序SDK。 支持设备控制、状态监听 目前不支持mesh组网
此SDK事件上报依赖于 jx-device-message 插件,使用前请安装此插件
一、 SDK 初始化
1. 安装依赖
npm install jx-wx-mesh jx-device-message
2. 初始化实例
SDK 默认导出构造函数
import JxMesh from 'jx-wx-mesh'
const jxMesh = new JxMesh({
appKey: string
netKey: string
ivIndex: number
srcAddress: number
nodes: ExplorerDevice[]
heartbeat: number
})
3. 参数说明
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
appKey | 平台侧分配 | string | 是 |
netKey | 平台侧分配 | string | 是 |
ivIndex | 平台侧分配 | string | 是 |
nodes | 可连接的节点列表,蓝牙搜索到其中一个后建立与此节点的ble连接 | ExplorerDevice[] | 是 |
heartbeat | mesh子设备上报心跳的间隔时间。单位秒。默认10秒 | number | 否 |
ExplorerDevice数据结构
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
explorerDeviceId | 平台侧定义的设备 ID | string | 是 |
meshAddress | 配网时分配 | number | 是 |
deviceKey | 平台侧分配 | string | 是 |
二、 实例API
1. 开始运行 run
调用本接口将开始搜索节点、连接节点、校验合法性、发送白名单等、子设备心跳监听等一系列动作,接口调用成功后可向子设备下发消息和监听子设备状态。但蓝牙异常后不会自动重连
接口定义
meshInstance.run()
参数说明
无
返回结果
返回一个 Promise,参数如下
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
- | sdk实例 | JxMesh | 否 |
2. 自动运行 autoRun
调用本接口将开始搜索节点、连接节点、校验合法性、发送白名单等、子设备心跳监听等一系列动作,接口调用成功后可向子设备下发消息和监听子设备状态。蓝牙发生异常会自动尝试回连。以下异常情况会尝试自动回连:关闭蓝牙后再打开、断开连接但蓝牙适配器正常。
接口定义
meshInstance.autoRun(count?: number)
参数说明
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
count | 断连后尝试重连的次数,不传则无限次 | number | 否 |
返回结果
返回一个 Promise,参数如下
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
- | sdk实例 | JxMesh | 否 |
3. 搜索代理节点 searchProxyNode
开始搜索初始化实例时传入的代理节点
接口定义
meshInstance.searchProxyNode()
参数说明
无
返回结果
返回一个 Promise,参数如下
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
- | 搜索到的首个代理节点 | MeshProxyNode | 是 |
4. 连接代理节点 connectProxyNode
连接目标代理节点
接口定义
meshInstance.connectProxyNode(node: MeshProxyNode)
参数说明
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
node | 目标连接节点 | MeshProxyNode | 是 |
MeshProxyNode数据结构
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
explorerDeviceId | 平台侧定义的设备 ID | string | 是 |
meshAddress | 配网时分配 | number | 是 |
deviceKey | 平台侧分配 | string | 是 |
deviceId | 蓝牙设备 id,同微信蓝牙接口回调的 deviceId | string | 是 |
返回结果
返回一个 Promise,参数如下
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
- | 搜索到的首个代理节点, | MeshProxyNode | 是 |
5. 下发消息给代理节点 sendMsgToProxyNode
下发消息给已连接的代理节点
接口定义
meshInstance.sendMsgToProxyNode(message: { seg: string })
参数说明
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
message | 发送消息的对象 | object | 是 |
返回结果
返回一个 Promise
6. 下发通用消息给代理节点 sendGenericMessage
下发MESH通用消息给代理节点, 最后其实是调用 sendMsgToProxyNode
给代理节点发送消息
接口定义
meshInstance.sendGenericMessage(meshAddress: number, data: ArrayBuffer)
参数说明
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
meshAddress | 目标子设备meshAddress | number | 是 |
data | 下发的数据 | ArrayBuffer | 是 |
返回结果
返回一个 Promise
7. 事件监听 on
监听特定的事件
接口定义
meshInstance.on(event: MeshEventType, listener: function)
参数说明
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
event | 监听的事件名称 | MeshEventType | 是 |
listener | 事件的回调函数 | function | 是 |
MeshEvent说明
可选值为:connected | disconnected | message | end
8. 监听特定设备消息 onDeviceMessage
监听特定的单个设备的状态消息
接口定义
meshInstance.onDeviceMessage(meshAddress: number, listener: function)
参数说明
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
meshAddress | 子设备的meshAddress | number | 是 |
listener | 事件的回调函数 | function | 是 |
9. 移除监听事件 removeListener
移除监听事件
接口定义
meshInstance.removeListener(meshAddress: number, listener: function)
参数说明
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
meshAddress | 子设备的meshAddress | number | 是 |
listener | 监听回调的句柄,若不传,则把该事件的回调全部删除 | function | 否 |
10. 发布设备上报状态 publishAllDeviceStates
通知所有设备上报状态,若需要查询子设备状态,则调用此接口,子设备状态会通过message
事件上报。
接口定义
meshInstance.publishAllDeviceStates()
参数说明
无
返回结果
返回一个 Promise
11. 通用开关 genericOnoff
通用的下发开关接口
接口定义
meshInstance.genericOnoff(meshAddress: number, onoff: 0 | 1)
参数说明
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
meshAddress | 目标子设备meshAddress | number | 是 |
onoff | 0: 关 1:开 | number | 是 |
返回结果
返回一个 Promise
12. 设置灯的亮度 setBrightness
设置灯的亮度
接口定义
meshInstance.setBrightness(meshAddress: number, brightness: number)
参数说明
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
meshAddress | 目标子设备meshAddress | number | 是 |
brightness | 目标亮度值,范围:1-100, 单位%, | number | 是 |
返回结果
返回一个 Promise
13. 设置灯的色温 setColorTemperature
设置灯的色温
接口定义
meshInstance.setColorTemperature(meshAddress: number, temperature: number)
参数说明
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
meshAddress | 目标子设备meshAddress | number | 是 |
temperature | 目标色温值,范围:1-100, 单位% | number | 是 |
返回结果
返回一个 Promise
14. 场景激发 sceneRecall
场景激发
接口定义
meshInstance.sceneRecall(sceneAddress: number)
参数说明
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
sceneAddress | 目标场景地址 | number | 是 |
返回结果
返回一个 Promise
15. 设置温控器模式 setACMode
设置温控器模式
接口定义
meshInstance.setACMode(meshAddress: number, mode: 0 | 1 | 2 | 3)
参数说明
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
meshAddress | 目标子设备meshAddress | number | 是 |
mode | 0/制冷 1/制热 2/送风 3/制湿 | number | 是 |
返回结果
返回一个 Promise
16. 设置温控器目标温度 setACTemperature
设置温控器目标温度
接口定义
meshInstance.setACTemperature(meshAddress: number, temperature: number)
参数说明
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
meshAddress | 目标子设备meshAddress | number | 是 |
temperature | 0x5 - 0x28 | number | 是 |
返回结果
返回一个 Promise
17. 设置温控器目标温度 setACWindSpeed
设置温控器目标温度
接口定义
meshInstance.setACWindSpeed(meshAddress: number, windSpeed: number)
参数说明
参数名 | 参数描述 | 类型 | 必填 |
---|---|---|---|
meshAddress | 目标子设备meshAddress | number | 是 |
windSpeed | 0/低 1/中 2/高 3/自动 4/关闭 | number | 是 |
返回结果
返回一个 Promise
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago