目录

  • 一、概述
  • 二、安装
  • 三、基操
  • 四、通讯
  • 五、数据
  • 六、节点
  • 七、 应用
  • END

一、概述

Rode-Red是什么?

  • 基于Node.js的物联网开发工具,做API、通讯;
  • 提供了一些基本的监控功能,可在编辑器界面中查看节点的运行状态、消息流量等信息。
  • 通过安装一些额外的节点或使用外部监控工具来实现更详细的监控和管理,

例如:监控数据处理的性能指标、数据传输的成功率等。

Node.js是什么?

  • 基于谷歌V8引擎的JavaScript运行环境(底层环境)点击安装
    安装完成

PM2是什么?

  • 实时管理JavaScript应用(包括Node-red)的进程工具;
  • 基于PM2部署的Node-red进行PLC(MQTT)数据采集转发可以确保其7x24h稳定运行。

二、安装

  • 安装: 安装node.js,安装pm2(是什么?)npm install pm2 -g,基于pm2安装Node-Red npm install -g--unsafe perm node-red pm2 pm2-windows-startup pm2-windows-service
  • 启动: 在命令行中输入node-red启动 Node-RED 服务(临时调试;关闭CMD窗口会停止服务)
  • 自启动: 在开始菜单C:\ProgramData\Microsoft\Windows\Start Menu路径下建立.bat文件pm2 start C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-red\red.js开机自动启动服务
  • 打开: 通过浏览器访问http://localhost:1880
  • 创建: 输入—响应—输出
  • 运行: 点击 Node-RED 编辑器右上角的 “部署” 按钮,将流程部署到运行环境中。此时,数据管道就开始按照设定的流程运行,接收输入数据,进行处理和存储,并根据需要输出响应。
  • 分析: 监控数据处理的性能指标、数据传输的成功率等。

三、基操

前提

  • 运行服务
  • 浏览器http://localhost:1880

在这里插入图片描述

概要

  • 输入:inject
    • msg: Payload、topic、或自定义标题
    • =值: 二进制、环境变量、数字、文本、表达式、msg、时间戳、
    • 特别说明: JSON{ "num": 98, "name": "小王","yes":true}…类似键值对格式(可循环嵌套);
  • 输出:debug
    • msg. Payload.name(与输入的msg标题对应)
    • 与调试输出相同
  • 部署: 每次更改必须 部署
  • 注入: 点击 输入的左边小框 该条指令即可输出内容
  • 组合: 框选右击可组合命令
    在这里插入图片描述

1. Switch选择

  • inject(数字)——Switch(添加域)——debug1debug2...(选择输出)
  • 应用:输入的数字在相应域内选择当前域的输出
    在这里插入图片描述

2. range缩放

  • inject(数字)——range(缩放)——debug
  • 应用:根据输入值放大或缩小其倍数并输出(模数转换)
    在这里插入图片描述

3. delay延迟

  • inject(数字)——delay(延迟)——debug
  • 应用:延迟输出
    在这里插入图片描述

4. trigger触发

  • inject(数字)——trigger(触发)——debug
  • 应用:触发输出
    在这里插入图片描述

5. change更改

  • inject——change(增删改移消息msg.topic)——debug
  • 应用:对Payload消息进行操作控制、删除、修改、移动设定等;
    在这里插入图片描述

6. loop循环

  • inject——function——loop===function——debug
  • loop 固定循环次数Fixed Count
  • loop 条件判断输出Condition
  • loop 遍历function对象Enumeration
  • 应用:循环处理事件在这里插入图片描述

7.link跳转

  • inject——link out
  • link in(link1)——Debug
  • 应用:省略流程的连线,视觉简化;可多个in、out互联
    在这里插入图片描述

四、通讯

1. tcp链接

  • TCP调试工具(Client、Server、UDP)
  • TCP接收信息:tcp in——debug
  • TCP发送信息:tcp out——debug
  • 作Server:监听,只需配置端口号(IP为主机网卡地址)
  • 作Client:连接,输入主机IP、端口号即可
  • 应用:TCP通讯传输数据
    在这里插入图片描述

2. UDP链接

  • TCP调试助手(UDP)
  • 发送信息到UDP本地:inject——udp out(本地IP、端口)
  • 从UDP本地接收信息:udp in(远程IP<网卡IP>、端口)——debug
  • 应用:UDP通讯传输数据

在这里插入图片描述

3. MQTT发布订阅

  • inject——mqtt out(服务端、发布主题)
  • mqtt in——debug(服务端、订阅主题)
  • 客户端发布 _ 公网Server _客户端订阅
  • 客户端发布 _ 私有Server _ 客户端订阅
  • 可用公网Server进行练习测试,也可自己开发Server端 MQTT开发
    在这里插入图片描述

4. http请求

  • http in(get)——function——http response
  • 输入:请求方法(查数据用GET,添新用POST;全改旧用PUT,微调用PATCH;想删干净DELETE一下。)、URL地址
  • 应用:网址+URL 地址(http://localhost:1880/test);
    在这里插入图片描述

5. modbus通讯

  • modbus read/write(modbus slave调试工具连接)——debug
  • modbus server(modbus poll调试工具连接)——debug
  • modbus:需要物理IP(非随意IP)
    在这里插入图片描述

五、数据

1. MySql数据库链接

  • 虚拟机安装Mysql数据库 Mysql安装; 更改主机名为任意IP 更改方法
  • 主机安装Navicat客户端,测试连接成功 绝活哥; 新建数据库-表-插入测试内容;sql语句查询
  • inject ——mysql2——debug
  • mysql2链接参数配置:主机名,端口,用户名,密码,数据库,表名 ; 查询语句Binds…:select NAME FROM class1 WHERE ID=1;
  • 应用:链接Mysql数据库进行增删改查
    在这里插入图片描述

2. 文件读写

  • inject——写入文件(路径:文件路径)
  • inject——读取文件——debug
  • inject——function——写入文件(msg.filename)
  • function:msg.filename=“C:\Intel\test1.txt”(代码中的路径不能有中文;双斜杠<单斜杠默认转译>)
  • 输出:文件夹下新建文本文件,配置路径(复制粘贴路径)
  • 应用:查看文件文件写入内容;查看调试窗口内容
    在这里插入图片描述

六、节点

  • 节点管理
  • 搜索关键词即可安装
  • node-red-node-random:随机数
  • node-red-contrib-mysql2: MySQL数据库
  • node-red-contrib-modbus:MODBUS通讯
  • node-red-contrib-loop:loop循环
  • node-red-contrib-opcua:OPC UA通讯
  • node-red-contrib-s7:S7通讯
  • node-red-contrib-dashbored:Web控件
  • node-red-contrib-email:邮件发送

在这里插入图片描述


七、 应用

1.企业微信机器人推送消息

  • inject——function(文本发送代码)——http request(post,API<企业微信机器人Webhook> )
  • 逻辑思路:时间戳触发功能块(文本发送至企业微信消息代码)到http response的请求post的URL地址(机器人Webhook)
    在这里插入图片描述

function4代码:群机器人配置说明

msg.payload={"msgtype": "text","text": {"content": "今日天气:29度,大部分多云,降雨概率:60%","mentioned_list":["小王","@all"],"mentioned_mobile_list":["mobilenumber","@all"]
}
}
return msg;

添加机器人:
在这里插入图片描述

2. 定时执行——过该时刻后5秒执行一个事件

  • 记录时刻:时间戳写入文件time
  • 逻辑思路:时间戳读取time文件的时间值,创建当前时间对象var newtime = new Date().Valueof(),与读取时间作差,为真执行输出;同时更新time文件的时间值

在这里插入图片描述
function7代码片段:

var newtime = new Date().valueOf()  //获取当前时间值
if (newtime - parseInt(msg.payload) > 4*1000){  //过4S执行一次msg.Flag = true
}else{msg.Flag =false
}

function8代码片段:

msg.payload = new Date().valueOf()

3. 发送邮件

  • inject——send email
  • host:发信服务器 (SMTP),端口465
  • secure:勾选
  • user:发送的邮箱账号
  • password:邮箱-安全设置-客户端专用密码
    在这里插入图片描述

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/73095.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/73095.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/73095.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java登神之阶之顺序表

一、了解List接口 在Java中&#xff0c;List接口是一个非常重要的集合框架接口&#xff0c;它继承自Collection接口&#xff08;Collection接口继承Iterable接口&#xff09;。List接口定义了一个有序集合&#xff0c;允许我们存储元素集合。并且可以根据元素的索引来访问集合中…

redux_旧版本

reduxjs/toolkit&#xff08;RTK&#xff09;是 Redux 官方团队推出的一个工具集&#xff0c;旨在简化 Redux 的使用和配置。它于 2019 年 10 月 正式发布&#xff0c;此文章记录一下redux的旧版本如何使用&#xff0c;以及引入等等。 文件目录如下&#xff1a; 步骤 安装依…

MySQL:SQL优化实际案例解析(持续更新)

文章目录 一、MySQL&#xff1a;SQL优化1、时间格式化问题&#xff08;字符串&#xff09;2、in/inner join的问题 一、MySQL&#xff1a;SQL优化 1、时间格式化问题&#xff08;字符串&#xff09; -- 优化前 SELECT * FROM test_table WHERE date_format( begin_time, %Y-%…

【含文档+PPT+源码】基于Python的美食数据的设计与实现

项目介绍 本课程演示的是一款基于Python的美食数据分析系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 包含&#xff1a;项目源码、项目文档、数据库脚本、软件工具等所有资料 带你从零开始部署运行本套系统 该项目附带的源码…

vue调整表格样式之深度修改

举例&#xff1a; <div class"grid-item"><h3>日数据</h3><el-table :data"dailyData" v-loading"loading"><el-table-column label"销售姓名" align"center" prop"salesName" />…

【Go每日一练】统计字符出现的次数

&#x1f47b;创作者&#xff1a;丶重明 &#x1f47b;创作时间&#xff1a;2025年3月9日 &#x1f47b;擅长领域&#xff1a;运维 目录 1.&#x1f636;‍&#x1f32b;️题目&#xff1a;统计字符出现的次数2.&#x1f636;‍&#x1f32b;️代码中可用的资源3.&#x1f636;…

uniapp在APP平台(Android/iOS)选择非媒体文件

TOC 背景 在我们APP开发过程中&#xff0c;经常会有这样一个需求场景&#xff1a;从手机中选择文件然后进行上传&#xff0c;这些文件主要分为两类&#xff0c;媒体文件和非媒体文件。而媒体文件选择在APP平台我们可以使用uni.chooseImage和uni.chooseVideo这两个API来实现。…

【eNSP实战】配置交换机端口安全

拓扑图 目的&#xff1a;让交换机端口与主机mac绑定&#xff0c;防止私接主机。 主机PC配置不展示&#xff0c;按照图中配置即可。 开始配置之前&#xff0c;使用PC1 ping 一遍PC2、PC3、PC4、PC5&#xff0c;让交换机mac地址表刷新一下记录。 LSW1查看mac地址表 LSW1配置端…

卡尔曼滤波算法从理论到实践:在STM32中的嵌入式实现

摘要&#xff1a;卡尔曼滤波&#xff08;Kalman Filter&#xff09;是传感器数据融合领域的经典算法&#xff0c;在姿态解算、导航定位等嵌入式场景中广泛应用。本文将从公式推导、代码实现、参数调试三个维度深入解析卡尔曼滤波&#xff0c;并给出基于STM32硬件的完整工程案例…

Redis----大key、热key解决方案、脑裂问题

文章中相关知识点在往期已经更新过了&#xff0c;如果有友友不理解可翻看往期内容 出现脑裂问题怎么保证集群还是高可用的 什么是脑裂问题 脑裂说的就是当我们的主节点没有挂&#xff0c;但是因为网络延迟较大&#xff0c;然后和主节点相连的哨兵通信较差&#xff0c;之后主…

python总结(3)

创建自定义类 终于要创建自定义类了!下面是一个简单的示例: class Person:def set_name(self, name):self.name namedef get_name(self):return self.namedef greet(self):print("Hello, world! Im {}.".format(self.name))这个示例包含三个方法定义&#xff0c;它…

word毕业论文“et al.”替换为“等”——宏

Sub 中文参考文献改等()中文参考文献改等 宏Selection.Find.ClearFormattingSelection.Find.Replacement.ClearFormattingWith Selection.Find.Text "([一-龥], )et al.".Replacement.Text "\1等.".Forward True.Wrap wdFindContinue.Format False.Ma…

网络编程-----服务器(多路复用IO 和 TCP并发模型)

一、单循环服务器模型 1. 核心特征 while(1){newfd accept();recv();close(newfd);}2. 典型应用场景 HTTP短连接服务&#xff08;早期Apache&#xff09;CGI快速处理简单测试服务器 3. 综合代码 #include <stdio.h> #include <sys/types.h> /* See NO…

typora高亮方案+鼠标侧键一键改色

引言 在typora里面有一个自定义的高亮, <mark></mark>>但是单一颜色就太难看了, 我使用人工智能, 搜索全网艺术家, 汇集了几种好看的格式,并且方便大家侧键一键 调用, 是不是太方便啦 ! 示例 午夜模式 春意盎然 深海蓝调 石墨文档 秋日暖阳 蜜桃宣言 使用方法 …

swift -(5) 汇编分析结构体、类的内存布局

一、结构体 在 Swift 标准库中&#xff0c;绝大多数的公开类型都是结构体&#xff0c;而枚举和类只占很小一部分 比如Bool、 Int、 Double、 String、 Array、 Dictionary等常见类型都是结构体 ① struct Date { ② var year: Int ③ var month: Int ④ …

从零开始学机器学习——初探分类器

首先给大家介绍一个很好用的学习地址:https://cloudstudio.net/columns 在上一节中,我们已经完成了对所有经过均衡和清洗的菜品数据的准备工作。接下来,我们将考虑使用多种算法,也就是不同的分类器,来构建模型。我们将利用这个数据集和各种分类器,基于一组特定的配料,预…

黑色RGB是什么

>好的&#xff0c;用户现在问的是“黑色rgb是什么”。我需要先理解用户的问题。之前用户在使用MATLAB调整网格线颜色时&#xff0c;可能看到了默认颜色是黑色&#xff0c;或者之前我提到过默认颜色是[0.15 0.15 0.15]&#xff0c;而用户可能现在想知道黑色的RGB值具体是什么…

做到哪一步才算精通SQL

做到哪一步才算精通SQL-Structured Query Language 数据定义语言 DDL for StructCREATE&#xff1a;用来创建数据库、表、索引等对象ALTER&#xff1a;用来修改已存在的数据库对象DROP&#xff1a;用来删除整个数据库或者数据库中的表TRUNCATE&#xff1a;用来删除表中所有的行…

《深度解析DeepSeek-M8:量子经典融合,重塑计算能效格局》

在科技飞速发展的今天&#xff0c;量子计算与经典算法的融合成为了前沿领域的焦点。DeepSeek-M8的“量子神经网络混合架构”&#xff0c;宛如一把钥匙&#xff0c;开启了经典算法与量子计算协同推理的全新大门&#xff0c;为诸多复杂问题的解决提供了前所未有的思路。 量子计算…

解决电脑问题(2)——主板问题

当电脑主板出现问题时&#xff0c;可以尝试以下解决方法&#xff1a; 外观检查与清洁 检查硬件连接&#xff1a;仔细查看主板上的各种硬件连接&#xff0c;包括 CPU、内存、显卡、硬盘、电源等的连接线是否松动或损坏。确保所有插头都牢固地插入相应的插槽中&#xff0c;如有松…