Node-RED 物联网应用开发:十大特性



在这里插入图片描述

前言

Node-RED作为一个开源项目在推出后获得了巨大的成功和广泛的开发者的支持,其跨界能力和全新的开发方式成为最大的特点。Node-RED可以轻松完成工业控制、物联网、网络通信、信息化等多种跨界融合场景的应用,同时使用了低代码平台和流程化引擎的全新方式进行开发。

Node-RED是一个开源的可视化编程工具,用于连接物联网(IoT)设备、API和在线服务。随着物联网的快速发展,越来越多的设备需要连接和交互。传统的编程方法需要处理大量的底层细节,如网络协议、数据格式和设备驱动程序。这使物联网应用程序的开发变得非常复杂。Node-RED通过提供可视化的编程方式和大量的现成节点库,为物联网设备的连接和交互提供了一种简单而灵活的方式。

Node-RED是全球范围内物联网领域的明星项目,拥有数以百万计的用户。由于 Node-RED 具备可视化编程能力,因此很多人可以快速上手,但是应用到实际场景中还是会面临非常多的挑战。这些挑战并不是你需要熟悉一门开发语言,或是对某个技术协议要特别熟悉, 而是具体细节的配置方式、物联网流程的设计思路、协议转换过程中的协议选择、嵌入项目中的集成方式等。下面列举Node-RED的十大特性:

1. 可视化编程

Node-RED提供了一个基于浏览器的流程编辑器,不仅可以非常方便地将面板上丰富的节点组装成流程,而且可以通过一键部署功能,将其安装到运行环境中。利用其中的富文本编辑器可以创建JavaScript函数。预置的代码库可用于保存有用的函数、模板和可复用的流程。

也就是说,使用Node-RED不需要安装其他任何软件,直接通过浏览器就可以使用。由于Node-RED编辑器采用了websocket等HTML5的特性,因此需要选择webkit内核的浏览器,如Chrome浏览器、IE Edge浏览器、360浏览器极速模式、safari浏览器等,IE11以前的版本无法使用。 下图是基于浏览器的流程编辑器示意图。

在这里插入图片描述


2. 基于流程引擎

Node-RED内置了一个功能强大的规则引擎,支持用户定义条件和触发器,实现自动化和响应性的流程。这使用户可以根据特定的规则来控制和操作流程中的节点。这种方式叫FBP(Flow Based Programming,面向流程的开发方式),是一种基于组件的软件工程方法,由J Paul Morrison在IBM工作时创。

FBP是将程序概念化为由一系列节点和连接线组成的流程图,通过图形化的方式进行”组装”,通过图形化、流程化、组件、连接点、消息包等主要概念完成整个系统的开发和调试。FBP的编程使用图形化方式来表示程序的结构。节点是组件的实例,节点之间通过端口连接。节点上的输出端口只能连接到另外一个节点的输入端口。图形被构建为程序的静态视图,该视图在运行环境的帮助下运行。目前,一些编辑FBP流程图的工具如Draw FBP、NoFlo等可视化工具,也可以使用文本领域特定语言格式进行构建。Node-RED采用JSON格式进行构建。基于FBP的图形创建工具DrowFBP工作流程如下图所示。

在这里插入图片描述

同时,图形化是一种非常适合视觉表达的模型,使更多的用户可以更容易地理解流程。如果有人能把一个问题分解成离散的步骤,他们就能创建一个流程,并知道它在做什么,而不必理解每个节点中的每行代码。


3. 基于低代码开发平台

Node-RED提供了流程可视化配置加部分低代码方式完成整个工作,只需要用户掌握简单的Javascript编程语言,通过少量代码编写就可实现各种定制化的智能场景需求。

Node-RED是一款专门为物联网开发提供支持的低代码平台。一个物联网应用基本涉及三个方面的技术领域:IT信息技术(Information Technology)、IoT物联网技术(Internet of Thing)、OT自动化技术(Operational Technology)。下图描述了一个典型的物联网应用的技术使用和相互的配合。

在这里插入图片描述
在新兴的物联网领域进行开发,我们需要跨”三界”,而Node-RED将这三个不同领域的技术简单地连接到了一起,稍加学习就可以通过极低的代码或者0代码完成一个常见的物联网应用系统的开发。同时,IT工程师、OT工程师、IoT工程师都可以通过Node-RED快速熟悉本领域之外的技术知识,通过可视化和流程化的方式清晰地了解整个物联网系统的全景运行逻辑和过程,为物联网数字化时代做好技术储备。


4. 强大的节点库

Node-RED拥有一个庞大的节点库,其中包含各种功能和操作的节点,例如传感器、数据库操作、网络通信、数据转换等。用户可以根据需求选择适当的节点来构建流程。节点库包含核心内部节点、官方扩展节点和第三方扩展节点。目前,第三方扩展节点已经超过4000个,覆盖了物联网和信息集成的方方面面。


5. 多种数据格式支持

Node-RED支持多种常见的数据格式(包括JSON、XML、CSV等),方便用户在流程中进行数据的处理和转换。而这些数据格式基本上在大多数其他系统中都是通用的,特别是JSON格式。


6. 基于Node.js的开放性和可扩展性

Node-RED采用了基于Node.js的轻量化运行环境,充分继承了事件驱动和非阻塞模型的优点,不仅能运行在云平台中,也能非常好地运行在像树莓派这类位于网络边缘的低功耗硬件设备上。借助超22万的既有Node模块资源,可使组件面板的类型范围以及整个工具的能力扩展变得非常容易。
Node-RED虽然是基于Node.js的环境开发完成的,但这并不意味着使用Node-RED也需要学习Node.js技术。大部分情况下,直接使用已经开发好的组件并通过基于JavaScript的少量代码编写即可完成需求,除非你需要修改Node-RED源代码来符合自己项目的要求或者自己开发满足自己需求的组件。


7. 轻量级和跨平台

Node-RED以Node.js为运行环境,具有轻量级和高效的特点。它可以在多种操作系统上运行,包括Windows、Linux和Android等以及Docker虚拟环境,简单来说只要能够运行Node.js环境的地方都可以轻松部署Node-RED,同时系统资源要求也极低,在512MB内存环境就可以运行。因此,很多物联网边缘网关产品也开始搭载Node-RED。


8. 集成多种协议和通信方式

Node-RED支持多种常见的通信协议(包括连接设备的Modbus、KNX、BACnet、Lonworks、Zigbee、Lora、UDP、TCP/IP等,连接服务的HTTP、Websocket、MQTT等),可以方便地与不同类型的设备和服务进行交互。


9. 社区支持和丰富的生态系统

Node-RED拥有活跃的开发社区和庞大的用户群体,用户可以在社区中获取支持、交流经验,并共享自己的节点和流程。此外,Node-RED还有丰富的生态系统,提供了各种插件和扩展,扩展了功能和应用范围。所有的Node-RED流程都可以方便地使用JSON格式保存,这使其非常易于导入、导出以及与他人分享。同时,Node-RED 3.02版本目前已经有超过4065个第三方开发的节点可以供自由下载和使用。整个Node-RED平台只要按照Apache License Version 2.0 (Apache 2.0 开源协议)的要求即可无障碍地部署到个人或者商业环境中进行使用。


10. 可部署性和可扩展性

Node-RED的流程可以轻松地部署到各种环境中,包括本地计算机、云服务器和物联网设备等。它具有良好的可扩展性,可以应对不同规模和需求的项目。因此在一个完整的物联网项目中可以部署多个Node-RED来协同工作,包括云端物联网平台、本地物联网平台、边缘物联网网关、物联网开发环境等。在不同的硬件上运行Node-RED保持了操作的一致性,使用方式没有变化,可以方便地成形项目化和产品化的能力。

目前,市面上中文资料又欠缺和分散,近期新出版的《Node-RED物联网应用开发技术详解》 可以很好的帮我们学习Node-RED物联网应用开发技术。

在这里插入图片描述
《Node-RED物联网应用开发技术详解》这本书不仅可以带领读者入门 Node-RED,还能通过实际案例的分析帮助读者快速落地物联网应用项目,并且激发读者对物联网场景应用开发的兴趣。本书注重使用Node-RED开发物联网应用的各种技术和方法,它还有一个姊妹篇《Node-RED物联网应用开发工程实践》(即将上市),讲解了Node-RED的官方扩展节点、自定义节点、团队开发等物联网应用端到端开发的细节,以及数据采集、智能家居、智能办公、智能节能方面的4大工程实战案例。这两本书都配有大量辅助资源,包括流程实例、配置文件、实例代码等,可以通过本书的配套网站(Node-RED中文站)来获取。


读者对象

无论 IT 工程师、OT(运营技术)工程师,还是创客、技术爱好者,都可以通过学习 Node-RED 来创建自己的物联网应用。
IT 工程师:无论前端工程师还是后端工程师,都适合学习 Node-RED。前端工程师可以独立完成物联网后台的数据采集和控制,自行通过 HTTP、WebSocket、MQTT(消息队列遥测传输)等常用的协议来对接前端界面,实现完整应用。后端工程师可以直接利用 Node-RED 数据采集和控制的能力并配合 dashboard 配置应用界面,实现完整的物联网应用。

OT 工程师:OT 工程师可以将已经熟练使用的各种 OT 自动化控制器接入 Node-RED 中,然后通过 Node-RED 的流程编排和低代码能力完成后续信息化工作,开发独立的物联网应用或者对接应用系统,实现数字化转型。

技术爱好者 / 创客:当需要完成软硬件一体的物联网方案时,采用 Node-RED 和配套的树莓派等硬件,可以方便地开发系统原型,完成验证工作。同时,可以利用 Node-RED 的扩展能力,寻找所需的传感器和控制器方案,以逐步实现自己的设想。

科技企业:虽然这是一本面向个人学习的技术书籍,但是初创企业、集成商、大企业的 IT 部门也可以通过这本书来改变目前正在开发或者使用的物联网系统的技术选型,降低开发成本,提高对未来不断变化的场景需求的适应能力,甚至可以弥补自身开发团队的短板,突破更多的应用瓶颈。


本书特色

全面且系统:本书涵盖了 Node-RED 的理论、使用和开发等内容,解决了网络上Node-RED 中文信息分散的问题,以及物联网扩展知识点的连通问题,为读者提供了全面而系统的知识框架。

实践导向和解决方案:第 6 章通过大量流程示例帮助读者理解基础概念,并且涉及实际项目中的大部分应用场景;第 7 章整理出 Node-RED 使用中解决常见需求的 40 多个流程,可以指导读者快速使用 Node-RED 完成实际任务;第 8 章介绍重要节点dashboard 的使用,同时引入了第三方节点进行数据采集,完整地演示了利用 Node- RED 实现物联网应用实时数据采集、界面展现的全部过程。

清晰而深入的讲解方式:以简洁清晰的语言解释复杂的概念,并提供大量系统截图、表格和源代码,使读者可以轻松理解书中的内容。

最新技术和学习资源:为了与最新的 Node-RED 技术趋势保持同步,我们特别建立了 Node-RED 中文站点 www.nodered.org.cn,读者可以通过此站点了解最新的 Node- RED 标准和技术发展趋势。此外,该站点还为读者提供了丰富的学习资源,包括共享的流程、配置文件等。

主要内容

《Node-RED物联网应用开发技术详解》共 8 章,从 Node-RED 背景、环境准备、安装开始,详细讲解了 Node-RED 编辑器使用以及 Node-RED 配置细节、Node-RED 的核心节点,最后通过完整的物联网实战案例介绍了物联网应用的开发流程。各章内容简介如下。

第 1 章对 Node-RED 进行简单介绍,包括 Node-RED 的发展历史、特性等。

第 2 章介绍如何建立 Node-RED 的运行环境,包括在不同的操作系统和 Docker 中安装Node-RED 的方法。读者可以根据自己的实际环境进行选择性阅读。

第 3 章通过创建两个简单的流程,让读者快速体验 Node-RED 的使用方法,最后介绍了流程备份或导出的方法。

第 4 章介绍 Node-RED 流程编辑器的使用方式,包括如何在图形编辑器上建立流程、节点、连线、子流程,以及如何使用环境变量等。

第 5 章介绍 Node-RED 的配置项,Node-RED 可以根据实际使用需求,通过配置文件进行配置项调整。

第 6 章详解 Node-RED 内置的 40 多个节点。

第 7 章通过案例讲解实际开发过程中的常见问题。

第 8 章通过气象台应用开发的讲解,演示如何真正实现一个物联网应用,让读者对Node-RED 在物联网系统中的真正价值有一个直观的了解。


正版购书链接:https://item.jd.com/14559566.html>



在这里插入图片描述



  • 26
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
Node-Red是一个开源的可视化编程工具,可以用于构建物联网应用程序。在工业物联网中,Node-Red可以作为网关应用程序的核心,处理设备数据、执行控制操作和与云平台通信。以下是基于Node-Red的工业物联网网关应用开发步骤: 1. 确定应用场景和需求:根据工业物联网应用需求,确定需要采集的设备数据、控制操作、通信协议和云平台接口等。 2. 确定硬件平台和设备接口:选择合适的硬件平台,如树莓派、Arduino等,确定设备接口,如GPIO、串口、I2C、SPI等。 3. 安装Node-Red:在硬件平台上安装Node-Red,可以使用官方提供的安装包或手动安装。 4. 配置设备接口:在Node-Red中配置设备接口,使用相应的节点和插件进行设备数据采集和控制操作。 5. 配置通信协议和云平台接口:在Node-Red中配置通信协议和云平台接口,使用相应的节点和插件进行数据传输和处理。 6. 编写应用程序逻辑:使用Node-Red提供的可视化编程工具,编写应用程序逻辑,实现设备数据采集、控制操作和云平台通信。 7. 测试和调试:在硬件平台上进行测试和调试,确保应用程序正常运行。 8. 部署和运维:将应用程序部署到生产环境中,进行运维和维护,保证应用程序的稳定性和可靠性。 总之,基于Node-Red的工业物联网网关应用开发需要具备一定的硬件和软件技术基础,同时需要对工业物联网应用场景和需求有深入的了解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我有一颗五叶草

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值