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