设备管理

设备管理模型简介

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

设备绑定

直接绑定

// PHP
// 实例化ACBindMgr对象
$bindMgr = ACClient::getBindMgr();
// 根据设备物理ID绑定设备
// 参数$subDomain是设备所属的子域的名字;
// 参数$physicalId是设备的物理ID;
// 参数$name是设备绑定后的显示名称;
// 参数$user是要绑定设备的用户。
$device = $bindMgr->bindDevice($subDomain, $physicalId, $name, $user);

通过分享码绑定

// PHP
// 实例化ACBindMgr对象
$bindMgr = ACClient::getBindMgr();
// 通过分享码绑定设备。参数$shareCode即是设备分享码。
$device = $bindMgr->bindDeviceWithShareCode($user, $shareCode);

设备分享

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

// PHP
// 实例化ACBindMgr对象
$bindMgr = ACClient::getBindMgr();
// 获取分享码
// 参数$deviceId是要被分享的设备的逻辑ID;
// 参数$adminUser是设备的管理员用户;
// 参数$timeout是设备的分享码的有效时长,单位是秒。
$shareCode = $bindMgr->getDeviceShareCode($deviceId, $adminUser, $timeout);

设备解绑

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

// PHP
// 实例化ACBindMgr
$bindMgr = ACClient::getBindMgr();
// 获取设备的逻辑ID。参数$subDomain表示设备在AbleCloud平台上所属子域的名字。
$deviceId = $bindMgr->getDeviceId($subDomain, $physicalId);
// 解绑设备
$bindMgr->unbindDevice($subDomain, $deviceId, $user);