KLink网关与子设备使用示例

本文描述使用KLink格式的网关与子设备接入IoT OS的流程。

【说明】:

  1. 此文中举例皆为MQTT协议。
  2. 终端子设备区别于普通设备,子设备不能直接接入平台,需要挂载在网关下。如冷水主机、冷冻泵等。关于各种设备的详情可以参考创建产品名词解释

接入流程简介

子设备无法像普通设备那样直接进行连接,需要通过网关进行接入。网关可以直接进行连接,连接上与普通设备比较接近。网关与子设备系统的连接步骤主要为下列阶段:

前期准备->网关登录->网关添加子设备->子设备注册->子设备上线->网关、子设备上报->子设备下线->网关下线

【注】:

  1. 若用户创建的子设备不允许动态注册设备,则子设备需要在完成产品创建后在IoT OS自行创建相应的设备;
  2. 若用户创建的子设备允许动态注册设备,则需要先进行"设备注册"后再进行"子设备上线"。
  3. 子设备的任意操作都需要依靠网关,要保持网关始终处于连线状态,并且使用网关来上报子设备的操作。

网关与子设备可以进行的拓扑操作:

网关添加拓扑关系->网关删除拓扑关系网关查看拓扑详情

前期准备

  1. 需要在IoT OS创建相应的网关产品,以及相应的子设备产品。关于创建网关与子设备的详情可参考设备接入-创建产品。并且已经完成产品物模型的创建;
  2. 在IoT OS完成网关设备的创建(即设备注册);

第一步 网关登录上线

相关设备创建完成后,首先需要使用网关进行登录上线操作。 网关与普通设备一样,可以直连平台登录,并且使用长连接协议的情况下,连接成功后网关即完成登录操作。

第二步 子设备注册

  1. 若子设备所属产品不允许动态注册,则用户需要在IoT OS自行创建设备。完成设备创建后,设备自动完成注册操作。

  2. 若子设备所属的产品允许动态注册,则用户可以直接通过下列子设备动态注册命令进行设备注册。指令详情可见KLink-动态注册设备

    {
    "action": "register",
    "msgId": 1,
    "pk": "ec5e57589e6643c39f67ab640c8777dd",
    "devId": "znsb-sub-dy001"
    }
    

第三步 网关添加子设备

网关登录成功后网关即可和普通设备一样开始进行上报操作,除了普通设备可进行的相关操作外,网关可以进行拓扑操作。

由于子设备无法直连平台进行相应操作,所以需要使用网关来挂载子设备。

【注】:网关添加的子设备必须已完成注册。

使用下列指令进行子设备的添加。指令详情可见KLink-添加拓扑关系

{
  "action": "addTopo",
  "msgId": 1,
  "pk": "07b9373e9912416fa775ec904e385234",
  "devId": "gateway001",
  "sub": {
    "pk": "6250d3bdaeef469b9c420635867c859a",
    "devId": "znsbSub001"
  }
}

顺利完成后可以在相应网关设备的"子设备管理"中查看和管理子设备。如下图所示。

第四步 子设备上线

完成在网关下添加子设备后,可以进行子设备的登录。详情可见KLink-子设备上线

{
  "action": "devLogin",
  "msgId": 1,
  "pk": "6250d3bdaeef469b9c420635867c859a",
  "devId": "znsbSub001"
}

【注】使用模拟器模拟网关和子设备时,先使用网关的信息进行登录,在确保完成子设备添加之后,使用此命令进行子设备的登录。此时模拟器使用的登录信息仍为网关的连接信息。

第五步 子设备下线

非直连设备,即需要挂在在网关下的终端子设备需要主动上报进行登出操作。详情可见KLink-子设备下线

{
  "action": "devLogout",
  "msgId": 1,
  "pk": "6250d3bdaeef469b9c420635867c859a",
  "devId": "znsbSub001"
}

第六步 网关查看拓扑关系

网关可以查看当前的网关的拓扑关系。只需要使用网关上报下述命令。详情可见KLink-网关查看拓扑关系

{
  "action": "getTopo",
  "msgId": 1,
  "pk": "07b9373e9912416fa775ec904e385234",
  "devId": "gateway001"
}

此时可以收到云端的回复:

{
  "action": "getTopoResp",
  "msgId": 1,
  "pk": "07b9373e9912416fa775ec904e385234",
  "devId": "gateway001",
  "code": 0,
  "subs": [
    {
      "pk": "6250d3bdaeef469b9c420635867c859a",
      "devId": "znsbSub001"
    }
  ]
}

可以从云端的回复看到网关下挂载的子设备信息。

第七步 网关删除拓扑关系(删除子设备)

网关可以对已经建立的拓扑关系进行删除,即可以删除添加的子设备。只需使用网关上报下述命令。详情可见KLink-网关删除拓扑关系

{
  "action": "delTopo",
  "msgId": 1,
  "pk": "07b9373e9912416fa775ec904e385234",
  "devId": "gateway001",
  "sub": {
    "pk": "6250d3bdaeef469b9c420635867c859a",
    "devId": "znsbSub001"
  }
}

此时再进行网关查看拓扑关系命令收到的回复:

{
  "action": "getTopoResp",
  "msgId": 1,
  "pk": "07b9373e9912416fa775ec904e385234",
  "devId": "gateway001",
  "code": 0,
  "subs": []
}

可以得知已经将子设备与网关的连接关系解除了。

【注】:此命令只是对网关和子设备的逻辑关系进行解除,不会影响到设备的信息。

第八步 网关离线

当网关完成操作后,可以进行离线操作。

【注】:网关设备和普通设备一样为直连设备,使用长连接协议时断开连接时自动完成此步骤,不需要像子设备那样主动上报。

模拟器展示网关与子设备关系

为方便用户理解网关与子设备连接时两者的关系,接下来使用模拟器来展示两者的关联。

【说明】: IoT OS利用设备信息里的产品PK设备ID来区分设备。

此例中网关信息:

产品PK:07b9373e9912416fa775ec904e385234
ID:gateway001

此例中子设备信息:

产品PK:6250d3bdaeef469b9c420635867c859a
设备ID:znsbSub001

一、网关登录

模拟器模拟网关和模拟普通设备一样,如图所示连接信息皆为网关设备信息。

二、网关添加子设备

如图所示网关通过指令添加子设备。

三、子设备连接操作

如图展示了子设备需要通过网关进行上报操作。

【说明】:

  1. 如图连接信息仍然为网关设备,即保持网关在线。
  2. 上报信息为子设备,即子设备通过网关接入平台。

results matching ""

    No results matching ""

    results matching ""

      No results matching ""