我有兴趣创建一个在工业 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 功能,以便您可以
关于apache-nifi - Apache NiFi 和 MTConnect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47910842/