本文將介紹如何在邊緣計算網關WisGate Connect(RAK7391)上快速部署一個Node-RED 環境。
WisGateConnect 是瑞科慧聯(RAK)最新推出的物聯網平臺,支持多種通訊協議和網絡連接方式,還支持接入多種工業傳感器(溫濕度、氣體、雷達、震動傳感器等等)和IO 模塊(Modbus, CANbus,LIN bus 等等)。
Node-RED是一款IBM 開源的低代碼物聯網編排工具。它通過新穎有趣的方式,將硬件設備、API和在線服務連接在一起。Node-RED 提供了一個基于瀏覽器的編輯器,用戶可以基于這個編輯器中提供的各種節點(node)來輕松地創建各種流程,單擊一下即可將其部署到設備上。
對于個人用戶來說,無需多少編程經驗,即可通過Node-RED 在個人設備上(筆記本電腦、樹莓派、云上虛擬機等)部署多種在線服務,例如部署一套智能家居自動化流程(flow),或者給自己的智能音箱添加點定制化小功能等。
對于企業用戶,Node-RED 也不失為一個可靠的生產力工具。日立、西門子IOT2000、三星、研華WISE-PaaS 等,都將Node-RED 集成到了他們自己的產品和服務中。
為方便用戶使用,我們將采取容器部署Node-RED 的方式。在這之前,瑞科慧聯已經對Node-RED官方鏡像nodered/node-red:3.0.2進行了一些修改。有關Node-RED 3.0 版的最新更改,請查看官方發行說明。修改后的Node-RED 鏡像(代碼倉庫NodeRED RAK-edition)預安裝了一些基本依賴庫,和瑞科慧聯開發的適用于上述工業傳感器和IO 的Node-RED 節點(代碼倉庫RAKWireless/node-red-nodes)。
接下來,我們會介紹兩種啟動該容器的方法:一種是熟悉docker-compose 的用戶可根據下方提供的YML 文件來部署;另一種是通過Portainer 容器的可視化界面來部署。
軟件準備
在部署服務前,需確保在設備上已經安裝了docker。如果計劃使用docker-compose 來部署,還需確認是否已經安裝了docker-compose;如果是使用Portainer 的可視化界面來部署,需確保在設備上部署了Portainer 服務。
可參閱如下文檔來查閱這些軟件的安裝/配置文檔:
- Docker Engine Install Docker 文檔
- Docker-compose Install Docker Compose 文檔 使用 Docker 安裝 Portainer standalone Install Portainer with Docker on Linux 文檔
- 在 Portainer 內配置 RAK 定制的應用模板 RAKWireless/portainer-templates 代碼倉庫
使用docker compose啟動
安裝docker compose后,可通過以下測試命令來檢查安裝是否正常:
rak@rakpios:~ $ docker compose version
Docker Compose version v2.6.0
若使用搭載樹莓派CM4 的WisGateConnect部署,可使用下方的 docker-compose.yml文件來啟動Node-RED 服務:
version: '3.7'
services:
nodered:
image: sheng2216/nodered-docker:rak
# build:
# context: ./
# dockerfile: Dockerfile
container_name: NodeRed
user: node-red
group_add:
- "997"
- "998"
restart: unless-stopped
devices:
-"/dev/gpiochip0:/dev/gpiochip0"
- "/dev/i2c-1:/dev/i2c-1"
-"/dev/ttyUSB0:/dev/ttyUSB0"
-"/dev/ttyUSB1:/dev/ttyUSB1"
volumes:
-'node-red-data:/data'
ports:
- "1880:1880"
volumes:
node-red-data:
若使用樹莓派4B,請使用下方的docker-compose.yml文件來啟動Node-RED 服務:
version: '3.7'
services:
nodered:
image: sheng2216/nodered-docker:rak
# build:
# context: ./
# dockerfile: Dockerfile
container_name: NodeRed
user: node-red
group_add:
- "997"
- "998"
restart:
devices:
-"/dev/gpiochip0:/dev/gpiochip0"
- "/dev/i2c-1:/dev/i2c-1"
-"/dev/ttyAMA0:/dev/ttyAMA0"
volumes:
- 'node-red-data:/data'
ports:
- "1880:1880"
volumes:
node-red-data:
可將上面的配置內容保存在一個叫做docker-compose.yml 的文件中,然后使用如下命令來啟動Node-RED 服務:
當看到類似Started flows字樣的時候,就表明服務已經啟動成功了。這時可通過瀏覽器來訪問Node-RED的編輯器。在同一局域網內可訪問http://{host-ip}:1880,其中host-ip是你的樹莓派地址。
使用Portainer啟動
在Portainer 上啟動Node-Red 非常簡單,首先需要確保已經按照介紹部分中的文檔成功啟動了
Portainer:
其中 status一欄中可以看到 up6 minutes字樣,這表明此時portainer已經啟動了一段時間了,這時可以在瀏覽器地址欄中輸入https://{host-ip}:9443來訪問portainer的頁面。
在左側邊欄最下方的Setting 選項中找到AppTemplate 這一欄,然后填入RAK 為WisgateConnect 這款產品量身定制的App 模板,該模板中包含了數十種可一鍵部署的常用的服務,包括Node-RED,Zigbee2MQTT,TheThingsStackLNS,Helium gateway-rs,HomeAssistant 等等。
模板的URL是:
https://raw.githubusercontent.com/RAKWireless/portainer-templates/master/portainer_app_template.json
接著在左側的AppTemplate 中就可以看到包含Node-RED 在內的數十種服務了:
點擊Node-RED 的圖標,即可進入部署頁面:
可在此頁面修改容器的名字或 PUID、PGID 等選項,然后點擊左下方 Deploy the stack 來部署。部署完成后,會自動刷新當前界面,并返回容器列表頁面,就可以通過瀏覽器來訪問 Node-RED 的編輯器了。在同一局域網內可訪問 http://{host-ip}:1880, 其中 host-ip 是你的樹莓派地址。
Node-RED示例
在進入Node-RED 網頁編輯器中后,可以在左側邊欄中找到如下背景色為橘黃色的節點,這些都是RAK 為其WisBlock 工業傳感器和IO 開發的節點:
這些節點都是為WisBlock 傳感器和IO 開發,但是不僅WisBlock 模塊可以在WisGate Connect 上開箱即用,而且這些節點在大多數情況下也能夠支持采用同樣芯片的傳感器和IO,因為我們給這些節點提供了一些配置選項,用戶可以根據自己的情況修改這些芯片的軟件配置,使他們也能在別的設備上工作。
下表列出了這些Node-RED 節點所對應的各個WisBlock 模塊,同時還有內置的芯片型號,以及Node-REDflow 示例。關于這些Node-RED示例,可以直接查看[Wisblock-node-red 代碼倉庫](GitHub - RAKWireless/wisblock-node-red: NodeRED exampleflows to use with WisBlockmodules),倉庫中包含了所有Node 的文檔和示例代碼。
此處以WisGateconnect 上自帶的溫濕度傳感器SHTC3 為例,展示如何快速的讀取溫濕度信息。更多細節請查看該傳感器對應的[Node-RED flow example](wisblock-node-red/sensors/rak1901/rak1901-shtc3-read at master · RAKWireless/wisblock-node-red ·
GitHub)。首先需要將文件[rak1901-shtc3-read.json](wisblock-node-red/rak1901-shtc3-read.jsonat master· RAKWireless/wisblock-node-red·GitHub)中的內容導入到Node-RED 中即可。請參考下方操作截圖:
在彈出的窗口中直接粘貼json 文件信息:
部署flow:
可以看到右側的debug 窗口中已經出現了溫濕度讀數,但是默認是華氏度。可以選擇修改輸出的單位,從華氏度變為攝氏度。
該倉庫中提供了瑞科慧聯開發的20 多個Node-RED 節點的詳細示例代碼和文檔說明。借助這些文檔,可以很快的掌握如何在WisGateConnect 上使用Node-RED 這個低代碼平臺監控和管理各種工業傳感器和IO 接口。
-
物聯網
+關注
關注
2909文章
44635瀏覽量
373394 -
RAK
+關注
關注
0文章
48瀏覽量
2088
發布評論請先 登錄
相關推薦
評論