WiFi设备绑定

更新时间:2019-04-03 13:52:54

WiFi设备的绑定包含三个过程:

  • 获知WiFi设备的PK和DN

  • 获取设备绑定token

  • 调用绑定接口

获知WiFi设备的PK和DN

WiFi设备的ProductKey和DevceName的获取方式有以下几种,用户可根据自己的实际情况进行选择:

  • 如果设备贴有包含设备的ProductKey和DeviceName的二维码,客户可以通过扫码的方式获取PK和DN

  • 通过SDK提供的发现接口发现局域网内存在的WiFi设备列表,从发现的设备中获知设备的PK和DN

  • WiFi设备配网完成时由设备端告知手机APP的PK、DN

获取绑定token

手机需要与设备连接到同一个局域网内,然后手机APP调用SDK提供的API从设备获取绑定的token。

Android端

下面的接口提供从设备端获取绑定 token 的功能。

// 获取设备绑定 token
LocalDeviceMgr.getInstance().getDeviceToken(context, productKey, deviceName, 60*1000, 5*1000, new IOnDeviceTokenGetListener() {
            @Override
            public void onSuccess(String token) {
                // TODO bind
            }
            @Override
            public void onFail(String reason) {
            }
        });

iOS端

// 引入头文件
#import <IMSDeviceCenter/IMLDeviceCenter.h>
// self.productKey 和 self.deviceName 是配网成功后返回的设备模型中的 productKey 和 deviceName
[[IMLLocalDeviceMgr sharedMgr] getDeviceToken:self.productKey deviceName:self.deviceName timeout:20 resultBlock:^(NSString *token, BOOL boolSuccess) {
    NSLog(@"主动获取设备token:%@,boolSuccess:%d", token, boolSuccess);
    if(token){
    // 调用绑定接口进行设备绑定
    } else{
        NSLog(@"获取token失败(超时)");
    }
}];

绑定设备

手机APP通过调用云端接口进行设备绑定,绑定将直接使用API 通道SDK提供的接口进行,调用API通道SDK提供的接口时需要指定云端接口的path,iOS和安卓系统均调用相同的云端接口。

注:API通道SDK的使用方法请参见API通道SDK的相关说明文档

接口定义

path 版本 描述 是否需要用户身份的鉴权
/awss/token/user/bind 1.0.3 根据token校验并绑定设备 是,客户端SDK需启用身份的鉴权

请求参数

参数 类型 必填 描述
productKey String 是 待配网设备productKey
deviceName String 是 待配网设备deviceName
token String 是 设备上报的token

返回参数

参数 类型 必有 描述
data String 是 已配网设备iotId

错误码

请参考错误码字典

results matching ""

    No results matching ""