日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

node-red 安装

發布時間:2024/1/4 综合教程 42 生活家
生活随笔 收集整理的這篇文章主要介紹了 node-red 安装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹

Node-RED背景介紹
? Node-Red是IBM公司開發的一個可視化的編程工具。它允許程序員通過組合各部件來編寫應用程序。這些部件可以是硬件設備(如:Arduino板子)、Web API(如:WebSocket in和WebSocket out)、功能函數(如:range)或者在線服務(如:email)。
? Node-Red提供基于網頁的編程環境。通過拖拽已定義node到工作區并用線連接node創建數據流來實現編程。程序員通過點擊‘Deploy’按鈕實現一鍵保存并執行。程序以JSON字符串的格式保存,方便用戶分享、修改。
? Node-Red基于Node.js,它的執行模型和Node.js一樣,也是事件驅動非阻塞的。理論上,Node.js的所有模塊都可以被封裝成Node-Red的一個或幾個node。(Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環境。使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。 Node.js 的包管理器 npm是全球最大的開源庫生態系統。)

安裝

為了方便,采用docker的方式安裝,附官網

所有安裝方式:https://nodered.org/docs/getting-started/

docker安裝方式:https://nodered.org/docs/getting-started/docker

1. 首先拉取鏡像(這里使用的最新版本latest):

docker pull nodered/node-red-docker

2. 啟動一個容器:

我打算把data文件掛載到主機上,省的每次都去容器內部改配置啥的,查看數據也方便

首先在你當前目錄(哪兒都可以)創建一個空文件夾node-red-data,設置權限為777

chmod 777 node-red-data/

當前目錄啟動容器

docker run -it -p 1880:1880 -v $PWD/node-red-data:/data --name mynodered nodered/node-red-docker

注意:如果不把要掛載的node-red-data文件夾權限改成777,會報權限錯誤:

> node-red-docker@1.0.0 start /usr/src/node-red
> node $NODE_OPTIONS node_modules/node-red/red.js -v $FLOWS "--userDir" "/data"

fs.js:1918
  binding.copyFile(src, dest, flags);
          ^

Error: EACCES: permission denied, copyfile '/usr/src/node-red/node_modules/node-red/settings.js' -> '/data/settings.js'
    at Object.fs.copyFileSync (fs.js:1918:11)
    at copyFile (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:68:8)
    at onFile (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:53:25)
    at getStats (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:48:44)
    at startCopy (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:38:10)
    at handleFilterAndCopy (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:33:10)
    at Object.copySync (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:26:10)
    at Object.<anonymous> (/usr/src/node-red/node_modules/node-red/red.js:108:20)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-red-docker@1.0.0 start: `node $NODE_OPTIONS node_modules/node-red/red.js -v $FLOWS "--userDir" "/data"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-red-docker@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /usr/src/node-red/.npm/_logs/2019-09-06T08_12_17_367Z-debug.log

如果docker run 命令帶 -ti 交互參數的話,啟動成功會出現如下文字:

# docker run -it -p 1880:1880 -v $PWD/node-red-data:/data --name mynodered nodered/node-red-docker

> node-red-docker@1.0.0 start /usr/src/node-red
> node $NODE_OPTIONS node_modules/node-red/red.js -v $FLOWS "--userDir" "/data"

6 Sep 08:17:21 - [info]

Welcome to Node-RED
===================

6 Sep 08:17:21 - [info] Node-RED version: v0.20.7
6 Sep 08:17:21 - [info] Node.js  version: v8.16.0
6 Sep 08:17:21 - [info] Linux 3.10.0-862.6.3.el7.x86_64 x64 LE
6 Sep 08:17:21 - [info] Loading palette nodes
6 Sep 08:17:22 - [warn] rpi-gpio : Raspberry Pi specific node set inactive
6 Sep 08:17:22 - [warn] rpi-gpio : Cannot find Pi RPi.GPIO python library
6 Sep 08:17:22 - [info] Settings file  : /data/settings.js
6 Sep 08:17:22 - [info] Context store  : 'default' [module=memory]
6 Sep 08:17:22 - [info] User directory : /data
6 Sep 08:17:22 - [warn] Projects disabled : editorTheme.projects.enabled=false
6 Sep 08:17:22 - [info] Flows file     : /data/flows.json
6 Sep 08:17:22 - [info] Creating new flow file
6 Sep 08:17:22 - [warn]

---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.

You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
---------------------------------------------------------------------

6 Sep 08:17:22 - [info] Server now running at http://127.0.0.1:1880/
6 Sep 08:17:22 - [info] Starting flows
6 Sep 08:17:22 - [info] Started flows

瀏覽器輸入上面的地址:http://127.0.0.1:1880

現在來說安裝就完成了

3. 添加登錄密碼驗證

官網:https://nodered.org/docs/user-guide/runtime/securing-node-red

如果想登錄驗證,設置配置文件settings.js,如果不想設置,可以跳過。

上面的掛載目錄node-red-data目錄下,會生成settings.js文件,修改adminAuth選項

adminAuth: {
        type: "credentials",
        users: [{
            username: "admin",
            password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.",
            permissions: "*"
        }]
    },

注釋完后,需要修改password,改成你自己的密碼的hash值

進入容器內部

docker exec -ti mynodered bash
cd node_modules
# 使用下面命令生成密碼hash值
node -e "console.log(require('bcryptjs').hashSync(process.argv[1], 8));" your-password-here

這是我用admin生成的hash值:$2a$08$ADvb5sLmp1N4PWcr27Hfr.3JogbYfsBqbbmoiK14Zoq8Tbv8j91JO

重啟容器:

docker restart mynodered

再訪問瀏覽器就可以看到登錄畫面輸入密碼了

--------------------------------------------完----------------------------------------------

總結

以上是生活随笔為你收集整理的node-red 安装的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。