apache-nifi - Apache NiFi 和 MTConnect

标签 apache-nifi

我有兴趣创建一个在工业 PC 上运行的软件,连接到某些 CNC 型号的机床,读取数据并将其发送到远程云平台。根据要求,数据必须以 MTConnect 的 XML 架构格式发送。另外,数据传输必须使用MQTT协议(protocol)来完成。

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

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

是否有任何 nifi 处理器可以将此 MTConnect 层应用于数据?这个想法是否正确,或者我是否必须以其他方式完成整个过程?如果有任何关于此的建议,我将不胜感激。

最佳答案

罗布泰克, 根据 CNC 模型 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

关于apache-nifi - Apache NiFi 和 MTConnect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47910842/

相关文章:

csv - Apache NiFi : Changing Date and Time format in csv

cron - 如何在 CRON 驱动的 DetectDuplicate 中摄取所有流文件?

python - NiFi : Unable to add external library to ExecuteScript Processor for Python

java - 使用 java 的 Apache NiFi REST Api

apache-nifi - PutFile 追加文件

hadoop - 如何在 Apache NiFi 中动态地将值从 executeSQL 传递到 SelectHiveQL

hadoop - Apache Nifi MergeContent 输出数据不一致?

ssl - 使用 ubuntu 将 .password 文件添加到 .p12 文件

java - 运行实例化 NiFi 接收器的 Spark 应用程序时出现依赖项错误