场景2.2:动态注册子设备


场景2.2的原理与2.1类似,场景2.2的灵活性更好,在场景2.2中,Edge中烧录了SA,具备调用EnOS API的权限,所以可以通过API创建子设备。


下图所示为接入场景2.2的消息流。


../../_images/connection_scenario_2.2.png


  1. Edge开发者通过 EnOS 管理控制台在EnOS 云端注册一个Edge应用,并获得该应用的服务账号(SA),即accessKeyaccessSecret

  2. 物联网实施人员登录到 EnOS 管理控制台,在客户组织中进行如下配置:

    • 创建Edge产品,并注册Edge设备实例,来获得Edge设备三元组。
    • 为待接入Edge的子设备创建产品,获得productkey


  3. 在Edge制造阶段,需要烧录以下凭据信息:

    • Edge应用的SA,将用于获得调用EnOS API的权限。
    • 由EnOS 云端颁发的Edge设备三元组。
    • 待接入Edge的子设备所属的产品productkey,以及设备所属组织的标识,即orgId


  4. EnOS 云端对Edge调用Restful接口进行如下鉴权:

    • Edge携带SA来获得调用EnOS API的权限。如果服务账号不对,则Edge将无法调用EnOS API,鉴权将失败。
    • EnOS 云端基于IAM中定义的访问权限,校验Edge连接请求中携带的orgIdSA参数,并验证orgId所对应的组织是否注册了Edge应用。如果没有注册Edge应用,鉴权将失败。
    • EnOS 云端校验请求参数orgIdproductkey的归属关系。如果productkey对应的产品不属于orgId对应的组织,校验将不通过。


  5. EnOS 云端对 Edge 设备进行身份认证。

    • Edge 默认启用基于密钥的单向认证。Edge 携带三元组连接云端,其中云端会对 Edge 三元组进行认证,认证通过后,Edge 设备将被允许登录。
    • Edge 的首次登录会同时激活Edge设备,设备状态将从 未激活 更新为 在线


  6. 如果启用了基于证书的双向认证,证书的生成与分发过程如下(以 EnOS Edge 为例):

    • EnOS Edge 向设备连接与管理发起证书请求,请求中携带证书请求文件(CSR 文件)。
    • 设备连接与管理将请求转发给 EnOS Certificate Service。
    • Certificate Service 产生证书,并返回给设备连接与管理。
    • 设备连接与管理记录下 Edge 关联的证书,并将 Edge 证书返回给 Edge。


  7. 物联网实施人员配置需要通过 Edge 接入的子设备(如逆变器、风机、储能设备等)连接。子设备注册有以下两种方式:

    • 设备注册:在 EnOS Edge 配置中心直接创建要接入的子设备,配置中心调用设备连接与管理的 REST API,然后在 EnOS 云端中创建设备。
    • 静态注册:在 EnOS 管理控制台中创建要接入的子设备,然后在 Edge 配置中心进行绑定。由 Edge 代理子设备连接至 EnOS 云端。


  8. 设备数据传输

    • Edge与设备连接与管理直接连接,子设备由Edge代理连接至设备连接与管理。
    • Edge与与设备连接与管理之间的数据传输,使用MQTT协议。
    • 如果启用基于证书的双向认证机制,Edge与设备连接与管理之间的数据传输内容将被证书加密。