Node-RED基礎1

目錄

  • 一、概述
  • 二、安裝
  • 三、基操
  • 四、通訊
  • 五、數據
  • 六、節點
  • 七、 應用
  • 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;如有松…