编辑推荐
详解Node-RED开发IoT应用的技术细节和工程实践。
内容简介
本书从技术角度系统讲解了Node-RED的使用方法和如何应用Node-RED开发物联网应用,是Node-RED领域的标准性著作,得到了Node-RED项目创始人Nick O'Leary的高度评价。
本书包含Node-RED的设计思想、技术基础、环境搭建、流程创建、使用方法、配置方法、内部节点、应用开发方法,以及解决常见需求的44个流程,几乎涵盖了使用Node-RED开发物联网应用所需的所有基础知识,能为读者建立完整的Node-RED知识体系和框架。
本书注重使用Node-RED开发物联网应用的各种技术和方法,讲解了Node-RED的官方扩展节点、自定义节点、团队开发等物联网应用端到端开发的细节,以及数据采集、智能家居、智能办公、智能节能方面的4大工程实战案例。
作者简介
作者何铮,资深物联网技术专家,成都极企科技公司创始人兼CEO,领导极企科技专注于智能大楼的产品和解决方案的研发,获得三轮融资,获得国家高新技术企业认证和多项国家专利。基于对创新技术的热爱和追求,长期奋战在物联网应用开发一线,带领团队完成数十个头部企业的智能楼宇项目,拥有丰富的理论和实践经验。
章节目录
版权信息
前言
第1章 初识Node-RED
1.1 什么是Node-RED
1.2 Node-RED的发展历史
1.3 Node-RED的十大特性
1.3.1 可视化编程
1.3.2 基于流程引擎
1.3.3 基于低代码开发平台
1.3.4 强大的节点库
1.3.5 支持多种数据格式
1.3.6 基于Node.js的开放性和可扩展性
1.3.7 轻量级和跨平台
1.3.8 集成多种协议和通信方式
1.3.9 社区支持和丰富的生态系统
1.3.10 可部署性和可扩展性
第2章 Node-RED环境建立、安装和运行
2.1 技术准备一:Node.js
2.1.1 安装
2.1.2 版本计划
2.2 技术准备二:NPM
2.2.1 安装
2.2.2 常见的NPM命令
2.3 技术准备三:Git
2.3.1 安装
2.3.2 Git常用命令
2.4 在Windows中安装和运行Node-RED
2.4.1 安装Node.js
2.4.2 安装Node-RED
2.4.3 运行Node-RED
2.4.4 安装Node.js的Windows构建工具
2.5 在Linux中安装Node-RED
2.5.1 安装Node.js
2.5.2 以NPM工具安装Node-RED
2.5.3 以Snap工具安装Node-RED
2.6 在树莓派系统中安装和管理Node-RED
2.6.1 安装Node-RED
2.6.2 在本地运行
2.6.3 作为服务运行
2.6.4 开机自动启动
2.6.5 改变用户身份运行
2.6.6 配置代理
2.6.7 与树莓派GPIO交互
2.7 在OpenWrt中安装和运行Node-RED
2.8 在Android中安装和运行Node-RED
2.8.1 在Android中安装Node-RED
2.8.2 开机自动运行Node-RED
2.9 在Docker中安装和管理Node-RED
2.9.1 在Docker中如何快速地运行Node-RED
2.9.2 镜像变化
2.9.3 管理用户数据
2.9.4 更新Node-RED镜像
2.9.5 复制到本地资源的Dockerfile
2.9.6 Docker Compose和Docker Stack
2.9.7 启动参数
2.9.8 后台运行
2.9.9 容器命令行
2.9.10 运行多个实例
2.9.11 链接容器
2.9.12 在Docker中如何使用串行端口
2.10 使用源代码启动Node-RED
2.10.1 技术准备
2.10.2 克隆代码并安装依赖项
2.10.3 构建Node-RED
2.10.4 运行Node-RED
2.10.5 开发模式
2.11 Node-RED命令行工具
2.11.1 Node-RED命令行用法
2.11.2 将参数传递给底层Node.js进程
2.11.3 升级Node-RED
2.12 安装节点到Node-RED
2.12.1 使用编辑器安装
2.12.2 使用NPM安装
2.12.3 升级节点
第3章 使用Node-RED创建流程
3.1 创建第一个流程
3.1.1 访问编辑器
3.1.2 添加inject节点
3.1.3 添加debug节点
3.1.4 将inject节点和debug节点连接在一起
3.1.5 部署
3.1.6 注入
3.1.7 添加function节点
3.2 创建第二个流程
3.2.1 功能简述
3.2.2 添加inject节点
3.2.3 添加http request节点
3.2.4 添加debug节点
3.2.5 添加function节点
3.2.6 添加split节点
3.2.7 添加switch节点
3.2.8 添加另一个function节点
3.2.9 完整的流程
3.2.10 部署
3.3 备份流程
第4章 Node-RED使用指南
4.1 图形编辑器
4.1.1 节点面板
4.1.2 工作区
4.1.3 侧边栏
4.1.4 功能菜单
4.2 流程面板
4.2.1 添加流程面板
4.2.2 编辑流程面板属性
4.2.3 启用或禁用流程面板
4.2.4 隐藏或显示流程面板
4.2.5 删除流程面板
4.2.6 在流程之间切换
4.3 节点
4.3.1 通过拖曳添加节点
4.3.2 通过对话框快速添加节点
4.3.3 编辑节点属性
4.3.4 启用或禁用节点
4.3.5 节点选择
4.3.6 排列节点
4.4 连接线
4.4.1 拆分连接线
4.4.2 移动连接线
4.4.3 选择多条连接线
4.4.4 删除连接线
4.4.5 删除节点但保留连接线
4.5 节点组
4.5.1 创建节点组
4.5.2 编辑节点组属性
4.5.3 节点组的其他操作
4.6 子流程
4.6.1 新建子流程模板
4.6.2 编辑子流程模板
4.6.3 删除子流程模板
4.6.4 新建子流程实例
4.6.5 编辑子流程实例
4.6.6 删除子流程实例
4.7 环境变量
4.7.1 设置环境变量
4.7.2 调用环境变量
4.7.3 Node-RED内置环境变量
4.8 上下文
4.8.1 节点上下文
4.8.2 流程上下文
4.8.3 全局上下文
4.8.4 子流程上下文
4.8.5 上下文存储
4.9 消息
4.9.1 通过msg对象在不同流程中传递数据
4.9.2 消息的数据类型
4.9.3 理解消息的结构
4.9.4 更改消息属性
4.9.5 消息序列
第5章 Node-RED配置指南
5.1 配置文件settings.js
5.1.1 配置文件简介
5.1.2 恢复出厂设置
5.1.3 配置文件存储位置
5.2 配置项指南
5.2.1 流程文件和目录设置
5.2.2 安全性设置
5.2.3 服务器设置
5.2.4 运行时设置
5.2.5 编辑器配置
5.2.6 节点配置
5.3 Node-RED安全配置说明
5.3.1 启用HTTPS访问
5.3.2 刷新HTTPS证书
5.3.3 编辑器安全
5.3.4 设置允许访问的用户白名单
5.3.5 令牌有效期控制
5.3.6 自定义安全策略
5.3.7 自定义中间件
5.3.8 HTTP节点安全
5.4 为Node-RED增加日志记录
5.4.1 配置控制台记录器
5.4.2 自定义日志记录模块
5.4.3 添加日志记录模块示例
第6章 Node-RED核心内部节点
6.1 公用类节点
6.1.1 inject节点
6.1.2 debug节点
6.1.3 状态节点组
6.1.4 连接节点组
6.1.5 comment节点
6.2 功能类节点
6.2.1 function节点
6.2.2 switch节点
6.2.3 change节点
6.2.4 range节点
6.2.5 template节点
6.2.6 delay节点
6.2.7 trigger节点
6.2.8 exec节点
6.2.9 filter节点
6.3 网络类节点
6.3.1 HTTP节点组
6.3.2 MQTT节点组
6.3.3 UDP节点组
6.3.4 TCP节点组
6.3.5 WebSocket节点组
6.4 Sequence类节点
6.4.1 split节点
6.4.2 join节点
6.4.3 sort节点
6.4.4 batch节点
6.5 Parser类节点
6.5.1 csv节点
6.5.2 html节点
6.5.3 json节点
6.5.4 xml节点
6.5.5 yaml节点
6.6 Storage类节点
6.6.1 write file节点
6.6.2 read file节点
6.6.3 watch节点
第7章 用Node-RED处理常见需求
7.1 处理消息
7.1.1 设置Message对象中的属性值
7.1.2 删除Message对象中的某个属性
7.1.3 移动Message对象中的值
7.1.4 对数值范围进行映射
7.2 控制流
7.2.1 Node-RED启动时自动触发一个流程
7.2.2 以固定间隔触发一个流程
7.2.3 指定时间触发一个流程
7.2.4 基于一个属性路由消息
7.2.5 基于上下文变量路由消息
7.2.6 对数组中的每个元素进行操作
7.2.7 “看门狗”功能的实现
7.2.8 当流程停止发送消息时发送占位符消息
7.2.9 让消息传送速率减慢
7.2.10 以固定速率处理消息
7.2.11 忽略未更新值的消息
7.2.12 将来自不同数据源的消息合并为一条消息
7.3 处理错误
7.3.1 当节点抛出错误时触发一个流程
7.3.2 出错后自动重试
7.4 使用数据格式
7.4.1 转换JSON
7.4.2 转换XML
7.4.3 转换YAML
7.4.4 生成CSV输出数据
7.4.5 解析CSV输入数据
7.4.6 从HTML页面提取数据
7.4.7 将文本拆分为多条消息进行处理
7.5 HTTP响应
7.5.1 响应内容中的数据来自其他流程
7.5.2 响应的内容是JSON数据
7.5.3 响应的内容是图片文件
7.5.4 用POST请求将原始文本数据提交到一个流程
7.5.5 用POST请求将表单数据提交到一个流程
7.5.6 用POST请求将JSON数据提交到一个流程
7.6 HTTP请求
7.6.1 发出简单的GET请求
7.6.2 动态设置请求URL
7.6.3 用模板设置请求URL
7.6.4 在URL中设置查询字符串参数
7.6.5 获得一个解析后的JSON回应
7.6.6 获得一个二进制回应
7.6.7 设置请求标头
7.7 MQTT请求
7.7.1 连接到一个MQTT代理
7.7.2 发布消息到一个主题
7.7.3 设置发布消息的主题
7.7.4 发布保留消息到一个主题
7.7.5 订阅一个主题
7.7.6 接收一个解析的JSON消息
第8章 数据可视化实战:气象台应用
8.1 背景和目标
8.2 应用需求
8.3 技术架构
8.4 技术准备
8.4.1 dashboard节点安装
8.4.2 weather节点安装
8.4.3 经纬度查询
8.4.4 节点输出测试
8.5 实现
8.5.1 展现当前温度、湿度、气象、空气质量、今日日期
8.5.2 展现当日的日出时间、日落时间
8.5.3 展现当前气压、两小时降雨概率
8.5.4 展现近24小时湿度变化和气压变化
8.5.5 语音播报综合气象
Node-RED物联网应用开发技术详解是2024年由机械工业出版社出版,作者朱迪。
得书感谢您对《Node-RED物联网应用开发技术详解》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。