Node-RED 的工业应用场景

Node-RED 的工业应用场景_第1张图片

   几年前就从树莓派,arduino 等创客教程中看到了Node-RED。只知道它是IBM 公司的一个开源项目-基于数据流(dataflow)的可视化编程工具。网上的许多文章和例子大都是树莓PI,arduino的node-RED/ IoT 例子,这给我造成 Node-RED 是个小玩意的印象。并没有太多地留意和深入地学习。直到最近,发现许多大公司的产品都支持Node-RED,比如西门子公司的IoT2000,研华公司的WISE PaaS 网关,美国OPTO  Groov EPIC等设备中都安装了Node-RED,表明它在工业物联网和控制中已经广泛应用了。Node-RED 和Docker,MQTT,InFluxDB 等术语同时出现在许多网络文章中。

       周末稍微深入地看了一些网络文章,这才发现,Node-RED 并不只是业余爱好者的编程工具。它俨然成为工业物联网,设备和云端数据流控制的有力工具,在工业物联网,边缘计算和云端都具有专业的应用场景。 

    嗨!碎片化信息有时会使我们不识庐山真面目。

Node-RED 的专业应用场景

  • 用于设备

    Node_RED 本质上是一个NodeJS 应用程序,所以能够在Linux平台的任何设备上安装,比如流行的有树莓Pi,在工业领域,西门子Iot2000,研华 WISE PaaS 网关,美国OPTO 22公司的Groov EPIC 都预先安装了Node-RED.。

下面是Groove EPIC 边缘可编程工业控制器。

Node-RED 的工业应用场景_第2张图片

     使用Node-RED 可以不编写任何程序,使用Web 浏览器界面进行可视化编写数据流控制程序。提高了物联网终端设备的编程效率。

   而厂家的工作就是要为客户编写各种Node 和flow 库。

从研华WISE/PaaS 的软件架构中,我们看到了Node-RED和MQTT。

Node-RED 的工业应用场景_第3张图片

 在设备中使用Node-RED 的好处在于可以让系统工程师方便地编写和修改物联网终端上的程序。

  • 用于云端

      同样地,Node-RED 也可以部署在云端,或者边缘设备上,实现云端应用的可始化编程。下面是一个典型的应用架构。Node-RED 主要用于物联网数据的格式转换和预处理。并将数据存储到实时数据库influxDB 中,最后Grafana 可视化显示。

Node-RED 的工业应用场景_第4张图片

 

  • 用于容器(微服务)之间的数据流控制

   云端应用的容器化/微服务化成为趋势,使用容器技术的优点就是快速部署和更新应用。但是如果一个任务需要多个容器来完成,比如采集到的数据需要存储,可视化,和AI 分析。如何解决容器之间的数据流控制呢?而且数据流方式也可能还不断地修改,比如数据有时需要进行不同的滤波算法。在这种场景下,使用Node-RED 数据流工具作为应用程序的开发工具,容器中是微服务,每个微服务要在Node-RED 中添加一个节点(在Node-RED 中称为Node和Flow)

   

Node-RED 的工业应用场景_第5张图片

 使用了Node-RED 工具后,如果已经编写了微服务和相关的node节点,可以很快地部署云端应用。

Node—RED 的库

一个好的架构姑且十分重要。不过,像我们身体一样,如果只有骨架,如果没有肌肉。无法获得健壮的体魄。开源项目的优点就在于可以实现众人拾柴火焰高的果效。Node-RED 的强大之处在于众多公司和个人已经开发了大量的Node-RED库,在Node-RED 网站上可以找到大量的节点(目前可以看到有3124 个节点)。

 许多的工业控制公司也开发了针对自身产品的node和flow,例如

node-red-contrib-s7 就是实现西门子S7 PLC 交互的节点。

node-red-contrib-modbus 是实现TCP和串口  modbus 的节点。

 有了丰富的库之后,可以灵活,高效地编写各种专业的IoT 项目。

你可能感兴趣的:(iot,linux,node-RED)