本文将介绍如何在边缘计算网关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 接口。
-
物联网
+关注
关注
2903文章
44279浏览量
371298 -
RAK
+关注
关注
0文章
48浏览量
2066
发布评论请先 登录
相关推荐
评论