开发者中心

设备集成

概述

对接设备中讨论了将设备集成到QuarkIoE中的基本生命周期。 在本节中,我们将展示如何使用MQTT实现来管理这个生命周期。 生命周期包括两个阶段,即启动阶段和循环阶段。

启动阶段可以只是检查凭证:

循环阶段由两种动作组成:

MQTT阶段

启动阶段

步骤 0: 请求设备凭证

在QuarkIoE中,每个MQTT连接都需要进行身份验证。 您可以使用MQTT实现中的设备凭证主题为设备生成新凭证。 一旦设备检索到凭证,它需要将其存储在本地以方便进一步的连接。

该过程工作如下:

  • QuarkIoE假定每个设备都有某种形式的唯一ID。 设备标识符可以是网络适配器的MAC地址,移动设备的IMEI或硬件序列号。
  • 当您使用新设备时,您可以在QuarkIoE的"设备注册"中输入此唯一ID,然后启动设备。
  • 设备可以使用此ID作为MQTT ClientId的一部分以及可从support@quarkioe.com查询的静态用户凭证。
  • 设备订阅主题s/dcr
  • 设备开始发布空消息到主题s/ucr以通知服务器准备好接收凭证
  • 您可以在"设备注册"中接受设备的连接,在这种情况下,QuarkIoE会将生成的凭证发送到设备。

设备将接收以下格式的消息:


  70,<tenant>,<username>,<password>
                      

在接收到凭证后,设备可以关闭MQTT连接并使用接收到的凭证创建一个新连接。

步骤 1: 验证设备

由于MQTT支持自动创建设备,如果客户端发送数据,并且没有设备存在,则只有在您想创建设备时,才需要执行此步骤。

可以通过静态模板 100创建设备。 此模板可以在设备的每次自举时使用,因为它将仅创建设备(如果尚未存在)。 设备将自动连接到客户端使用的ID及其MQTT ClientId。


  100,Device Name,Device Type
                      
步骤 2: 验证子设备

像根设备一样,它的子设备也被自动创建设备所覆盖。

要手动处理此步骤,您可以发送静态模板 101创建子设备。 像上面一样模板将只创建子设备(如果尚未存在)。


  101,Unique Child ID,Child Name,Child Type
                      
Step 3: 订阅主题

如果设备支持操作,它应该订阅它需要的所有主题(静态模板和SmartREST 2.0)。

循环阶段

当设备保持活动的MQTT连接时,它可以在静态模板的主题或SmartREST模板的主题上发布以向服务器发送数据。 物理设备(因为MQTT ClientId)直接连接到QuarkIoE中的设备对象。 因此,您发送的任何数据都会自动连接到设备。 要将数据发送到子设备,请将数据发布到主题参见设备层级结构

步骤 B: 接收CSV操作

通过订阅主题,设备自动告诉QuarkIoE它想要接收操作。 任何创建的操作都将使用静态模板或设备定义的模板自动解析。

步骤 A: 发送CSV数据