设备管理

设备管理模型简介

AbleCloud平台区分设备的管理员用户与非管理员用户。第一个绑定设备的用户就是设备的管理员用户。其他用户要绑定设备需要得到管理员用户的授权,比如通过管理员发放的分享码来绑定设备。 普通用户可以也仅可以主动解除自己与设备的绑定关系。管理员用户可以解除任意用户(包括自己)与设备的绑定关系。而且,如果管理员用户解除了自己与设备的绑定关系,那么同时也会解除设备与其他所有用户的绑定关系。

设备绑定

直接绑定

// 实例化ACBindMgr对象
ACBindMgr bindMgr = ac.bindMgr(ac.newContext());
// 根据设备物理ID绑定设备
// 参数subDomain是设备所属的子域的名字;
// 参数physicalId是设备的物理ID;
// 参数name是设备绑定后的显示名称;
// 参数userId是要绑定设备的用户的ID。
ACUserDevice device = bindMgr.bindDevice(subDomain, physicalId, name, userId);

通过分享码绑定

// 实例化ACBindMgr对象
ACBindMgr bindMgr = ac.bindMgr(ac.newContext());
// 通过分享码绑定设备。参数shareCode即是设备分享码。
ACUserDevice device = bindMgr.bindDeviceWithShareCode(shareCode, userId);

设备分享

设备分享是指以设备的管理员用户的身份调用AbleCloud平台的接口生成设备的分享码,其它用户凭借该分享码绑定设备。

// 实例化ACBindMgr对象
ACBindMgr bindMgr = ac.bindMgr(ac.newContext());
// 获取分享码
// 参数deviceId是要被分享的设备的逻辑ID;
// 参数adminUserId是设备的管理员用户的ID;
// 参数timeout是设备的分享码的有效时长,单位是秒。
String shareCode = bindMgr.getShareCode(deviceId, adminUserId, timeout);

设备解绑

AbleCloud平台区分设备的管理员用户及非管理员用户。如果管理员用户解除了与设备的绑定关系,那么AbleCloud将自动解除其他用户与设备的绑定关系。

// 实例化ACBindMgr
ACBindMgr bindMgr = ac.bindMgr(ac.newContext());
// 解绑设备
// subDomain是设备所属子域的名字;
// deviceId是被解邦设备的逻辑ID;
// userId是要解邦设备的用户的ID。
bindMgr.unbindDevice(subDomain, deviceId, userId);