一
node-red环境搭建
node-red是构建物联网(iot,internet of things)应用程序的一个强大工具,其重点是简化代码块的“连接”以执行任务。它使用可视化编程方法,允许开发人员将预定义的代码块(称为“节点”,node)连接起来执行任务。连接的节点,通常是输入节点、处理节点和输出节点的组合,当它们连接在一起时,构成一个“流”(flows)。
node-red网关开发环境安装流程
docker环境如何部署,网上已经有很多教程,这里不再说明,推荐参考官方安装说明。
二
项目镜像安装
docker安装项目文件非常的简单,只需要两条指令即可实现node-red开发环境部署,其中第一条通过“docker pull 存储库名称”,就可以项目镜像,也可以通过“docker --help”查询指令说明。
docker --help指令(部分)
从node-red 1.0开始,docker hub上的存储库已重命名为“nodered/node-red”,使用“docker pull nodered/node-red”拉取项目镜像。
要以最简单的形式在 docker 中运行,只需运行:
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red
让我们解读下指令:
docker run:运行容器;
-it:打印安装会话,可以省略;
-p:配置本地端口和外部映射端口;
-v node_red_data:/data:挂载一个名为“node_red_data”的docker到容器/数据目录;
--name mynodered:命名为“mynodered”;
nodered/node-red:镜像地址;
只使用“docker run”不先拉取项目镜像也是可以的,该指令会查询本地镜像如果没有就会自动从docker hub存储库下载项目镜像;
其他的自定义安装建议仔细阅读node-red官方文档后进行,笔者这里只是介绍这个工具的一种用法,不使用自定义安装功能。
三
安装插件
通过node-red默认安装环境是无法实现rtu设备的边缘采集,还需要通过安装不同的功能插件才能实现,安装modbus功能插件(node-red-contrib-modbus)实现modbus rtu/modbus tcp协议转换和边缘采集,安装数据库插件(node-red-node-mysql)实现边缘采集数据的存储,除了安装插件还需要少量的“javascript”脚本转换格式和数据上报等。
好在安装插件的过程可以通过可视化网页界面实现,无需理解复杂的安装指令,这也是node-red的优点之一,在地址栏中输入部署node-red环境的ip地址和端口,这里为192.168.88.5:1880。
打开右上角的菜单,选择节点管理,点击“安装”,搜索框中输入modbus功能插件(node-red-contrib-modbus)和数据库插件(node-red-node-mysql)。
成功安装节点后在工具栏新增以下节点:
“node-red-contrib-modbus”节点作者,制作了不同用法的示例,可以通过导入功能,测试理解不同节点的功能,强烈建议多去理解这些实例,方便后续使用。
四
网关实现
添加“modbus read”节点周期查询modbus设备状态,第一需要配置modbus设备的地址,笔者这里使用“modbus slave”软件模拟,地址为192.168.88.100:8890:
图左通过双击打开“modbus read”配置界面,图右新增modbus设备连接地址,图中配置寄存器参数,这里以地址0x0000的保持寄存器为例,配置“poll rate”查询周期。
使用“function”节点提取“modbus read”节点周期查询的数据,双击打开函数节点,编辑以下脚本:
msg.payload=msg.payload.data;
msg.payload=msg.payload.slice(0,1);
return msg;
使用“template”将“function”节点处理的结果进行打包,这里将数据打包为json数据:
最后通过tcp连接将数据传输到指定服务器:
“6”为“debug”节点用于调试,通过上述配置就可以将modbus tcp指令采集到的数据转换为json数据并将数据上报到指定服务器:
也可以通过node-red提供的mqtt连接节点将数据传输到服务器,同时也可以通过“mysql”节点将将采集数据通过sql语句传输到数据库。
采集上报数据库与mqtt服务器流程举例
至此,一个简单的边缘采集网关搭建完成。
一万根刷毛的智能化电动牙刷——幸福草超声波电动牙刷
特斯拉第三季度营收63亿美元 发电和储能业务成长迅速
2020年到2024年,全球至少增加38座300毫米量产晶圆工厂
盘点未来机器人十大新兴应用领域
机器视觉检测设备原理
Docker容器实现边缘采集
4路(3路数据+1路时钟)LVDS串行器/解串器的延迟裕量测
存储背后的大脑:NAND 闪存控制器实际上是做什么的?
阻碍人工智能在企业中被高效使用的主要障碍是什么?
LED封装企业木林森预计净利润11.58亿同比增长283.76%
全国计算机等级考试三级网络技术考试大纲
伺服驱动器的三种控制方式
伺服系统应用的五个注意事项!
基于SPE61A单片机的非接触式高压验电器的开发
中国联通混改倒计时或8月17日公布 阿里可能是最大投资方
数读电:3亿:鹤山供电助力电网升级改造
广和通携多款5G模组新品亮相MWC Las Vegas 2022,加速全球5G数字化应用进程
在3D打印机中推动步进电机的极限控制方案
如何建立一个增强型棚/车库报警器
由D触发器设计的停电自锁电路