【发布时间】:2018-03-11 23:22:47
【问题描述】:
我已经尝试设置 ThingsBoard 几天了,到目前为止一切顺利。我不知道如何将属性(有时在聚合模式下 - 平均、总和等)和遥测数据从设备推送到其相关资产。
有什么简单的方法吗?我没有找到任何这样的 API。
谢谢
【问题讨论】:
标签: assets telemetry thingsboard
我已经尝试设置 ThingsBoard 几天了,到目前为止一切顺利。我不知道如何将属性(有时在聚合模式下 - 平均、总和等)和遥测数据从设备推送到其相关资产。
有什么简单的方法吗?我没有找到任何这样的 API。
谢谢
【问题讨论】:
标签: assets telemetry thingsboard
以下是用于推送资产遥测数据的API,但您还需要至少是客户用户才能使用该API,即需要将标头中的授权令牌设置为x-authoization:Bearer {JWTtoken}
API:/api/plugins/telemetry/ASSET/{assetId}/timeseries/SERVER_SCOPE/
方法:POST
request(example):
{
"ts": 1563456910227,
"values": {
"longitude": "78.381984",
"latitude": "17.448645",
"fuel": "30",
"speed": "42",
"vehicleType": "bus",
"status": "On route"
}
}
【讨论】:
Thingsboard 支持 MQTT、CoAP 和 HTTP。详情请见https://thingsboard.io/docs/user-guide/telemetry/#device-telemetry-upload-api。
【讨论】:
【讨论】:
您可以利用规则引擎实时执行此操作。
首先,您必须在设备和资产之间建立relation,这可以通过Web UI 或REST APIs 完成。下面是包含设备 恒温器 A 的资产 Building A 的屏幕截图:
要将 Thermostat A 数据推送到相关资产 Building A,请使用规则链,其中关键步骤是 changing the message originator 从设备到相关资产,然后保存时间序列(或属性)的资产。您可以决定是否执行双重保存(首先在设备上,然后在资产上,正如我在下面的规则链中所做的那样)或仅在资产级别存储数据。我认为最好的做法是在上传原始数据后立即存储它们,并在需要时在进一步计算后进行额外的持久化。
here 描述了上述示例的高级版本,它显示了安装在仓库(资产)中的室外和室内恒温器(设备)之间的温差计算。
有一些规则节点适合您的用途,例如 Duplicate To Related 或 Aggregate Stream,但它们仅在 Thingsboard PE 版上可用。
【讨论】: