在这本书即将完稿时(2023年第二季度),OpenAI正式推出GPT-4文本生成AI系统,英伟达推出了全栈AI芯片工具和平台,接着苹果发布了Vision Pro。它们改变了AI开发的基础技术栈,带来了全新的交互方式,使得普通人群也能轻松应用AI技术。毫不夸张地说,这一年是AI的里程碑时刻。它对技术领域的影响尤其巨大,各大巨头公司都在为跟上这个新时代的步伐做出积极的改变,人们也在热烈讨论未来AI应用将如何影响生活、职业和教育。
然而,“AI向左,IoT向右”,2017年第一波AI技术出现的时候曾推动了IoT的发展,当时还有一个技术术语叫AIoT(Artificial Intelligence of Things,人工智能物联网)。它是将人工智能(AI)与物联网(IoT)相结合的概念,旨在利用人工智能技术来增强物联网系统的智能和自动化能力。通过将AI技术应用于物联网中的传感器数据分析、模式识别、自适应控制等方面,AIoT可以实现更智能、自主和高效的物联网应用。AIoT的应用范围非常广泛,涵盖了诸多领域,如智能家居、智慧城市、工业自动化、智能交通、健康医疗等。这一切的基础逻辑就是机器学习。无论视觉类AI技术、生产式AI技术、自然语言大模型AI技术还是推理类AI技术,都离不开机器学习,而机器学习的基础条件就是要有大量的数据作为学习原料。目前,各种互联网平台和系统产生了大量数据,现实世界的摄像头和传感器也采集了大量数据。因此,数据将是连接AI和IoT的最基本因素。
AI已经快速发展,IoT也不能拖后腿。困扰物联网行业发展的问题其实早就存在优秀的解决方案,全球数以万计的程序员在开源社区创造出很多优秀的物联网项目,并应用到了现实场景中。其中,Node-RED就是最受欢迎也最令人兴奋的项目之一。由于Node-RED具备可视化编程能力,因此很多人可以快速上手,但是应用到实际场景中还是会面临非常多的挑战。这些挑战并不是你需要熟悉一门开发语言,或是对某个技术协议要特别熟悉,而是具体细节的配置方式、物联网流程的设计思路、协议转换过程中的协议选择、嵌入项目中的集成方式等。所以,我们往往在使用Node-RED以后会觉得越用问题越多,而中文资料又欠缺和分散,这是促使我们写本书的原因。
希望本书不仅可以带领读者入门Node-RED,还能通过实际案例的分析帮助读者快速落地物联网应用项目,并且激发读者对物联网场景应用开发的兴趣。
严格来说,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标准和技术发展趋势。此外,该站点还为读者提供了丰富的学习资源,包括共享的流程、配置文件等。
本书共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在物联网系统中的真正价值有一个直观的了解。
在为本书建立的Node-RED中文站点http://www.nodered.org.cn中,可以访问在线的Node-RED(www.nodered.org.cn:1880)。其中部署了本书的所有实例流程,支持直接体验和测试。读者也可以通过以下地址下载实例代码:http://www.nodered.org.cn/flows.json。
同时,伴随着技术的更新,该网站会提供最新的Node-RED相关技术的中文文档。
由于作者水平有限,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。联系邮箱为6067953@qq.com,微信号为CubeTech。
感谢成都纵横智控科技公司的胡涛、Easy、Enjoyment提供Modbus的案例和技术协助。
感谢成都极企科技有限公司的徐开、蒲江提供传感器的案例和技术协助。
感谢我们最亲爱的儿子Jeff给予我动力,使我能在纷杂事务中挤出时间完成本书。
谨以此书献给我爱与爱我的人。
何铮 朱迪