Apache NiFi和MTConnect

时间:2017-12-20 16:50:59

标签: apache-nifi

我有兴趣创建一个在工业PC上运行的软件,连接到某些CNC机床模型,读取数据并将其发送到远程云平台。作为要求,必须在MTConnect的XML模式中格式化数据。此外,数据传输必须使用MQTT协议完成。

为了开发这个系统,我正在考虑使用Apache Nifi。我们的想法是开发定制的nifi处理器,使用相应的API连接到特定的CNC模型,并使用另一个nifi处理器在下一步中应用MTConnect语义层。最后,会有一个MQTT处理器来远程发送数据。

使用Apache NiFi的原因是它允许我们对系统进行图形配置,并且还可以促进其可扩展性。

是否有任何nifi处理器可以将此MTConnect图层应用于数据?这个想法是正确的,还是我必须以另一种方式完成整个过程?对此我有任何建议。

1 个答案:

答案 0 :(得分:2)

Robtek,   根据CNC Model API,您可能需要也可能不需要编写自定义处理器来与CNC工具进行交互。我知道有些CNC服务器使用RESTful API - 例如[1]。在这种情况下,您可以使用InvokeHTTP处理器。您可以在[2]中阅读有关InvokeHTTP处理器的更多信息。有了这个,您应该能够使用PublishMQTT处理器[3]发布到MQTT。

这是一种非常合理的方式来访问数据并将其发布到MQTT主题。

值得注意的是,MiNiFi C ++也在构建MQTT功能。拉动请求[4]即将推出MQTT功能,以便您可以

[1] https://github.com/techninja/cncserver

[2] https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.4.0/org.apache.nifi.processors.standard.InvokeHTTP/

[3] https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-mqtt-nar/1.4.0/org.apache.nifi.processors.mqtt.PublishMQTT/index.html

[4] https://issues.apache.org/jira/browse/MINIFICPP-342