0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

无需复杂代码,轻松快速在边缘计算网关WisGate Connect上部署Node-RED

瑞科慧联(RAK) 2022-11-17 15:18 次阅读

本文将介绍如何在边缘计算网关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 服务:

poYBAGN12tCAKWcLAAMfyvFPVjw247.png

当看到类似Started flows字样的时候,就表明服务已经启动成功了。这时可通过浏览器来访问Node-RED的编辑器。在同一局域网内可访问http://{host-ip}:1880,其中host-ip是你的树莓派地址。

使用Portainer启动

在Portainer 上启动Node-Red 非常简单,首先需要确保已经按照介绍部分中的文档成功启动了

Portainer:

pYYBAGN12TiAd2opAAApdLXNPvk048.png

其中 status一栏中可以看到 up6 minutes字样,这表明此时portainer已经启动了一段时间了,这时可以在浏览器地址栏中输入https://{host-ip}:9443来访问portainer的页面。

pYYBAGN1rx6AD9l9ABoHh-0qCK8488.png

在左侧边栏最下方的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

poYBAGN1r1CAW1YSABYpFKC4oUU353.png

接着在左侧的AppTemplate 中就可以看到包含Node-RED 在内的数十种服务了:

pYYBAGN1r2CAGr-IABLMNDPAywU860.png

点击Node-RED 的图标,即可进入部署页面:

poYBAGN1r3GATHvVABV1rmlWyVU613.png

可在此页面修改容器的名字或 PUID、PGID 等选项,然后点击左下方 Deploy the stack 来部署。部署完成后,会自动刷新当前界面,并返回容器列表页面,就可以通过浏览器来访问 Node-RED 的编辑器了。在同一局域网内可访问 http://{host-ip}:1880, 其中 host-ip 是你的树莓派地址。

Node-RED示例

在进入Node-RED 网页编辑器中后,可以在左侧边栏中找到如下背景色为橘黄色的节点,这些都是RAK 为其WisBlock 工业传感器和IO 开发的节点:

pYYBAGN1r3uAB_5iABLzQi5O2Y0482.png

这些节点都是为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 的文档和示例代码。

pYYBAGN1sQyAQV8JAABISsPJwdM501.png

此处以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 中即可。请参考下方操作截图:

pYYBAGN1r6GAEwlYAA3uvvFLgJU370.png

在弹出的窗口中直接粘贴json 文件信息

poYBAGN1r6mAVnxGAAuDVainUc0691.png

部署flow:

pYYBAGN1r7OAFmoEABBQXvRisS0536.png

可以看到右侧的debug 窗口中已经出现了温湿度读数,但是默认是华氏度。可以选择修改输出的单位,从华氏度变为摄氏度。

poYBAGN1r7yALT6jAAzAAWbU3Kg749.png

该仓库中提供了瑞科慧联开发的20 多个Node-RED 节点的详细示例代码和文档说明。借助这些文档,可以很快的掌握如何在WisGateConnect 上使用Node-RED 这个低代码平台监控和管理各种工业传感器和IO 接口

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2870

    文章

    41659

    浏览量

    358422
  • RAK
    RAK
    +关注

    关注

    0

    文章

    48

    浏览量

    2007
收藏 人收藏

    评论

    相关推荐

    边缘计算网关的用途及其使用方法

    的用途及其使用方法,帮助读者更好地理解和应用这一技术。 一、边缘计算网关的概念与优势 边缘计算网关
    的头像 发表于 04-17 16:27 179次阅读
    <b class='flag-5'>边缘</b><b class='flag-5'>计算</b><b class='flag-5'>网关</b>的用途及其使用方法

    边缘计算网关的优势有哪些?

    随着信息化、智能化浪潮的持续推进,计算技术正以前所未有的速度发展,而边缘计算网关作为其中的重要一环,以其独特的优势正在逐步改变我们的生活方式和工作模式。本文将详细解析
    的头像 发表于 04-17 16:26 146次阅读

    边缘计算网关是什么?有什么作用

    在数字化时代,信息的传输与处理变得愈发重要,而其中的关键节点之一便是边缘计算网关。这一先进的网络设备,不仅扩展了云端功能至本地边缘设备,还使得边缘
    的头像 发表于 04-16 15:25 230次阅读
    <b class='flag-5'>边缘</b><b class='flag-5'>计算</b><b class='flag-5'>网关</b>是什么?有什么作用

    边缘计算网关是什么?该如何选择?

    随着物联网和云技术的发展,边缘计算网关作为物联网和云系统连接的重要桥梁起着关键作用。本文以苏州稳联科技有限公司为例,分析了边缘计算
    的头像 发表于 04-12 17:12 255次阅读
    <b class='flag-5'>边缘</b><b class='flag-5'>计算</b><b class='flag-5'>网关</b>是什么?该如何选择?

    Docker容器实现边缘采集

    Node-RED环境搭建Node-RED是构建物联网(IoT,InternetofThings)应用程序的一个强大工具,其重点是简化代码块的“连接”以执行任务。它使用可视化编程方法,允许开发人员
    的头像 发表于 12-15 08:20 280次阅读
    Docker容器实现<b class='flag-5'>边缘</b>采集

    浏览器网页与T5L迪文屏串口深度扩展(Node-RED技术)

    ——来自迪文开发者论坛本期为大家推送一个很有创意的迪文开发者论坛获奖开源案例——浏览器网页与T5L迪文屏串口深度扩展(Node-RED技术)。工程师使用T5L智能屏,通过Node-RED技术,只需要
    的头像 发表于 12-09 08:13 327次阅读
    浏览器网页与T5L迪文屏串口深度扩展(<b class='flag-5'>Node-RED</b>技术)

    边缘计算网关简介

    在设备端进行数据过滤、优化和实时响应,从而降低网络负载和云端压力。随着工业物联网快速发展,边缘计算网关的应用已成为推动工业自动化和数字化转型的关键因素。在处理大量数据和保证实时性方面,
    的头像 发表于 11-23 16:01 1227次阅读

    小型边缘计算网关设备如何快速上云

    本文教你使用ZWS云平台提供的SDK,快速将小型边缘计算网关设备接入ZWS云平台。话不多说,跟着操作起来吧!前期准备下载ZWS云平台提供的ZWSR2_MQTT_SDK
    的头像 发表于 11-22 08:24 582次阅读
    小型<b class='flag-5'>边缘</b><b class='flag-5'>计算</b><b class='flag-5'>网关</b>设备如何<b class='flag-5'>快速</b>上云

    轻松实现数据监测:边缘计算网关体验之数据阈值上报

    如何轻松监测Modbus设备的数据,并且在设备数据符合阈值条件才上报给服务器,减少服务器的压力呢?今天让我们来体验一下GCOM80-2NET边缘计算网关是如何简单实现数据阈值上报
    的头像 发表于 08-14 10:10 320次阅读
    <b class='flag-5'>轻松</b>实现数据监测:<b class='flag-5'>边缘</b><b class='flag-5'>计算</b><b class='flag-5'>网关</b>体验之数据阈值上报

    物联网与ESP32、Node-RED和InfluxDB与WebSocket

    电子发烧友网站提供《物联网与ESP32、Node-RED和InfluxDB与WebSocket.zip》资料免费下载
    发表于 07-13 09:51 0次下载
    物联网与ESP32、<b class='flag-5'>Node-RED</b>和InfluxDB与WebSocket

    W5100S EVB Pico与Node RED开源

    电子发烧友网站提供《W5100S EVB Pico与Node RED开源.zip》资料免费下载
    发表于 06-14 10:50 0次下载
    W5100S EVB Pico与<b class='flag-5'>Node</b> <b class='flag-5'>RED</b>开源

    Node-red启动电脑摄像头案例

    通过Node-red实现打开电脑自带的摄像头或者USB摄像头
    的头像 发表于 06-01 06:50 3935次阅读
    <b class='flag-5'>Node-red</b>启动电脑摄像头案例

    什么是边缘计算网关边缘计算网关产品的特点)

    边缘计算网关(简称 边缘网关)将云端功能扩展到本地的边缘设备,使
    发表于 05-31 15:05 1次下载
    什么是<b class='flag-5'>边缘</b><b class='flag-5'>计算</b><b class='flag-5'>网关</b>(<b class='flag-5'>边缘</b><b class='flag-5'>计算</b><b class='flag-5'>网关</b>产品的特点)

    Node-RED的初始页面以及初步搭建流的基础知识解析

    Node-RED的界面主要分为四个部分:顶部标题栏、左侧节点选项栏、中间的工作区域以及右侧的调试栏
    的头像 发表于 05-30 09:45 2312次阅读
    <b class='flag-5'>Node-RED</b>的初始页面以及初步搭建流的基础知识解析

    Linux哪吒D1的NodeRed机械臂控制与拍照(二)

    以下是使用node-red实现的本项目各项重要功能,关于node-red的安全可以自己参考网上的安装教程,一般要先安装node.js,安装好之后才能正常调用npm功能安装node-red
    的头像 发表于 05-17 09:02 2869次阅读