新技术总是带来变化。Netflix取代了附近的Blockbuster电影院。Priceline取消了对旅行社的需求。如果你还记得花几个小时浏览Tower Records唱片,那么你也见证了从黑胶唱片到cd再到mp3等电子音乐文件的转变。随着消费者采用更有效的互联网方式,这些旧的商业模式几乎在一夜之间消失了。
如今,随着工业物联网(IIoT)采用率的提高,工业商业格局也正在彻底改变。加速这一令人兴奋的变化的工具之一是Node-RED,这是一种用于连接工业物联网的开源可视化工具。
让许多专有自动化技术供应商懊恼的是,开源工具、互联网标准和商业现成技术已经渗透到工业技术领域。其中一个最突出的例子是以太网,它几乎结束了现场总线之争。
作为变革的推动者,这些基于开放标准的技术使工业(操作技术或OT)和信息技术(IT)资产之间的信息共享民主化。OT和IT系统之间的信息访问增加,为行业异类提供了进入新市场或获取更多市场份额的机会。
但工业物联网的采用仍然存在障碍。
收养挑战依然存在
在最近的一次调查中商业内幕受访者表示,尽管工业物联网只会继续增长,但开发工业物联网解决方案面临的最大挑战是系统集成。翻译:我们如何让我们的OT系统与我们的IT系统对话?
从协议和连接的角度来看,答案很简单:TCP/IP和以太网。然而,当我们剥开系统互操作性的层时,我们最终会遇到软件形式的障碍。开发人员如何从供应商a的可编程逻辑控制器(PLC)或可编程自动化控制器(PAC)获得软件堆栈,以便与供应商B的预测分析软件通信?
例如,开发人员如何将数据从自动化控制器转移到像IBM Watson物联网平台这样的认知分析应用程序?更重要的是,开发人员如何在没有无数个开发周期或数小时的人力配置和故障排除复杂中间件的情况下做到这一点?
简单的答案是:Node-RED。
降低软件开发风险
工业物联网普及率低的根源是这些新技术的投资回报率(ROI)不确定。不确定性是企业的风险敞口。在当今的商业环境中,在技术投资上花费的资源必须产生良好的ROI。在大多数情况下,这种回报需要在几周或几个月内达到,而不是几年。
那么,我们如何减少软件开发和集成风险呢?答案是快速失败。高效的应用程序开发需要工程师快速创建原型,如果一个想法没有成功,也需要快速失败。
快速失败的概念在整个软件行业中是众所周知的,尽管并不总是适用。当我们快速失败时,我们会开始开发一个产品、服务或应用程序,迅速了解我们是否做出了正确的决定,如果不是,就在我们浪费不必要的资源进行进一步开发之前迅速终止它。
工业物联网应用开发也应充分利用敏捷方法.敏捷开发为传统的顺序应用程序开发提供了替代方案。敏捷通过将工作分解成增量的、迭代的块,并获得即时的经验反馈,帮助团队对不可预测性做出反应。
换句话说,这个软件真的能用吗?如果没有,那是哪部分坏了?
负责设想下一个大型工业物联网应用程序的软件工程师需要能够通过敏捷应用程序开发快速失败。但如何?输入Node-RED。
从hello world到hello connected world
工业物联网的目标是将传感器、计算系统和在线服务连接在一起,以降低成本,提供更高的服务水平,确定新的收入来源,并可能使世界变得更清洁、更安全、更美好。
但是,构建工业物联网所需的互联设备、软件和服务的庞大网络是复杂的。它需要数小时的破解和调试复杂的软件代码。真的是这样吗?
工业物联网应用程序的软件开发可能是一项有点重复的任务。例如,开发人员需要多长时间编写代码从串行设备读取数据并将其发布到web服务器?正是这些重复的软件开发任务迅速侵蚀了工业物联网项目的投资回报率。
Node-RED旨在为工业物联网开发人员提供一个易于使用的可重用代码软件工具包,新手可以使用它并快速创建应用程序原型,但功能足够强大,可以创建现实世界的工业物联网应用程序,利用人工智能、机器学习和先进的互联网通信和数据处理。
什么是Node-RED?
Node-RED有一个在web浏览器中显示的易于使用的图形界面,您可以在其中拖放基于javascript的可重用软件代码块,称为节点。这些节点使工业物联网应用程序开发更简单,更容易重复,并更快地扩展。
当几个节点连接在一起时,它们就成为一个节点流。节点流是开发人员用来将其工业物联网应用程序数字化连接在一起的工具,利用硬件设备、应用程序接口(api)和云中托管的在线服务的节点。
node - red构建在流行的node .js JavaScript服务器端运行时之上,拥有一个庞大的现有节点库——超过600个预构建和准备部署的节点——IIoT应用程序开发人员可以自由地将其直接部署到他们的应用程序中。Node-RED甚至内置了对流行的IIoT和工业协议的支持,如MQTT, Modbus, CoAP, AMQP, BLE, OPC UA,甚至是用于设备发现的mDNS。
通过这个庞大的预构建代码库,Node-RED为工程师提供了一种简单的方法,将边缘计算系统(如Opto 22的SNAP pac等工业自动化控制器)连接到亚马逊网络服务(AWS)物联网、IBM Watson物联网和微软Azure等云服务。
Node-RED的简单性使工业物联网应用程序开发人员可以专注于识别机会和开发解决方案,而不是从头开始构建应用程序的组件。例如,如果您想创建一个应用程序来轮询来自Modbus TCP设备的数据,将这些数据记录到SQL数据库,然后将其移动到机器学习应用程序(如IBM的watson)中—有用于所有这些功能的节点,这些节点已经开发好,可以部署,而无需编写、调试或支持软件代码。
高级JavaScript函数也可以在编辑器中使用Function节点创建。内置库允许开发人员保存有用的函数、模板或节点流以供重用。Node-RED中创建的流使用广为人知的JSON格式存储,可以轻松地与其他开发人员和应用程序共享。
Node-RED的预构建代码库极大地降低了软件开发风险,加快了上市时间。拖放、连接在一起、部署。就是这么简单。
行业应用
Node-RED是由IBM新兴技术服务部的Nick O’leary和Dave Conway-Jones发明的开源开发环境。它也是JS基金会的一部分,一个Linux基金会项目。它的根牢牢地扎根于开源和广泛采用的软件代码的世界。
Node-RED开发环境可在GitHub.com和npmjs.org上使用,几乎可以在任何平台上运行,从macOS, Microsoft Windows, Linux和树莓派到IBM Bluemix和AT&T Flow等云产品,以及工业产品,如内置工业协议支持的强化IIoT应用程序开发平台,如groov来自Opto 22的箱式电器。