Node-RED是一個開源的基于流程的編程工具倾哺,可以連接硬件設(shè)備、提供API和在線服務(wù)刽脖。
作為專為物聯(lián)網(wǎng)(IoT)設(shè)計的產(chǎn)品羞海,Node-RED與樹莓Pi完美匹配,可以很好的兼容Pi的GPIO曲管。
這個軟件包可以解析來自Raspberry Pi的GPIO引腳的數(shù)據(jù)却邓,并根據(jù)這些數(shù)據(jù)創(chuàng)建動作。也可以使用Node-RED根據(jù)事件與GPIO引腳進(jìn)行交互院水。
例如腊徙,可以根據(jù)一天中的不同時間简十,讓Node-RED打開和關(guān)閉一盞燈。
Node-RED最好的是它為你提供了一個易于使用撬腾、基于瀏覽器的編輯器螟蝙。
使用該編輯器,即使你對編程一無所知民傻,也可以輕松地創(chuàng)建工作流胰默,并將其部署到Node-RED運(yùn)行。
設(shè)備清單
下面是推薦的在樹莓派上設(shè)置Node-RED的設(shè)備清單
建議
樹莓派
高速SD卡
樹莓派4B電源
以太網(wǎng)線或WiFi
可選
樹莓派外殼
USB鼠標(biāo)
USB鍵盤
本Node-RED教程是在運(yùn)行最新版Raspbian Buster的Raspberry Pi 4上測試的漓踢。
在Raspberry Pi上安裝Node-RED
1. 在安裝Node-RED之前牵署,首先要做的是確保Raspberry Pi運(yùn)行的是最新版本的Raspbian。
運(yùn)行以下命令來更新和升級所有已存在的軟件包喧半。
sudo apt update
sudo apt upgrade
2. 需要安裝 “build-essential “包奴迅。這個包用來構(gòu)建NPM所需要的任何模塊。
運(yùn)行下面的命令來安裝 “build-essential”挺据。
sudo apt install build-essential
3. 最后取具,可以通過運(yùn)行以下命令來安裝Node-RED。
這個會給Raspberry Pi安裝幾個東西扁耐。這些包包括Node.js者填、npm和Node-RED本身。
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
雖然Node-RED可以通過Raspbian軟件包倉庫獲得做葵,但該腳本是官方推薦的安裝方法占哟,因?yàn)樗矔惭bnpm。
npm是非常有用的酿矢,因?yàn)樗荖ode-RED所基于的javascript編程語言的包管理器榨乎。使用npm,你將能夠安裝額外的模塊瘫筐,以便與Node-RED一起使用蜜暑。
可以直接在網(wǎng)頁瀏覽器中查看腳本的內(nèi)容。
4. 在腳本開始在Raspberry Pi上運(yùn)行之前策肝,會被問到兩個問題肛捍。
第一個是問是否真的要繼續(xù)安裝。
Are you really sure you want to do this ? [y/N] ?
輸入 Y之众,然后按 ENTER 鍵繼續(xù)拙毫。
第二個問題會問是否要安裝Raspberry Pi特定的Node-RED包。
Would you like to install the Pi-specific nodes ? [y/N] ?
同樣對這個問題棺禾,按字母Y缀蹄,然后按ENTER繼續(xù)。
5. 當(dāng)安裝腳本運(yùn)行時,它會完成五個不同的任務(wù)缺前。
- 首先蛀醉,該腳本將刪除任何預(yù)先存在的Node-RED和Node.js安裝。這是為了防止與包倉庫提供的舊版本發(fā)生沖突衅码。
- 接下來拯刁,腳本將繼續(xù)使用NodeSource包庫安裝當(dāng)前的Node.JS LTS版本。
- 之后逝段,將使用npm將最新版本的Node-RED安裝到你的Raspberry Pi上垛玻。
- 在這一步中,腳本將安裝任何Raspberry Pi的特定模塊到操作系統(tǒng)惹恃。
- 最后夭谤,由腳本生成Node-RED服務(wù)棺牧。
在Raspberry Pi上啟動Node-Red
1. Node-RED終于安裝到了Pi上巫糙,現(xiàn)在可以啟動軟件了。
有兩種不同的方式颊乘。一種是將其作為系統(tǒng)服務(wù)参淹。另一種是直接運(yùn)行。
直接啟動Node-RED
要直接啟動Node-RED而不將其作為服務(wù)啟動乏悄,需要做的就是輸入以下命令浙值。
node-red
這樣啟動Node-RED的好處是,可以訪問它的終端檩小。會看到這里出現(xiàn)錯誤等情況开呐。
啟動Node-RED的服務(wù)
或者,也可以使用下面的命令來啟動Node-RED服務(wù)规求。
sudo systemctl start nodered
如果在Raspberry Pi上遇到Node-RED不能正確啟動的問題筐付,建議您嘗試其他方法。
另一種方法應(yīng)該會顯示在啟動過程中可能發(fā)生的任何錯誤阻肿。
另外瓦戚,也可以通過使用以下命令來檢查Node-RED服務(wù)的狀態(tài)。
sudo systemctl status nodered
這個命令會給你關(guān)于Node-RED的各種細(xì)節(jié)丛塌,讓你知道它是否成功運(yùn)行较解,以及它輸出到終端的最后幾行。
Node-RED現(xiàn)在應(yīng)該在后臺靜靜地啟動赴邻,現(xiàn)在應(yīng)該能夠訪問它的Web界面印衔。
打開Node-RED編輯器
現(xiàn)在,Node-RED已經(jīng)在Raspberry Pi上安裝并啟動姥敛,可以訪問它的Web界面当编。
使用基于瀏覽器的Node-RED編輯器,可以相對輕松地可視化創(chuàng)建事件驅(qū)動的應(yīng)用程序。
1. 先來獲取Raspberry Pi的本地IP地址忿偷。
最簡單的方法是使用以下命令金顿。這個命令將檢索Pi被分配的IP。
如果想要另一種方法鲤桥,可以嘗試按照指南檢索Pi的IP地址揍拆。
hostname -I
請注意該命令返回的IP地址,因?yàn)橄乱徊綄⑿枰?/p>
2. 現(xiàn)在茶凳,在瀏覽器中訪問以下URL嫂拴,連接到Node-RED網(wǎng)絡(luò)編輯器。
確保在使用以下URL時贮喧,將[IPADDRESS]替換為上一步檢索到的IP筒狠。
http://[IPADDRESS]:1880
3. 如果一切正常,現(xiàn)在應(yīng)該看到以下屏幕箱沦。
可以開始使用在Raspberry Pi上運(yùn)行的Node-RED網(wǎng)絡(luò)編輯器了辩恼。
讓Node-RED在開機(jī)時啟動
由于Node-RED安裝腳本會自動設(shè)置一個服務(wù)文件,需要做的就是讓它在系統(tǒng)啟動時啟動谓形。
1. 要在Pi上啟用Node-RED服務(wù)灶伊,需要使用以下命令。
sudo systemctl enable nodered
2. 或者寒跳,如果想停止Node-RED在系統(tǒng)啟動時自動啟動聘萨,可以使用以下命令。
sudo systemctl disable nodered
希望到這里童太,你已經(jīng)成功地讓Node-RED在Raspberry Pi上運(yùn)行了米辐。
如果你在樹莓Pi上安裝Node-RED時遇到了任何問題,或者有任何反饋书释,歡迎在下面留言翘贮。