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 | 
错误码
请参考错误码字典