自定义下发类任务
约 667 字大约 2 分钟
自定义下发类任务
自定义下发类任务用来构造自定义数据,通过自定义数据流下发给设备。
提示
关于 自定义数据流 的详细介绍,请浏览 自定义数据流
自定义下发推送方式
当使用自定义下发任务时,您需要指定下发推送方式:
- MQTT:用于设备通过 MQTT 接入自定义数据流。
- TCP:用于设备通过 TCP 接入自定义数据流。
如下图:
静态自定义下发
直接填写要下发的自定义数据,支持自定义数据流的几种数据格式。
例如,下发一个自定义的 JSON
格式消息:
例如,下发一个 Modbus RTU
查询消息:
云函数自定义下发
同样也支持通过云函数来实时构造要下发的自定义数据。如下图:
构造二进制数据
type
:hex
msg
:string
类型,用十六进制字符串形式表示二进制消息。
例如:
module.exports = function () {
var data = {
type: "hex",
msg: "010300ff8312"
}
return data;
}
构造 JSON 数据
type
:json
msg
:object
类型,表示JSON
消息。
例如:
module.exports = function () {
var data = {
type: "json",
msg: {
"data": {
"code": "2021",
"params": {
"brightness": 10000
}
}
}
}
return data;
}
构造 Plaintext 文本消息
type
:text
msg
:string
类型,表示消息文本。
例如:
module.exports = function () {
var data = {
type: "text",
msg: "control,relay1:0,relay2:1"
}
return data;
}
Modbus RTU 下发
针对 Modbus RTU 协议快速生成下发消息,支持功能码包括:
0x01
:读取线圈状态0x02
:读取输入状态0x03
:读取保持寄存器0x04
:读取输入寄存器0x05
:写入单个线圈寄存器0x06
:写入单个保持寄存器0x10
:写入多个保持寄存器
使用非常简单,可以快速生成任务,向设备(或通过 DTU 透传)下发 Modbus
查询指令,同时利用规则引擎的 Modbus
解析操作,将从机设备上报的 Modbus
消息直接解析为设备属性。
写入多个保持寄存器
对于 0x10
功能码,可以设置将多个静态数据写入指定的寄存器地址,例如:
也可以设置将设备的指定属性值,作为数据写入指定的寄存器地址,这样便可以实现和设备属性的同步,例如:
有了这样的特性,我们便可以通过 ThingsCloud 提供的通用应用软件及交互组件,快捷的更新设备属性值,然后一键下发 Modbus
指令给设备。