场景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 Console在EnOS Cloud注册一个Edge应用,并获得该应用的服务账号(SA),即accessKeyaccessSecret

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

    • 创建Edge产品,并注册Edge设备实例,来获得Edge设备三元组。

    • 为待接入Edge的子设备创建产品,获得productkey

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

    • Edge应用的SA,将用于获得调用EnOS API的权限。

    • 由EnOS Cloud颁发的Edge设备三元组。

    • 待接入Edge的子设备所属的产品productkey,以及设备所属组织的标识,即orgId

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

    • Edge携带SA来获得调用EnOS API的权限。如果服务账号不对,则Edge将无法调用EnOS API,鉴权将失败。

    • EnOS Cloud基于IAM中定义的访问权限,校验Edge连接请求中携带的orgIdSA参数,并验证orgId所对应的组织是否注册了Edge应用。如果没有注册Edge应用,鉴权将失败。

    • EnOS Cloud校验请求参数orgIdproductkey的归属关系。如果productkey对应的产品不属于orgId对应的组织,校验将不通过。

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

    • Edge默认启用基于密钥的单向认证。Edge携带三元组连接云端,其中云端会对Edge三元组进行认证,认证通过后,Edge设备将被允许登录。

    • Edge的首次登录会同时激活Edge设备,设备状态将从 未激活 更新为 在线

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

    • EnOS Edge向EnOS IoT Hub发起证书请求,请求中携带证书请求文件(CSR文件)。

    • EnOS IoT Hub将请求转发给EnOS Certificate Service。

    • Certificate Service产生证书,并返回给IoT Hub。

    • IoT Hub记录下Edge关联的证书,并将Edge证书返回给Edge。

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

    • 设备注册:在EnOS Edge配置中心直接创建要接入的子设备,配置中心调用IoT Hub的REST API,然后在EnOS Cloud中创建设备。

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

  8. 设备数据传输

    • Edge与IoT Hub直接连接,子设备由Edge代理连接至EnOS IoT Hub。

    • Edge与与IoT Hub之间的数据传输,使用MQTT协议。

    • 如果启用基于证书的双向认证机制,Edge与IoT Hub之间的数据传输内容将被证书加密。