Node-RED:4 - 核心節(jié)點(diǎn)

點(diǎn)擊鏈接加入群聊【Node-RED與IoT開發(fā)交流】https://jq.qq.com/?_wv=1027&k=5owlJfm
新創(chuàng)立的群,歡迎加入!

Node-RED Tutorial Home

介紹
建立你的第一個流
基礎(chǔ)節(jié)點(diǎn)和流
核心節(jié)點(diǎn)


例子:
使用Node-RED搭建一個天氣預(yù)報(bào)面板
基于 SIMATIC IOT2040 的 Node-RED S7 通信


Node-RED:講座4 – 瀏覽核心節(jié)點(diǎn)

本講座將介紹Node-RED默認(rèn)安裝的核心節(jié)點(diǎn),然后向您展示基于云的Node RED服務(wù)(FRED)支持的擴(kuò)展節(jié)點(diǎn)。

對于每個節(jié)點(diǎn),您將看到其功能的簡要概述,并指出本講座系列中的哪個示例使用該節(jié)點(diǎn),以便您可以更詳細(xì)地查看如何使用該節(jié)點(diǎn)。 本講座主要是參考部分。 但是,您可以快速瀏覽節(jié)點(diǎn),以便在開始制作自己的流程時,了解您可以使用的基本功能。

Node-RED的默認(rèn)節(jié)點(diǎn)集

當(dāng)您在Raspberry Pi或Beagleboard等設(shè)備上安裝Node-RED時,會啟動一組默認(rèn)的節(jié)點(diǎn)。 默認(rèn)安裝中有8個主要類別的節(jié)點(diǎn):輸入,輸出,功能,社交,存儲,分析,高級和Raspberry Pi(見圖4.1和4.2)讓我們再來看看每個類別。

圖4.1默認(rèn)輸入,輸出,功能和社交媒體節(jié)點(diǎn)。

輸入節(jié)點(diǎn)

默認(rèn)情況下安裝了7個基本輸入節(jié)點(diǎn)。 它們涵蓋了物聯(lián)網(wǎng)應(yīng)用程序可能使用的基本通信機(jī)制。 從較低級別的互聯(lián)網(wǎng)協(xié)議(如UDP和TCP)到高級HTTP以及發(fā)布/訂閱MQTT。

節(jié)點(diǎn)名稱 簡述 樣例
inject 將時間戳或用戶配置的文本注入到消息中。 可以配置為手動注入,以設(shè)置的間隔或特定時間(使用Cron)進(jìn)行注入。 Examples 2.1, 3.6, 3.7, 3.8, 5.1-5.4, 6.1-6.8
catch 捕獲相同選項(xiàng)卡上的節(jié)點(diǎn)拋出的錯誤。 如果節(jié)點(diǎn)在處理消息時引發(fā)錯誤,則流程通常會停止。 該節(jié)點(diǎn)可用于捕獲返回消息的錯誤,并顯示錯誤屬性,詳細(xì)說明錯誤以及源節(jié)點(diǎn)和類型。 Examples
mqtt 訂閱MQTT代理并監(jiān)聽主題,將主題上發(fā)布的任何數(shù)據(jù)作為新消息返回。 支持服務(wù)質(zhì)量水平設(shè)置和最后的數(shù)據(jù)保留. Examples 3.1-3.5
http 接收HTTP請求,允許Node-RED充當(dāng)基本的Web服務(wù)器。 HTTP身份作為輸出消息以及任何響應(yīng)傳遞。 消息可以包含標(biāo)準(zhǔn)的URL編碼數(shù)據(jù)或JSON。 Example 1.3, 5.7
websocket 為瀏覽器提供一個端點(diǎn),以建立與Node-RED的Websocket連接。 提供瀏覽器/服務(wù)器組合的雙工連接。 Example 3.7
tcp 用于接受指定端口上的傳入TCP請求或連接到遠(yuǎn)程TCP端口。 將包含TCP數(shù)據(jù)的消息生成為緩沖區(qū),字符串或base64編碼的單個或多個流。 Examples lecture 7
udp 用于接收指定端口上的傳入U(xiǎn)DP數(shù)據(jù)包(或組播數(shù)據(jù)包)。 生成包含UDP數(shù)據(jù)的消息作為緩沖,字符串或base64編碼的字符串。 Examples lecture 7
serial in 從本地設(shè)備上的串行端口讀取。 可以配置為讀取緩沖區(qū),在特定的時間段或等待換行。 Examples lecture 7

輸出節(jié)點(diǎn)

輸出節(jié)點(diǎn)基本上是輸入節(jié)點(diǎn)的基本集合的鏡像,并提供了一種在同一組協(xié)議(即mqtt,http,udp等)上發(fā)送數(shù)據(jù)的方法。

節(jié)點(diǎn)名稱 簡述 樣例
debug 提供一種查看調(diào)試窗格中顯示的消息的簡單方法。 可以配置為僅顯示msg.payload或整個msg對象。 Various, examples 2.1, 2.2, 3.1-3.6, 5.1-5.4, 6.1-6.5
mqtt 訂閱一個MQTT代理,并將其在傳入消息中接收的任何數(shù)據(jù)(msg.payload)發(fā)布到主題。 支持服務(wù)質(zhì)量水平和最后的數(shù)據(jù)保留。 Example 3.6
http 將響應(yīng)發(fā)送回HTTP輸入節(jié)點(diǎn)收到的HTTP請求。 響應(yīng)主體由msg.payload確定,并且可以定義標(biāo)題和狀態(tài)代碼。 Examples
websocket 在配置的websocket上發(fā)送msg.payload。 如果定義了msg. session,則發(fā)送給始發(fā)客戶端,否則廣播到所有連接的客戶端 Example 3.7
tcp 回復(fù)配置的TCP端口。 也可以用來發(fā)送到特定端口。 Example 3.8
udp 向配置的主機(jī)(IP地址)和端口發(fā)送UDP消息。 支持廣播 像大多數(shù)節(jié)點(diǎn)一樣,通過UI或消息屬性進(jìn)行配置。 Examples
serial out 發(fā)送到定義的串行端口。 可以配置為在任何消息有效載荷之后發(fā)送可選的換行符。 Examples lecture 7

功能節(jié)點(diǎn)

功能類別包含執(zhí)行特定處理功能的各種節(jié)點(diǎn)。 這些范圍從簡單的延遲和切換節(jié)點(diǎn)到可編程功能節(jié)點(diǎn),可以適應(yīng)幾乎任何編程需要。

節(jié)點(diǎn)名稱 簡述 樣例
function 通用可編程功能節(jié)點(diǎn)。 使用標(biāo)準(zhǔn)JavaScript語法,節(jié)點(diǎn)可以被定制以對其生成一個或多個輸出消息的輸入消息進(jìn)行復(fù)雜處理。 Examples 2.1, 2.2, 3.8, 5.1-5.4, 5.7, 6.1-6.8
template 配置了一個任意復(fù)雜的模板(使用胡塞爾格式),該節(jié)點(diǎn)接收一個包含名稱:值對的輸入消息并將其插入到模板中。 用于構(gòu)建郵件,HTML,配置文件等 Example 1.3
delay 一種通過特定方法或隨機(jī)時間延遲消息的通用節(jié)點(diǎn)。 也可以配置為限制消息流(例如每秒10 msg)。 Examples 5.6, 6.8
trigger 每當(dāng)接收到輸入消息時,創(chuàng)建兩個輸出消息,間隔可配置的時間間隔。 也可以用作監(jiān)控定時器。 Example 1.1
comment 一個簡單的視覺評論配置了標(biāo)題和主體。 Example 2.1
http request 允許您構(gòu)建并發(fā)送HTTP請求到特定的URL。 方法(PUT,GET等),標(biāo)題和有效載荷都可以通過UI或以編程方式進(jìn)行配置. Examples 1.3, 6.1, 6.6
tcp request 一個簡單的TCP請求節(jié)點(diǎn)。 它將msg.payload發(fā)送到服務(wù)器tcp端口,并期望響應(yīng)。 可以配置等待數(shù)據(jù),等待特定字符,或立即返回。 Example 3.8
switch 該節(jié)點(diǎn)根據(jù)其屬性路由消息。 屬性使用UI進(jìn)行配置,并且可以是應(yīng)用于消息屬性的各種邏輯(>,<,> =等)。 Examples 3.2-3.5, 5.5
change 更改節(jié)點(diǎn)可用于設(shè)置,更改或刪除傳入郵件的屬性。 各種可配置規(guī)則允許復(fù)雜的更改,包括msg.payload中的搜索和替換 Examples 3.3-3.5
range 一個簡單的縮放節(jié)點(diǎn),將數(shù)字輸入映射到新的輸出。 適用于輸入值的轉(zhuǎn)換或界限范圍,例如 溫度。 未定義的非數(shù)字?jǐn)?shù)據(jù)。 Example 3.5
csv 該節(jié)點(diǎn)解析msg.payload并嘗試轉(zhuǎn)換為/從CSV轉(zhuǎn)換。 如果它接收到一個字符串,它會輸出一個JavaScript對象,如果它接收到一個JavaScript對象,它將輸出一個CSV字符串。 Examples
html 使用可配置的選擇器(CSS選擇器語法)從msg.payload中的html文檔中提取元素。 本質(zhì)上允許您解析HTML并返回匹配的元素的數(shù)組。 Example 6.1
json 此節(jié)點(diǎn)轉(zhuǎn)換為/從JSON對象。 如果它收到一個JavaScript對象,它會輸出JSON,如果它接收到JSON,它將輸出一個JavaScript對象。 Examples 3.1-3.5, 5.7, 6.6
xml 此節(jié)點(diǎn)轉(zhuǎn)換為/從XML格式轉(zhuǎn)換。 如果它接收到一個JavaScript對象,它會輸出一個XML字符串,如果它接收到一個XML字符串,它會輸出一個JavaScript對象。 Examples
rbe 按異常報(bào)告。 只有當(dāng)其輸入與前一個輸入(字符串或數(shù)字)不同時,或者如果輸入以可配置的量(死區(qū)模式)改變,則僅產(chǎn)生數(shù)字。 Example 3.4

社交節(jié)點(diǎn)

基本的社交媒體節(jié)點(diǎn)支持與電子郵件和Twitter的交互。 它們使流可以發(fā)送或接收電子郵件,或發(fā)送或接收推文。

節(jié)點(diǎn)名稱 簡述 樣例
email in 可以配置為從IMAP服務(wù)器重復(fù)讀取返回新的電子郵件。 將msg.topic設(shè)置為電子郵件主題,如果電子郵件為HTML,則將msg.payload設(shè)置為發(fā)送電子郵件文本正文或msg.html。 Example
twitter in 返回推文作為消息。 可用于搜索公眾或用戶的流,其中包含特定用戶所配置的搜索字詞或所有推文或由經(jīng)過身份驗(yàn)證的用戶收到的直接消息的推文。 Example 1.1
email out 通過配置的IMAP服務(wù)器將傳入的消息作為電子郵件發(fā)送。 主題和收件人全部可配置。 將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為附件。 Example 1.2
twitter out 推薦配置的帳戶上的msg.payload。 可以發(fā)送直接消息,并將作為圖像發(fā)送二進(jìn)制數(shù)據(jù)。 Example 2.2

儲存節(jié)點(diǎn)

由于針對的是Raspberry Pi等設(shè)備,因此存儲的默認(rèn)節(jié)點(diǎn)設(shè)置非常有限,專注于基于文件的存儲。

圖4.2默認(rèn)存儲,分析,高級和Raspberry Pi節(jié)點(diǎn)。

您應(yīng)該注意,F(xiàn)RED,因?yàn)樗且粋€云服務(wù),不支持基本的文件節(jié)點(diǎn)。 而是用Mongo到Dropbox的各種存儲節(jié)點(diǎn)替代這些。 但是,為了完整,默認(rèn)節(jié)點(diǎn)在這里被覆蓋,以便您可以使用它們,如果您自己安裝Node-RED的話(參見第7講)。

節(jié)點(diǎn)名稱 簡述 樣例
tail 尾部(即要添加的東西的手表)到配置的文件。 (僅適用于Linux / Mac)這將不適用于Windows文件系統(tǒng),因?yàn)樗蕾囉趖ail -F命令。 Examples
file in 讀取指定的文件并發(fā)送內(nèi)容為msg.payload,文件名為msg.filename。可以在節(jié)點(diǎn)中配置文件名。 如果留空,則應(yīng)在傳入消息中設(shè)置msg.filename。 Examples
file 將msg.payload寫入指定的文件,例如 創(chuàng)建日志。 可以在節(jié)點(diǎn)中配置文件名。 如果留空,則應(yīng)在傳入消息中設(shè)置msg.filename。 默認(rèn)行為是附加到文件。 這可以改變?yōu)槊看胃采w文件; 例如,如果要輸出“靜態(tài)”網(wǎng)頁或報(bào)告。 Examples

分析節(jié)點(diǎn)

分析節(jié)點(diǎn)對傳入的消息執(zhí)行標(biāo)準(zhǔn)分析。 在默認(rèn)節(jié)點(diǎn)集中,唯一提供的節(jié)點(diǎn)是情緒節(jié)點(diǎn),可用于根據(jù)消息中使用的單詞(例如電子郵件或推文)來嘗試確定傳入消息的情緒。

節(jié)點(diǎn)名稱 簡述 樣例
sentiment 情緒節(jié)點(diǎn)分析了msg.payload,并根據(jù)字分析對消息的情緒進(jìn)行了評分。 它添加了一個msg.sentiment對象,其中包含生成的AFINN-111情緒分?jǐn)?shù)為msg.sentiment.score。 分?jǐn)?shù)通常在-5到+5之間。 Example 5.5

高級節(jié)點(diǎn)

一組提供各種功能的雜項(xiàng)節(jié)點(diǎn)。

節(jié)點(diǎn)名稱 簡述 樣例
watch 觀看目錄或文件進(jìn)行更改。 您可以輸入逗號分隔的目錄和/或文件的列表。 你需要在包含空格的地方放置引號“...”。 在Windows上,必須在所有目錄名中使用雙反斜杠\。實(shí)際更改的文件的完整文件名將放入msg.payload,而在msg.topic中返回監(jiān)視列表的字符串版本。msg.file只包含被更改的文件的短文件名。 msg.type的類型更改,通常是文件或目錄,而msg.size保存文件大小(以字節(jié)為單位)。 Examples
feedparse 該節(jié)點(diǎn)監(jiān)視RSS / atom feed的新條目,并將新條目作為消息傳遞。 它可以被配置為以特定間隔查詢饋送。 Examples
exec 調(diào)用一個系統(tǒng)命令,并提供3個輸出:stdout,stderr和返回碼。 默認(rèn)情況下,使用調(diào)用命令的exec()在等待完成時阻塞,然后一次返回完整的結(jié)果以及任何錯誤。 Examples

Raspberry Pi 節(jié)點(diǎn)

節(jié)點(diǎn)名稱 簡述 樣例
rpi_gpio in 樹莓Pi輸入節(jié)點(diǎn)。 根據(jù)輸入引腳的狀態(tài),產(chǎn)生一個0或1的msg.payload。 您也可以使能輸入上拉電阻或下拉電阻。msg.topic設(shè)置為pi / {引腳號} 需要RPi.GPIO python庫版本0.5.8(或更好)為了工作。注意:我們正在使用連接器P1上的實(shí)際物理引腳號,因?yàn)樗鼈兏菀锥ㄎ弧?/td> Examples lecture 7
rpi_gpio out Raspberry Pi輸出節(jié)點(diǎn)。 預(yù)期使用0或1(或true或false)的msg.payload。 將選定的物理引腳設(shè)置為高電平或低電平,具體取決于傳遞的值。引腳在部署時的初始值也可設(shè)置為0或1.當(dāng)使用PWM模式時,需要輸入值為0 - 100。需要RPi.GPIO Python庫版本0.5.8(或更好)才能工作。 Examples 1.1, lecture 7
rpi_mouse Raspberry Pi鼠標(biāo)按鈕節(jié)點(diǎn)。 當(dāng)選擇的鼠標(biāo)按鈕被按下并釋放時,生成1或0的msg.payload。 還將msg.button設(shè)置為代碼值,1 = left,2 = right,4 = middle,因此您可以計(jì)算出按下哪個按鈕或組合 Examples lecture 7

總結(jié):

在本講座中,您將看到安裝時可用的默認(rèn)Node-RED節(jié)點(diǎn)的摘要,以及FRED添加的擴(kuò)展節(jié)點(diǎn)集。 正如你所看到的,有各種各樣的節(jié)點(diǎn)允許您構(gòu)建很少或沒有編程的復(fù)雜流。

您也看到并不是所有的節(jié)點(diǎn)總是可用的,例如,除了在Pi上實(shí)際運(yùn)行Node-RED之外,Raspberry Pi節(jié)點(diǎn)不起作用。 所以它總是用于檢查您是否可以運(yùn)行在您環(huán)境中的節(jié)點(diǎn)。

然而,考慮到可用的大量節(jié)點(diǎn),以及社區(qū)每天創(chuàng)建新節(jié)點(diǎn)的事實(shí),您可能會找到一個滿足您需求的節(jié)點(diǎn)。 如果沒有,您可以回到靈活的功能節(jié)點(diǎn),甚至創(chuàng)建自己的節(jié)點(diǎn),這一塊將在高級講座中討論。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,967評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,273評論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,870評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,742評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,527評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,010評論 1 322
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,108評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,250評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,769評論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,656評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,853評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,371評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,103評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,472評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,717評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,487評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,815評論 2 372

推薦閱讀更多精彩內(nèi)容