Skip to content
本页目录

 

ThingsKit物联网平台

开箱即用的物联网低代码平台

入门介绍

在物联网中,网关的作用是将那些本身不能直接连接平台的设备,通过网关的中转,让设备接入平台。网关起到的作用是数据转发和协议转换。

网关和平台的通信主要分为:

  • 网关设备自身和平台的通信,例如:上报网关自身的设备状态和属性,接收平台对网关的控制指令等。
  • 网关子设备和平台的通信,例如:网关连接的 Zigbee 温湿度传感器向平台上报温湿度,以及网关连接的 RS485/Modbus 继电器数据或传感器数据,接收平台下发的实时指令。这些子设备的通信都需要经过网关的转发。

这一节,我们主要介绍的是利用网关如何实现子设备和平台的通信,Thingskit提供了一套网关专用的 MQTT 协议,包括独立的主题和消息格式。

为网关添加子设备

在使用网关 MQTT 协议时,需要先在 Thingskit平台上为网关和子设备绑定关系。

对于MQTT网关子设备而言,上报上来的遥测数据,系统会自动创建。

设备类型

首先,网关和子设备都是 设备,它们的区别仅仅在于所属的 设备类型 不同:

  • 网关设备 必须归属于 网关设备 设备类型。

  • 网关子设备 必须归属于 网关子设备 设备类型。

网关子设备

使用者,只需要单击编辑,重新绑定一下网关设备,来辨别两者之间的关系。如下图:

image-20230420144907257

网关子设备,如下图:

image-20230420145327088

关联关系如下图:

image-20230420144827693

设备连接 API

为了通知 ThingsKit 设备已连接到网关,需要发布以下消息:

Topic: v1/gateway/connect
Message: {"device":"Device A"}
1
2

其中 **Device A ** 是您的设备名称。

一旦收到,ThingsKit 将查找或创建具有指定名称的设备。此外,ThingsKit 将向此网关发布有关特定设备的新属性更新和 RPC 命令的消息。

设备断开 API

为了通知 ThingsKit 设备与网关断开连接,需要发布以下消息:

Topic: v1/gateway/disconnect
Message: {"device":"Device A"}
1
2

遥测上传接口

为了将设备遥测发布到 ThingsKit 服务器节点,请将 PUBLISH 消息发送到以下主题:

Topic: v1/gateway/telemetry
1

提示

这里的Device_A_Sub是网关子设备。

数据上报格式如下:ts是以毫秒为单位的 unix 时间戳。

{
  "Device_A_Sub": [
    {
      "ts": 1483228800000,
      "values": {
        "temperature": 42,
        "humidity": 80
      }
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11

或者

{
  "Device_A_Sub": [
    {
       "temperature": 42,
       "humidity": 80
    }
  ]
}
1
2
3
4
5
6
7
8

调用控制接口

服务器端 RPC

为了从服务器订阅 RPC 命令,发送 SUBSCRIBE 消息到以下主题:

v1/devices/me/rpc/request/+
1