场景2.2:动态注册子设备 ¶
场景2.2的原理与2.1类似,场景2.2的灵活性更好,在场景2.2中,Edge中烧录了SA,具备调用EnOS API的权限,所以可以通过API创建子设备。
下图所示为接入场景2.2的消息流。
Edge开发者通过 EnOS 管理控制台在EnOS 云端注册一个Edge应用,并获得该应用的服务账号(SA),即
accessKey
和accessSecret
。物联网实施人员登录到 EnOS 管理控制台,在客户组织中进行如下配置:
创建Edge产品,并注册Edge设备实例,来获得Edge设备三元组。
为待接入Edge的子设备创建产品,获得
productkey
。
在Edge制造阶段,需要烧录以下凭据信息:
Edge应用的SA,将用于获得调用EnOS API的权限。
由EnOS 云端颁发的Edge设备三元组。
待接入Edge的子设备所属的产品
productkey
,以及设备所属组织的标识,即orgId
。
EnOS 云端对Edge调用Restful接口进行如下鉴权:
Edge携带SA来获得调用EnOS API的权限。如果服务账号不对,则Edge将无法调用EnOS API,鉴权将失败。
EnOS 云端基于IAM中定义的访问权限,校验Edge连接请求中携带的
orgId
和SA
参数,并验证orgId
所对应的组织是否注册了Edge应用。如果没有注册Edge应用,鉴权将失败。EnOS 云端校验请求参数
orgId
与productkey
的归属关系。如果productkey
对应的产品不属于orgId
对应的组织,校验将不通过。
EnOS 云端对 Edge 设备进行身份认证。
Edge 默认启用基于密钥的单向认证。Edge 携带三元组连接云端,其中云端会对 Edge 三元组进行认证,认证通过后,Edge 设备将被允许登录。
Edge 的首次登录会同时激活Edge设备,设备状态将从 未激活 更新为 在线。
如果启用了基于证书的双向认证,证书的生成与分发过程如下(以 EnOS Edge 为例):
EnOS Edge 向设备连接与管理发起证书请求,请求中携带证书请求文件(CSR 文件)。
设备连接与管理将请求转发给 EnOS Certificate Service。
Certificate Service 产生证书,并返回给设备连接与管理。
设备连接与管理记录下 Edge 关联的证书,并将 Edge 证书返回给 Edge。
物联网实施人员配置需要通过 Edge 接入的子设备(如逆变器、风机、储能设备等)连接。子设备注册有以下两种方式:
设备注册:在 EnOS Edge 配置中心直接创建要接入的子设备,配置中心调用设备连接与管理的 REST API,然后在 EnOS 云端中创建设备。
静态注册:在 EnOS 管理控制台中创建要接入的子设备,然后在 Edge 配置中心进行绑定。由 Edge 代理子设备连接至 EnOS 云端。
设备数据传输
Edge与设备连接与管理直接连接,子设备由Edge代理连接至设备连接与管理。
Edge与与设备连接与管理之间的数据传输,使用MQTT协议。
如果启用基于证书的双向认证机制,Edge与设备连接与管理之间的数据传输内容将被证书加密。