ThingsKit开发指南-数据流转

数据流转是规则引擎中处理和转换数据的常见方式。用户可以通过RabbitMQKafkaMQTTRest Api这四种方式,将想要的数据转发出去。同时用户可以在 规则链 里面将脏数据行过滤、清洗等操作,以提高数据的质量、提高数据分析的准确性、增强数据的价值、减少冗余和重复数据。

流转的数据格式

ThingsKit开发指南-数据流转

参数说明

  • deviceId:TK的设备ID
  • deviceName:设备名称
  • deviceProfileId:产品的ID
  • deviceType:产品名称
  • 其他:上报的数据

数据过滤

用户需要访问平台规则链菜单的后台管理页面,通过根规则链找到对应的节点,通过编写javascript代码进行数据的 清洗过滤修改数据格式 等操作。

ThingsKit开发指南-数据流转

RabbitMQ

前置条件:RabbitMQ已安装,如未安装请自行安装。

  1. 如何配置?

在平台创建RabbitMQ进行数据转发时,建议用户先在RabbitMQ的管理页面,创建自定义的 虚拟主机队列 交换机 并让它们之间形成绑定关系然后在平台填写使用的RabbitMQ信息。

ThingsKit开发指南-数据流转

💡注意:

交换机模式:amq.direct、amp.fanout、amq.headers、amq.match、amq.rabbitmq.trace、amq.topic。队列:在创建时,使用的以上哪种模式创建的,在thingskit数据流转配置时也要输入。

ThingsKit开发指南-数据流转
  1. 如何消费

用户可以通过java编写消费者进行消费,具体示例如下:

ThingsKit开发指南-数据流转
ThingsKit开发指南-数据流转

Kafka

前置条件:Kafka已安装,如未安装请自行安装。

💡提示:

如用户不想自己创建主题,可以通过设置kafka的参数KAFKA_CFG_AUTO_CREATE_TOPICS_ENABL=true来自动创建不存在的主题。

通过Kafka创建消费者,并定义消费者的topic。以下为通过windows安装Kafka并执行的命令:

ThingsKit开发指南-数据流转

如果消费者收到以下信息代表数据流转成功,如下图:

ThingsKit开发指南-数据流转

MQTT

前置条件:MQTT Broker已安装,如未安装请自行安装或使用第三方Broker。

以下示例通过 MQTTBox(模拟设备)MQTTX(模拟消费者)EMQ(模拟MQTT Broker)、ThingsKit数据流转(模拟生产者) 进行的模拟。

ThingsKit开发指南-数据流转

Rest Api

第三方平台需要定义 无需登录 可以直接访问的api接口,且接口请求方式为 POST ,参数接收用@RequestBody 具体示例如下:

ThingsKit开发指南-数据流转