当前位置:   article > 正文

好书推荐 《Node-RED物联网应用开发技术详解》

好书推荐 《Node-RED物联网应用开发技术详解》

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

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

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 以前的版本无法使用。 下图是基于浏览器的流程编辑器示意图。

image-20240521020014485

基于浏览器的流程编辑器示意图

2.基于流程引擎

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

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

image-20240521020027807

基于 FBP 的图形创建工具 DrowFBP

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

3.基于低代码开发平台

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

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

image-20240521020052430

三大技术领域构建物联网节能应用场景

在新兴的物联网领域进行开发,我们需要跨” 三界”,而 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 物联网应用开发技术。

image-20240521020139778

《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

购买链接

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/623999
推荐阅读
相关标签
  

闽ICP备14008679号