樹莓派3B搭建NODE RED執行環境並構建資料流

2022-06-22 20:03:18 字數 4061 閱讀 8127

樹莓派搭建node-red環境

樹莓派自2023年開始是預設就帶node-red的,但是如今已是2023年:)自帶的版本已經很老了,可通過下面的命令進行自動公升級node.js和node-red

bash 

# 如果出現失敗請多嘗試幾次

# 之後進入如下介面,展示更新進度

stop node-red ✔

remove old version of node-red ✔

remove old version of node.js

install node.js

clean npm cache

install node-red core

move global nodes to local

install extra pi nodes

npm rebuild existing nodes

add menu shortcut

update systemd script

update update script

any errors will be logged to /var/log/nodered-install.log

一段時間過後,公升級完畢:

once node-red has started, point a browser at # 這裡是樹莓派分配到ip位址

on pi node-red works better with the firefox or chrome browser

use node-red-stop to stop node-red

use node-red-start to start node-red again

use node-red-log to view the recent log output

use sudo systemctl enable nodered.service to autostart node-red at every boot

use sudo systemctl disable nodered.service to disable autostart on boot

to find more nodes and example flows - go to

starting as a systemd service.

started node-red graphical event wiring tool..

12 apr 04:33:27 - [info]

welcome to node-red

然後我們開啟瀏覽器訪問web網頁,能夠看到如下的介面:

node-red ui——顯示節點擊擇板(左)、流的編輯介面(中心)和輸出窗格(右)

左側裡面全是node-red包含的節點,而節點就是node-red的基本單位,它包含了生成資料的節點、處理資料的節點以及最終輸出的節點。

中間是我們的工作區,在該區域內,我們按照正確的形式構建節點,來形成一套資料流生成、處理過程。

右側是輸出窗格可以切換資訊和除錯選項卡等。選擇資訊後,將顯示所選節點的文件。當除錯被選中時,它將顯示除錯節點的資訊、錯誤和警告。

作為node-red最基本的單位:節點。在node-red中主要分為3類:

1、輸入節點(例如inject)

2、處理節點(例如function)

3、輸出節點(例如debug)

輸入節點

輸入節點允許資料輸入到整個流工作空間中。它們至少有乙個輸出(端點由右邊的小灰色方塊表示)。同時也可以將其他服務資料連線到輸入節點,例如tcp、websockets、udp等節點,或利用手動輸入資料到乙個流之中。

處理節點

處理節點主要功能是處理資料。它們有乙個輸入端點和乙個或多個輸出端點。我們通常使用function節點來處理收到的資料。當然它頁可以轉換資料型別(例如:json、csv、xml)節點。

輸出節點

輸出節點允許在node-red的流之外傳送資料。它們的左側有乙個輸入端點。使用輸出節點將資料傳送到其他服務,tcp等或者使用除錯節點輸出到除錯窗進行觀察。

而對於各種資料來說,其本質的最簡單的資料結構如下:

msg=
即每一條資料都會有其本身的負載資料。

講完了基礎的知識,我們來通過動手實踐來更加直觀的了解node-red

構建時間戳流

這個例子十分簡單,我們不需要任何的處理節點,只需要乙個輸入和乙個輸出就可以了:

我們首先從左側拉取乙個inject輸入節點,放置到工作空間中,它會自動變為預設的時間戳節點,單擊這個時間戳節點,檢視右側資訊欄,我們能看到這個節點的描述:這個時間戳節點能夠生成自2023年1月1號以來的所過的毫秒數

通過雙擊該節點我們還可以看到更加具體的細節:

接下來我們拉取乙個debug節點到工作空間中,它會自動轉變為msg.payload節點,這個節點就是會將資料直接輸出:

接下來我們連線兩個節點,同時可以看到每個節點上面都有乙個小藍點,意味著我們的節點只放置到了工作空間中,但是並沒有部署:

點選右上角的部署之後,我們發現小藍點消失了。接下來我們讓時間戳節點產生時間資料並輸出檢視。首先點選右側的除錯視窗,然後點選時間戳節點左側的藍色矩形按鈕:

點選過程中我們可以看到提示我們注入成功,並且在右側的還能看到輸出的資料:

此外,當我們雙擊debug節點,然後在輸出那一欄選擇「完整訊息」,我們發現輸出節點變成了「msg」即整個msg訊息體,同時再次部署並點選時間戳產生資料,我們發現輸出的資訊變得更加完整:

最後,讓我們產生程式設計界的經典輸出:hello, world!

首先雙擊「注入節點」,我們不選時間戳型別了,而是替換為文字列:

再次部署並點選訊息注入按鈕(就是藍色矩形)

得到如下的結果:

至此,我們成功的使用node-red構建了我們的第一條簡單的流。

樹莓派3b環境搭建

根據自己的實際操作經驗,在win10系統之下搭建了樹莓派3b的操作環境,為自己做個筆記,也希望能夠給後來者提供一點幫助。1 用sd card formatter 格式化sd卡 2 解壓 樹莓派資料24號 書籍教程案例系統燒寫 樹莓派官方系統 發布時間2017 11 29 路徑下的 2017 11 2...

樹莓派3b 安裝

2019獨角獸企業重金招聘python工程師標準 一 貼散熱片 背面一片,正面兩篇。二 系統安裝 1 使用sd formatter格式化sd卡 2 使用win32diskimager寫入映象 3 將樹莓派連上電視 鍵盤 電源啟動 4 設定一些引數,連上網路。三 設定 1 在首選項中rasberry ...

樹莓派3B 安裝

之前買的樹莓派3b的板子,發現密碼忘記了,死活連線不上。通過hdmi外接顯示屏,預期的桌面系統也沒有出現。可能是hdmi的一些配置引數問題吧,懶得糾結了直接重新刷系統,系統也有了一些改動。下面開始重新刷系統之路,補充一下一些填坑之路,供自己回顧。選購及安裝參考 備註一下 散熱器 樹莓派發熱還是有點嚴...