跳至主要內容

设备消息

约 1337 字大约 4 分钟

设备消息

在 ThingsCloud 平台,设备消息是重要的计费项之一。

很多其它章节中都有提到设备消息,这一节我们从设备消息的视角出发,来整体介绍设备消息的相关概念。

什么是设备消息?

设备消息是指物理设备与平台之间进行双向通信时传输的数据。

那么,具体来说,一条设备消息是什么样的呢?下边举几个例子:

  • 物理设备向平台设备发送的一条属性上报消息,包含了温度属性值,如下:
{
    "temperature": 32
}

也可以包含温度、湿度、二氧化碳浓度多个属性值,这仍然是一条消息。如下:

{
    "temperature": 32,
    "humidity": 50,
    "co2": 500
}
  • 平台向物理设备发送的属性下发消息,可以包含一个或多个属性值,如下:
{
    "relay1": true,
    "relay2": false
}
GPS=E:117.1392,N:34.66583

通过在平台自定义的消息规则,以上消息会被解析成 JSON 格式,生成新的一条属性上报消息,如下:

{
    "location": {
        "lat": 34.66583,
        "lng": 117.1392
    }
}
  • 平台向物理设备发送一条自定义数据下发消息,内容是用 HEX 表示的二进制数据,内容是一条 Modbus RTU 的查询指令。
01 03 00 00 00 02 C4 0B

物理设备回复平台,发送了一条 HEX 消息,内容是 Modbus RTU 的回复指令,如下:

01 03 04 01 0D 01 B2 EB E9 

以上的下发和上报,总共是 2 条设备消息。

设备消息支持哪些格式?

通过上边列举几种类型的设备消息,我们可以看到,设备消息支持 JSON、Plaintext、HEX 三种格式。

以下列出各种消息类型,对应的消息格式,以及支持的设备端协议。

消息类型消息格式设备端协议
属性上报JSONMQTT HTTP
属性下发JSONMQTT
设备获取属性JSONMQTT HTTP
设备获取属性回复JSONMQTT HTTP
事件上报JSONMQTT HTTP
命令下发JSONMQTT
命令回复JSONMQTT
自定义数据上报JSON HEX PlaintextMQTT TCP
自定义数据下发JSON HEX PlaintextMQTT TCP

设备端如何向平台发送消息?

ThingsCloud 平台支持开放的设备接入协议,设备端可以通过 MQTT、TCP、HTTP 等标准网络协议接入平台,还可以通过市面上常见的 DTU、网关、通信模组等产品快速接入平台。

详细介绍请浏览 设备接入指南

平台如何向设备端下发消息?

可以通过以下方式向设备端下发消息:

  • 在控制台的设备详情页,下发属性和下发命令。
  • 在控制台的设备调试界面中,快速为设备下发各类消息,可用于协议调试和设备故障排查。
  • 看板大屏App 设备面板中,为设备下发各类消息。
  • 使用项目 HTTP API,向设备下发消息。
  • 使用应用端 API,向设备下发消息。

使用设备消息调试

ThingsCloud 控制台为您提供了快捷的设备消息调试界面,可以帮助您:

  • 实时监视设备端和平台之间双向传输的所有消息,包括 JSONPlaintextHEX 等格式。
  • 查看消息错误的提示信息。
  • 快速向设备下发消息进行测试,包括:下发属性、下发命令、下发自定义数据。

详细介绍请浏览 设备消息调试

消息规则

利用消息规则,我们可以对设备消息进行各种计算、处理、流转等操作,详细介绍请浏览 消息规则

如何查看设备消息使用统计

在控制台的项目概要页面,可以看到设备消息数的使用统计趋势图,这里显示了最近 3 天的每小时统计,以及最近 30 天的每日统计,如下图:

还可以进入设备详情页,查看当前设备的消息使用统计,如下图:

每日消息量上限

在项目中,每日总消息量的上限,取决于项目版本以及日消息量的扩容,您可以在控制台概要页面查看当前版本的日消息量上限,以及当日已使用的消息量实时统计。如下图:

当已使用消息量达到每日上限后,平台会立即停止接收或发送设备消息,直到下一天的零点,已使用消息量清零,平台自动恢复接收或发送设备消息。

可以通过以下方式提升日消息量上限:

  • 购买或升级项目版本。
  • 在付费版基础上,购买设备日消息量扩容包。

ThingsCloud 作为物联网公有云,可扩容的日消息量没有上限,请根据实际业务需求,按需扩容日消息量上限。了解价格