Node-RED的介紹及優點
隨著物聯網的不斷髮展,各種物聯網相關的技術也在不斷髮展,開源的平臺也有很多,其中就有一個特別優秀的專案,它就是Node-RED,這個專案是由IBM新興技術服務團隊構建的視覺化物聯網編排工具,可基於瀏覽器的流程編輯器連線裝置、伺服器和 API 應用。這句對於Node-RED的介紹是來自官方的,增加了很多概念性的詞語,這裡稍作解釋一下。首先這個專案是由IBM公司的二名研究員建立的,旨在用於快速,低成本地搭建一個Iot平臺,但後來的反正,改專案不僅僅用於構建一個物聯網平臺,還有很多用處。目前這個專案已經是OpenJS Foundation的一部分了。此外他是一個視覺化的專案,後臺使用的是NodeJS語言,提供了Web頁面,來編寫Flow,這是改專案提供的頁面。
這裡的Flow你可以理解為一個最小可用的服務。建立Flow的主要方式是透過在瀏覽器拖拽完成的。所有所見即所得,基於瀏覽器的流程編輯,所以說他是一個視覺化的編排工具。此外它還支援,http,mqtt,websocket,tcp,utp,等協議。支援所有主流的連線裝置和伺服器。此外他還是一個可以無限擴充套件的平臺,目前平臺有超過225,000個模組,你可以輕鬆地在擴充套件面板中新增並使用他們。
總結一下Node-RED工具的特點
視覺化,直接在瀏覽器拖拽建立Flow平臺可使用模組豐富支援http,mqtt,websocket,tcp,utp協議使用Nodejs事件驅動的非阻塞模型,非常適合在低成本硬體執行完全開源,可以自主開發Node-RED的安裝接下來我將給大家演示一下,如何在ubuntu上安裝Node-RED,官方提供了很多種方式安裝,使用原始碼安裝,在樹莓派安裝,使用Docker安裝,在安卓,AWS,IBM Cloud中安裝, 我們採用Docker的方式來安裝。首先在unbuntu上安裝Docker,這一步不是重點,這裡只提供操作命令,不做過多解釋了。
# 指令碼安裝dockercurl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.shsudo groupadd docker #新增docker使用者組sudo gpasswd -a $USER docker #將登陸使用者加入到docker使用者組中newgrp docker #更新使用者組docker ps #測試docker命令是否可以使用sudo正常使用
如果最後一步輸入docker ps 沒有報錯就說明docker已經安裝成功了。
安裝docker後,執行下面這一句,下載Node-RED的官方映象
docker pull nodered/node-red
由於docker hub限速的原因,可能會下載的比較慢,有條件的可以,**你懂得.下載完成後,執行一下這個命令
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red
docker run - 執行一個容器,如果容器沒有在本地,則從docker hub下載-it - 前臺執行,可以看到日誌,執行步驟-p 1880:1880 - 將容器內的1880埠匯出到本地的1880埠,冒號後面一個1880是固定的,冒號前面的可以隨便填寫本地未佔用的埠號-v node_red_data:/data - 掛載一個本地目錄到容器中,作為資料持久化,這樣即使容器被銷燬,資料依然儲存在node_red_data目錄中–name mynodered - 給啟動的容器一個名詞nodered/node-red - 指定映象的名稱,預設版本為:latest,最新版本
執行命令後,控制會列印以下日誌
片
說明容器已經啟動了,
使用上面的命令啟動後,你不能關閉終端,關閉終端就會關閉容器,如果你想讓容器後端執行,可以使用下面這個命令執行
docker run -d -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red1
-d 表示後臺執行。需要先關閉以前的容器,並保證1880埠不被佔用。
開啟瀏覽器,訪問http://{host-ip}:1880 就能夠進入Node-RED的操作頁面了。
在使用者設定控制面板中我們可以使用第三方的庫
這是Node-RED系列的第一篇文章,後續還有也規劃了很多。
建立第一條流面板介紹及使用 共通,功能,網路,系列,解析,儲存建立一個http介面常用熱門模組使用實戰: 獲取實時天氣實戰:對接釘釘機器人實戰:發郵件操作樹莓派編寫一個介面對接主流硬體Node-RED相關連線
GitHub地址官網