3.6.10 • Published 1 month ago

mini_program_gizwits_sdk v3.6.10

Weekly downloads
273
License
ISC
Repository
github
Last release
1 month ago

Build Status

机智云小程序 SDK

⚠️ 重要

使用小程序 sdk 前,请在微信开发者后台-开发管理-开发设置-服务器域名添加以下请求地址。

  • request 合法域名
https://api.gizwits.com
https://site.gizwits.com
  • socket 合法域名
wss://wxstage.gizwits.com
wss://wxm2m.gizwits.com
  • 关于services

为了搜索效率,sdk会根据services过滤蓝牙设备。默认 'ABF8', 'ABF0', 'F0AB', 'F8AB'。 如果有特殊情况,不想用services过滤设备,可以

sdk.scanBleDevice(3000, [])
sdk.startAutoScan([])

🔧 安装

npm install mini_program_gizwits_sdk
// or
yarn add mini_program_gizwits_sdk

📑 代码示例

采用小程序代码片段,安装新版小程序开发工具,点击链接即可打开

蓝牙配网

点击打开微信开发者工具

设备控制

点击打开微信开发者工具

🏍 初始化 Sdk

import GizwitsSdk from 'mini_program_gizwits_sdk';
import { Component } from 'react';
import { View } from '@tarojs/components';

export default class Index extends Component {
  private gizSdk: GizwitsSdk;

  componentDidMount() {
    this.gizSdk = new GizwitsSdk({
      appID: 'appID',
      appSecret: 'appSecret',
      productInfo: [
        {
          productKey: 'productKey',
          productSecret: 'productSecret',
        },
      ],
      uid: 'giz_uid', // 必填
      token: 'giz_token', // 必填
    });
  }

  render() {
    return <View>hello</View>;
  }
}

📋 日志

sdk.setLogLevel("debug")

📖 API

小程序相关 API。

sdk.initBle()

初始化 sdk 蓝牙能力。使用其他BLE API必须进行初始化。

sdk.scanBleDevice(delay?:number, services?: string[])

搜索蓝牙设备。搜索到的蓝牙设备会被 onScanListChange 事件监听。

参数

sdk.startAutoScan(services?: string[])

间隔自动搜索蓝牙设备 onScanListChange 事件监听。

参数

sdk.deviceSafetyRegister(Object object)

安全注册目标设备,蓝牙设备绑定前,需要调用这个接口,否则无法发起设备绑定。返回值中可以拿到注册结果。

参数

  • Object object
属性类型描述
macstring待注册设备 mac
productKeystring待注册设备所属产品

sdk.bindRemoteDevice(Object object)

绑定远程设备,否则无法发起设备订阅。返回值中可以拿到绑定结果。

sdk.unbindDevice({devices: IDevice})

解绑设备

参数

  • Object object
属性类型描述
macstring待绑定设备 mac
productKeystring待绑定设备所属产品

sdk.subscribe(device:IDevice,connectType:TConnectType)

订阅目标设备,订阅成功后可控制设备。返回值中可以拿到订阅结果。

sdk.getDeviceStatus(device:IDevice, attrNames?: string[])

查询目标设备当前状态,attrNames 不传则查询所有数据

sdk.write(device:IDevice,cmd:{key:value})

向目标设备发送指令。 其中key为数据点名称,value 为数据点的值。

sdk.unSubscribe(device:IDevice)

取消订阅目标设备。蓝牙设备会断开连接。返回值中可拿到取消订阅结果。

sdk.getDevices()

刷新设备列表(同时也会在 GizDeviceListNotifications 事件里推送)

const data = await sdk.getDevices()
console.log(data)

sdk.stopDeviceOnboardingDeploy

停止配网

sdk.setDeviceOnboardingDeploy

开始配网

详细参数请查阅类型定义

sdk.addEventListener(type,listener)

概览

事件种类 type回调参数类型回调参数描述
GizDeviceListNotificationsIDevice[]设备列表变更
GizDeviceStatusNotificationsIDeviceStatusNoti设备在线状态变更
GizDeviceAttrsNotificationsIDeviceAttrsNoti设备数据点变更通知
onScanListChangeIDevice[]扫描设备列表变更通知
onBleHandleErrorIErrorble 错误通知
  • GizDeviceListNotifications
this.gizSdk.addEventListener('GizDeviceListNotifications', (deviceList: IDevice[]) => {
  console.log('列表发生变化', deviceList);
});
  • GizDeviceStatusNotifications
this.gizSdk.addEventListener('GizDeviceStatusNotifications', (e: IDeviceStatusNoti) => {
  console.log('设备在线状态变化', e);
});
  • onScanListChange
const initBle = () => {
  this.gizSdk.initBle();
};

const scanBle = async () => {
  const data = await this.gizSdk.scanBleDevice(60000);
  console.log('scanBle', data);
};

this.gizSdk.addEventListener('onScanListChange', (deviceList: IDevice[]) => {
  console.log('扫描列表发生变化', deviceList);
  deviceListModal.updateScan(deviceList);
});

initBle();
scanBle();
  • GizDeviceAttrsNotifications

监听设备上报数据。

this.gizSdk.addEventListener(
  'GizDeviceAttrsNotifications',
  ({ device, data }) => {
    console.log("====设备状态发生变化====", device,data);
  };
);

类型定义

  • IDevice
interface IDevice {
  mac: string; // 设备mac
  productKey: string; // 机智云pk
  did?: string; // 云平台did
  name: string; // 设备名称
  isBind: boolean; // 是否绑定
  bleDeviceID?: string; // 本地蓝牙设备id
  isOnline: boolean; // 代表大循环在线
  isLanOnline: boolean; // 代表小循环在线
  isBleOnline: boolean; // 代表蓝牙在线
  bleWorkStatus?: number; // 蓝牙设备状态 0 默认状态 1 配网状态
  connectType: TConnectType; // 当前连接类型
}
  • TConnectType
type TConnectType = 'BLE' | 'BLE_BROADCAST' | 'LAN' | 'WAN' | 'NONE';
}
  • IDeviceAttrsNoti
interface IDeviceAttrsNoti {
  device: IDevice;
  data: object; // 设备上报数据点
}
  • IDeviceStatusNoti
interface IDeviceStatusNoti {
  device: IDevice;
  connectType: TConnectType;
}
  • TConnectType
type TConnectType = 'BLE' | 'BLE_BROADCAST' | 'LAN' | 'WAN' | 'NONE';
  • IError
interface IError {
  errorCode: number;
  errorMessage?: string; // 错误信息
}

sdk.removeEventListener(type:K,func:TListenerTypeK)

销毁事件监听。

配网相关

使用方法

import GizwitsSdk, { errorCode } from 'mini_program_gizwits_sdk';

const configData = {
  appID: "xxx",
  appSecret: "xxx",
  productInfo: [
    {
      productKey: "xxx",
      productSecret: "xxx",
    },
  ],
};
const sdk = new GizwitsSdk(configData);

try {
  const data = await sdk.setDeviceOnboardingDeploy({
    ssid: SSID,
    password: password,
    mode: 3, // 蓝牙配网
    // mode:0 // softAp
    timeout: 60,
    softAPSSIDPrefix: 'XPG-GAgent-',
  });
} catch (error) {
  console.log(error);
}

其中data代表配网成功的设备。

如果失败的话会返回数据

{
  success: false,
  err: {
    errorCode: 'code',
    errorMessage: 'message',
  }
}
const errorCode: IErrorCode = {
  GIZ_OPENAPI_DEVICE_NOT_BOUND: {
    errorCode: 9017,
    errorMessage: 'not bind',
  },
  GIZ_SDK_HTTP_REQUEST_FAILED: {
    errorCode: 8099,
    errorMessage: '网络请求失败',
  },
  GIZ_SDK_SDK_NOT_INITIALIZED: {
    errorCode: 8300,
    errorMessage: 'not init',
  },
  CONFIG_TIME_OUT: {
    errorCode: 8023,
    errorMessage: 'Config Timeout',
  },
  WECHAT_ERROR: {
    errorCode: 10000,
    errorMessage: 'wechat error',
  },
  GIZ_SDK_ONBOARDING_STOPPED: {
    errorCode: 8318,
    errorMessage: '配网中断',
  },
  GIZ_SDK_DEVICE_CONFIG_IS_RUNNING: {
    errorCode: 8022,
    errorMessage: '配置正在进行中',
  },
  GIZ_OPENAPI_TOKEN_INVALID: {
    errorCode: 9004,
    errorMessage: 'token 失效',
  },
  GIZ_SDK_BIND_DEVICE_FAILED: {
    errorCode: 8039,
    errorMessage: '设备绑定失败',
  },
  GIZ_SDK_BLE_BLUETOOTH_FUNCTION_NOT_TURNED_ON: {
    errorCode: 8281,
    errorMessage: '蓝牙未启用',
  },
  GIZ_SDK_OTHERWISE: {
    errorCode: 8100,
    errorMessage: '',
  },
  GIZ_SDK_DEVICE_NOT_SUBSCRIBED: {
    errorCode: 8029,
    errorMessage: '设备还未订阅',
  },
  GIZ_SDK_PRODUCTKEY_NOT_IN_SPECIFY: {
    errorCode: 8250,
    errorMessage: '产品类型不在指定范围内',
  },
};
3.6.9

1 month ago

3.6.10

1 month ago

3.6.6

2 months ago

3.6.8

2 months ago

3.6.7

2 months ago

3.6.5

2 months ago

3.6.4

3 months ago

3.4.13

3 months ago

3.6.2

3 months ago

3.6.1

3 months ago

3.6.0

3 months ago

3.6.3

3 months ago

3.5.14-kuka

4 months ago

3.5.13-kuka

4 months ago

3.4.12

4 months ago

3.5.12-kuka

4 months ago

3.4.9-configEvent

4 months ago

3.0.7-hotfix.1

5 months ago

3.4.7-juhua

7 months ago

3.4.9-juhua

7 months ago

3.5.11-kuka

6 months ago

3.4.7-FeiSiMan

7 months ago

3.5.10-kuka

7 months ago

3.4.8-juhua

7 months ago

3.4.8

7 months ago

3.4.7

7 months ago

3.4.9

7 months ago

3.4.5-beta

8 months ago

3.5.8-kuka

8 months ago

3.4.6-beta

8 months ago

3.5.9-kuka

8 months ago

3.4.5-FeiSiMan

8 months ago

3.5.7-kuka

8 months ago

3.4.6-FeiSiMan

8 months ago

3.5.6-kuka

8 months ago

3.2.32

9 months ago

3.3.26-kuka

11 months ago

3.5.2-kuka

9 months ago

3.5.1-kuka

10 months ago

3.2.28-yujunshi.2

11 months ago

3.2.28-yujunshi.1

11 months ago

3.2.28-yujunshi.3

11 months ago

3.4.0-beta.3

9 months ago

3.4.0-beta.2

9 months ago

3.4.0-beta.1

9 months ago

3.4.0-beta.0

10 months ago

3.4.0-beta

10 months ago

3.5.3-kuka

9 months ago

3.2.28-yujunshi.0

12 months ago

3.5.5-kuka

9 months ago

3.2.32-FeiSiMan

9 months ago

3.4.1-kuka

11 months ago

3.3.28-kuka

11 months ago

3.3.29-kuka

11 months ago

3.4.0-kuka

11 months ago

3.4.4

8 months ago

3.4.3

9 months ago

3.4.2

9 months ago

3.4.1

9 months ago

3.3.27-kuka

11 months ago

3.5.4-kuka

9 months ago

3.3.25-kuka

11 months ago

3.2.3-1.beta.1

9 months ago

3.3.0

11 months ago

3.2.28-yujunshi

12 months ago

3.2.27-0

12 months ago

3.3.24-kuka

1 year ago

3.2.27-2

12 months ago

3.2.27-1

12 months ago

3.2.24

1 year ago

3.2.23

1 year ago

3.2.26

1 year ago

3.2.25

1 year ago

3.2.28

1 year ago

3.2.20

1 year ago

3.2.22

1 year ago

3.2.21

1 year ago

3.2.23-kuka

1 year ago

3.2.30

1 year ago

3.2.24-kuka

1 year ago

3.2.26-beta.0

1 year ago

3.2.26-beta.1

1 year ago

3.2.22-kuka

1 year ago

3.2.27-beta.2

1 year ago

3.2.27-beta.3

1 year ago

3.2.27-beta.0

1 year ago

3.3.2

1 year ago

3.2.2

1 year ago

3.2.1

1 year ago

3.2.6

1 year ago

3.2.5

1 year ago

3.2.4

1 year ago

3.2.3

1 year ago

3.2.9

1 year ago

3.2.7

1 year ago

3.2.13

1 year ago

3.2.12

1 year ago

3.2.15

1 year ago

3.2.14

1 year ago

3.2.17

1 year ago

3.2.16

1 year ago

3.2.19

1 year ago

3.2.18

1 year ago

3.2.11

1 year ago

3.2.10

1 year ago

3.2.17-1

1 year ago

3.1.17-7

2 years ago

3.1.17-8

2 years ago

3.1.17-1

2 years ago

3.1.17-2

2 years ago

3.1.17-3

2 years ago

3.1.17-4

2 years ago

3.1.17-5

2 years ago

3.1.17-6

2 years ago

3.1.20-1

1 year ago

3.1.20-2

1 year ago

3.1.20-3

1 year ago

3.1.20-4

1 year ago

3.1.20-5

1 year ago

3.1.20-6

1 year ago

3.1.20-7

1 year ago

3.1.20-8

1 year ago

3.1.20-9

1 year ago

3.1.17-11

2 years ago

3.1.17-10

2 years ago

3.1.17-15

1 year ago

3.1.17-14

1 year ago

3.1.17-13

2 years ago

3.1.17-12

2 years ago

3.1.17-19

1 year ago

3.1.17-18

1 year ago

3.1.17-17

1 year ago

3.1.17-16

1 year ago

3.2.11-kuka

1 year ago

3.2.13-3

1 year ago

3.2.13-2

1 year ago

3.2.13-1

1 year ago

3.1.14

2 years ago

3.1.16

2 years ago

3.1.15

2 years ago

3.1.18

2 years ago

3.1.17

2 years ago

3.2.20-beta

1 year ago

3.1.20

1 year ago

3.2.10-kuka

1 year ago

3.1.19

1 year ago

3.1.20-10

1 year ago

3.1.20-11

1 year ago

3.1.13-12

2 years ago

3.1.13-11

2 years ago

3.1.13-10

2 years ago

3.1.13-8

2 years ago

3.1.13-9

2 years ago

3.2.0

2 years ago

3.1.9-7

2 years ago

3.1.9-6

2 years ago

3.1.9-5

2 years ago

3.1.9-4

2 years ago

3.1.9-9

2 years ago

3.1.9-8

2 years ago

3.1.9-3

2 years ago

3.1.9-2

2 years ago

3.1.9-1

2 years ago

3.1.9-11

2 years ago

3.1.9-10

2 years ago

3.1.13-1

2 years ago

3.1.13-3

2 years ago

3.1.13-4

2 years ago

3.1.13-5

2 years ago

3.1.13-6

2 years ago

3.1.10

2 years ago

3.1.9

2 years ago

3.1.8

2 years ago

3.1.7-11

2 years ago

3.1.7-10

2 years ago

3.1.7-9

2 years ago

3.1.7-8

2 years ago

3.1.7-7

2 years ago

3.1.7-6

2 years ago

3.1.12-1

2 years ago

3.1.12-2

2 years ago

3.1.7-5

2 years ago

3.1.7-4

2 years ago

3.1.11-0

2 years ago

3.1.11-1

2 years ago

3.1.8-1

2 years ago

3.1.7-rc-1

2 years ago

3.1.3

2 years ago

3.1.2

2 years ago

3.1.1

2 years ago

3.1.0

2 years ago

3.1.6

2 years ago

3.1.5

2 years ago

3.1.4

2 years ago

3.0.8

2 years ago

3.1.7-1

2 years ago

3.1.7-0

2 years ago

3.1.7-rc

2 years ago

3.1.7-3

2 years ago

3.1.7-2

2 years ago

3.0.2-beta

2 years ago

3.0.4

2 years ago

3.0.3

2 years ago

3.0.1

2 years ago

3.0.7

2 years ago

3.0.6

2 years ago

3.0.5

2 years ago

3.0.0

2 years ago

3.0.1-beta

2 years ago

3.0.4-beta-3

2 years ago

3.0.2-beta-3

2 years ago

3.0.2-beta-2

2 years ago

3.0.2-beta-1

2 years ago

3.0.4-beta-1

2 years ago

3.0.4-beta-2

2 years ago

3.0.0-beta-2

2 years ago

3.0.0-beta-1

2 years ago

2.2.0-beta

2 years ago

2.1.0

3 years ago

2.0.9

3 years ago

2.0.8-beta

3 years ago

2.0.8-rc.1

3 years ago

2.0.7

3 years ago

2.0.7-rc.7

3 years ago

2.0.7-rc.8

3 years ago

2.0.7-rc.5

3 years ago

2.0.7-rc.6

3 years ago

2.0.7-rc.3

3 years ago

2.0.7-rc.4

3 years ago

2.0.7-rc.1

3 years ago

2.0.7-rc.2

3 years ago

2.0.6-bate-1

3 years ago

2.0.6-bate-2

3 years ago

2.0.6-bate-3

3 years ago

2.0.6-bate-8

3 years ago

2.0.6-bate-9

3 years ago

2.0.6-bate-4

3 years ago

2.0.6-bate-5

3 years ago

2.0.6-bate-6

3 years ago

2.0.6-bate-7

3 years ago

2.0.6-1

3 years ago

2.0.3

4 years ago

2.0.4

4 years ago

2.0.6

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.0.49

4 years ago

1.0.48

4 years ago

1.0.47

4 years ago

1.0.46

4 years ago

1.0.44

4 years ago

1.0.43

4 years ago

1.0.45

4 years ago

1.0.42

4 years ago

1.0.41

4 years ago

1.0.40

4 years ago

1.0.39

4 years ago

1.0.38

4 years ago

1.0.37

4 years ago

1.0.36

4 years ago

1.0.35

4 years ago

1.0.34

4 years ago

1.0.33

4 years ago

1.0.32

4 years ago

1.0.31

4 years ago

1.0.29

4 years ago

1.0.30

4 years ago

1.0.28

4 years ago

1.0.27

5 years ago

1.0.26

5 years ago

1.0.25

5 years ago

1.0.24

5 years ago

1.0.23

5 years ago

1.0.22

5 years ago

1.0.21

5 years ago

1.0.20

5 years ago

1.0.19

5 years ago

1.0.18

5 years ago

1.0.17

5 years ago

1.0.16

5 years ago

1.0.15

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago