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