设备消息
设备消息

在 ThingsCloud 平台,设备消息是重要的计费项之一。
很多其它章节中都有提到设备消息,这一节我们从设备消息的视角出发,来整体介绍设备消息的相关概念。
什么是设备消息?
设备消息是指物理设备与平台之间进行双向通信时传输的数据。
那么,具体来说,一条设备消息是什么样的呢?下边举几个例子:
- 物理设备向平台设备发送的一条属性上报消息,包含了温度属性值,如下:
{
"temperature": 32
}
也可以包含温度、湿度、二氧化碳浓度多个属性值,这仍然是一条消息。如下:
{
"temperature": 32,
"humidity": 50,
"co2": 500
}
- 平台向物理设备发送的属性下发消息,可以包含一个或多个属性值,如下:
{
"relay1": true,
"relay2": false
}
- 物理设备向平台发送的一条自定义数据上报消息,内容是 Plaintext 纯文本格式。
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 三种格式。
以下列出各种消息类型,对应的消息格式,以及支持的设备端协议。
消息类型 | 消息格式 | 设备端协议 |
---|---|---|
属性上报 | JSON | MQTT HTTP |
属性下发 | JSON | MQTT |
设备获取属性 | JSON | MQTT HTTP |
设备获取属性回复 | JSON | MQTT HTTP |
事件上报 | JSON | MQTT HTTP |
命令下发 | JSON | MQTT |
命令回复 | JSON | MQTT |
自定义数据上报 | JSON HEX Plaintext | MQTT TCP |
自定义数据下发 | JSON HEX Plaintext | MQTT TCP |
设备端如何向平台发送消息?
ThingsCloud 平台支持开放的设备接入协议,设备端可以通过 MQTT、TCP、HTTP 等标准网络协议接入平台,还可以通过市面上常见的 DTU、网关、通信模组等产品快速接入平台。
详细介绍请浏览 设备接入指南。
平台如何向设备端下发消息?
可以通过以下方式向设备端下发消息:
- 在控制台的设备详情页,下发属性和下发命令。
- 在控制台的设备调试界面中,快速为设备下发各类消息,可用于协议调试和设备故障排查。
- 在看板、大屏、App 设备面板中,为设备下发各类消息。
- 使用项目 HTTP API,向设备下发消息。
- 使用应用端 API,向设备下发消息。
使用设备消息调试
ThingsCloud 控制台为您提供了快捷的设备消息调试界面,可以帮助您:
- 实时监视设备端和平台之间双向传输的所有消息,包括
JSON
、Plaintext
、HEX
等格式。 - 查看消息错误的提示信息。
- 快速向设备下发消息进行测试,包括:下发属性、下发命令、下发自定义数据。
详细介绍请浏览 设备消息调试。
消息规则
利用消息规则,我们可以对设备消息进行各种计算、处理、流转等操作,详细介绍请浏览 消息规则。
如何查看设备消息使用统计
在控制台的项目概要页面,可以看到设备消息数的使用统计趋势图,这里显示了最近 3 天的每小时统计,以及最近 30 天的每日统计,如下图:

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

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

当已使用消息量达到每日上限后,平台会立即停止接收或发送设备消息,直到下一天的零点,已使用消息量清零,平台自动恢复接收或发送设备消息。
可以通过以下方式提升日消息量上限:
- 购买或升级项目版本。
- 在付费版基础上,购买设备日消息量扩容包。
ThingsCloud 作为物联网公有云,可扩容的日消息量没有上限,请根据实际业务需求,按需扩容日消息量上限。了解价格