ThingsBoard允许你从服务端应用程序向设备发送远程过程调用RPC反之亦然。
本教程将向你展示如何使用规则引擎将远程请求调用发送到关联设备。
让我们假设以下用例:
注意: |
转子电机控制左右保证风向与风力涡轮机之间的角度不得超过5度。 |
我们假设你已完成以下指南并查看了以下文章:
风力发电机已安装风向传感器和转子电机两个设备:
在本节中我们将解释本教程中每个节点的用途:
以下显示了RPC调用请求教程的规则链图片:
你也可以自己创建新的规则链在下一节将向你展示如何创建它。
在本教程中你将创建8个节点并如下所述:
添加Message Type Switch并将其连接到Input节点
该节点将根据消息类型POST_TELEMETRY_REQUEST路由入站消息。
输入名称Message Type Switch。
添加Save TimeSeries节点并将其连接到Message Type Switch节点其关联类型为Post telemetry。
该节点会将入站消息payload的TimeSeries数据存储到数据库中并将它们与消息发起者标识的设备关联即Wind Direction Sensor和Rotating System。
输入名称Save Time Series
Field | Input Data |
Name | Fetch Wind Sensor Telemetry |
Direction | From |
Max relationship level | 1 |
Relationship type | Uses |
Entity type | Device |
Latest telemetry | true |
Source telemetry | windDirection |
Target telemetry | windDirection |
Field | Input Data |
Name | Create New Telemetry |
Originator source | Related |
Direction | To |
Max relationship level | 1 |
Relationship type | Contains |
Entity type | Asset |
var newMsg = {};
var value = Math.abs(msg.turbineDirection - metadata.windDirection);
if ((value < 180 && msg.turbineDirection < metadata.windDirection)||
(value > 180 && msg.turbineDirection > metadata.windDirection)) {
newMsg.method = 'spinLeft';
}
if ((value <= 180 && msg.turbineDirection > metadata.windDirection)||
(value >= 180 && msg.turbineDirection < metadata.windDirection)) {
newMsg.method = 'spinRight';
}
if(newMsg.method == 'spinLeft' || 'spinRight'){
msgType = 'RPC message';
}
newMsg.params = Math.round(value * 100) / 100;
return {msg: newMsg, metadata: metadata, msgType: msgType};
添加Filter Script节点并将其连接到关联类型为Success的Transform Script。
此节点将检查传入消息的msgType是否为RPC消息。
: return msgType == 'RPC message';
保存已经编辑完成的规则链。
要运行脚本你需要执行以下步骤:
但是这些访问令牌是唯一的你将需要复制设备的访问令牌。
以下屏幕截图显示了Wind Turbine Dashboard的外观:
下载json文件并将其导入。
下一步是配置导入的仪表板使用的别名。
单击Edit alias按钮然后输入下表中显示的输入数据:
Alias | Field | Input Data |
Wind Turbine | Filter type | Single entity |
Type | Asset | |
Asset | Wind Turbine | |
Wind Direction Sensor | Filter type | Single entity |
Type | Device | |
Device | Wind Direction Sensor | |
Rotating System | Filter type | Single entity |
Type | Device | |
Device | Rotating System |
仪表盘的配置现已完成你可以验证它是否按预期工作。
此外你可以看到:
请参阅另请参阅部分下的第二个链接以了解如何执行此操作。
入门指南 - 这些指南提供了ThingsBoard主要功能的快速概述。
安装指南 - 了解如何在各种操作系统上安装ThingsBoard。
设备连接 - 了解如何根据您的连接方式或解决方案连接设备。
数据看板 - 这些指南包含有关如何配置复杂的ThingsBoard仪表板的说明。
数据分析 - 了解如何使用规则引擎执行基本的分析任务。
硬件样品 - 了解如何将各种硬件平台连接到ThingsBoard。
高级功能 - 了解高级ThingsBoard功能。
开发指南 - 了解ThingsBoard中的贡献和开发。