场景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与设备连接与管理之间的数据传输内容将被证书加密。