设备基础
设备基础
设备是我们在 ThingsCloud 平台上为物理设备创建的一个虚拟实体,物理设备可以是一个传感器、一个控制器、一个执行器、一个网关设备,也可以是一个微控制器,一个通信模组等。

因此,一个物理设备要接入平台,就需要在平台上创建对应的设备。创建设备有多种方式:
根据接入类型的不同,设备分为直连设备、网关子设备、网关三种。在创建设备的时候,如果不关联设备类型,则设备默认为直连设备。如果关联设备类型,则设备类型中定义了设备的接入类型。
不论是哪种接入类型的设备,在平台上都是独立的实体,占用项目中的设备数量。
如何创建设备?
在控制台手动创建设备的方法如下:
- 进入设备列表页面,点击“创建设备”按钮。
- 填写设备名称,该名称仅在控制台和应用中显示。起一个便于识别的名称,支持中英文。
- 设备唯一标识用于设备一型一密接入方式,不需要可以不填。
- 选择关联设备类型,也可以此时不关联,随后可以修改。[设备类型]为设备提供了附加能力。
- 选择设备组,也可以此时不选择,随后可以修改。
- 填写设备描述,用于对设备进行描述。
- 点击“提交”按钮。

如何编辑设备基本信息?
在控制台的设备列表中,点击设备,进入设备详情页,可以在这里编辑设备的基本信息,包括:
- 设备名称
- 设备唯一标识
- 关联的设备类型
- 所属设备组
- 设备描述信息
- 标签
如何删除设备?
在控制台进入设备详情页,在设置页面中,点击“移除设备”按钮。
移除设备需要符合一定的条件:
- 该设备无上报数据超过 24 小时,
- 若是网关设备,必须先移除子设备。
设备移除后无法恢复,请谨慎操作。
设备数量上限
项目中可创建的设备数量,取决于当前版本的设备数量上限,您可以在控制台概要页面查看。

可以通过以下方式提升设备数量上限:
- 购买或升级项目版本。
- 在付费版基础上,购买设备数量扩容包。
ThingsCloud 作为物联网公有云,可扩容的设备数量没有上限,请根据实际业务需求,按需扩容设备数量上限。了解价格
设备最近活跃时间
设备最近活跃时间是指设备端向平台最后一次发送数据的时间,用来帮助我们快速了解设备有多久没有向平台发送数据。
设备最近活跃时间在平台以及应用中可能显示为多种形式,例如:
- 2024-09-21 14:20:23
- 3 分钟前

平台将设备端向平台发送数据视为活跃的标志,设备端向平台发送数据包括以下多种形式:
- 设备通过 MQTT 或 TCP 协议向平台发送连接请求,并且成功建立连接。
- 设备向平台发送 MQTT 心跳包。
- 设备向平台发送 TCP 心跳包。
- 设备向平台发送各类消息,如属性上报、事件上报、命令回复、自定义数据上报等。
以上这些形式,都被视为设备活跃的标志。
需要注意的是,平台向设备端下发数据,不会计入设备活跃时间。
设备活跃状态
了解设备活跃时间后,我们可以进一步了解什么是设备的活跃状态。
设备活跃状态表示设备是否在一段时间内有过活跃,分为“活跃”和“不活跃”两种状态。
这里的一段时间,我们称为活跃超时时间。可以在设备类型的设置中进行修改,新建的设备类型中默认是 5 分钟。
也就是说,当设备的最后一次活跃时间(即设备端向平台最后一次发送数据的时间)与当前时间的间隔小于或等于活跃超时时间时,平台会认定该设备处于活跃状态。反之,如果这个时间间隔超过了活跃超时时间,平台则会将该设备判定为非活跃状态。
例如,若活跃超时时间设置为 5 分钟,当设备在 4 分钟前向平台发送了数据,由于 4 分钟小于 5 分钟的活跃超时时间,此时平台会认为该设备处于活跃状态;若设备在 6 分钟前向平台发送了数据,6 分钟超过了 5 分钟的活跃超时时间,平台就会判定该设备为非活跃状态。
设备活跃状态可用于统计和筛选设备,例如在控制台的概要中,会显示当前项目中活跃设备的数量,如下图:

此外,您还可以在设备列表中,根据其它活跃超时时间来筛选活跃的设备,如下图:

设备在线状态
设备的在线状态用于表示设备是否与平台保持连接,分为“在线”和“离线”两种状态。

平台判断设备在线状态的标准如下:
- 若设备端在时间 T 内,向平台发送过数据,平台会认定该设备处于在线状态。
- 若设备端主动断开与平台的连接,平台则会立即将该设备判定为离线。
这里的主动断开连接,仅在设备通过 MQTT 和 TCP 接入方式下有效。若设备通过 HTTP 接入平台,不存在断开连接的概念。
这里提到的时间 T,也被称作在线超时时间,用户可以在设备类型中自行设置该时间。每个设备类型在创建完成后,默认的在线超时时间为 10 分钟,具体设置界面如下图所示:
设备向平台发送数据的形式丰富多样,具体包括:
- 设备通过 MQTT 或 TCP 协议向平台发送连接请求,并且成功建立连接。
- 设备向平台发送 MQTT 心跳包。
- 设备向平台发送 TCP 心跳包。
- 设备向平台发送各类消息,如属性上报、事件上报、命令回复、自定义数据上报等。
综上所述,当设备端在时间 T 内未向平台发送任何数据时,平台会将该设备判定为离线。
下面通过一个具体例子进行说明:一台 4G 设备通过 MQTT 协议接入平台,平台上该设备的在线超时时间设置为 5 分钟。
- 若设备端的 MQTT 心跳周期为 180 秒(即 3 分钟),由于心跳周期小于在线超时时间,该设备将一直显示为在线状态。
- 若设备端由于某种原因主动断开 MQTT 连接,平台会立即将该设备显示为离线状态。
- 若设备端的 MQTT 心跳设置为 600 秒(即 10 分钟),设备连接成功后第 5 分钟时,因超过了在线超时时间且未发送心跳包,该设备会显示为离线;到第 10 分钟时,由于设备再次发送了 MQTT 心跳包,平台会将该设备重新显示为在线状态。
另外一个例子,一台 DTU 通过 TCP 接入平台,平台上该设备的在线超时时间设置为 5 分钟。
- 若设备端设置了 TCP 心跳包周期为 180 秒(即 3 分钟),由于心跳周期小于在线超时时间,该设备将一直显示为在线状态。
- 若设备端未启用 TCP 心跳包,但是通过定时任务每分钟向平台发送了一次自定义数据流消息,该设备将一直显示为在线状态。
设备在线状态与设备活跃状态,是我们对设备的两种不同的观察视角,并没有必然的关联。一个设备处于在线状态,并不一定是活跃的。
设备告警状态
首先,您需要了解什么是告警规则,平台上的设备可以拥有多个告警规则,设备的每个告警规则都有自己的当前告警状态。
设备的告警状态是指设备的所有告警规则当前状态的总体结果。
例如:
- 设备有两个告警规则,规则 1 的告警状态为“普通告警”,规则 2 的告警状态为“正常”,那么设备的告警状态就是“普通告警”。
- 设备有两个告警规则,规则 1 的告警状态为“紧急告警”,规则 2 的告警状态为“普通告警”,那么设备的告警状态就是“紧急告警”。