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 接口

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

    关注

    2903

    文章

    44279

    浏览量

    371298
  • RAK
    RAK
    +关注

    关注

    0

    文章

    48

    浏览量

    2066
收藏 人收藏

    评论

    相关推荐

    Node-RED赋能ARMxy嵌入式计算机:开发者的首选

    引言 工业自动化与物联网(IoT)迅猛发展的今天,如何高效地管理和控制工业设备成为了众多企业的关注焦点。Node-Red作为一种直观且强大的可视化编程工具,凭借其低门槛、易用性强的特点,已经成为
    的头像 发表于 10-11 11:39 230次阅读
    <b class='flag-5'>Node-RED</b>赋能ARMxy嵌入式<b class='flag-5'>计算</b>机:开发者的首选

    教程:ARMxy工业计算机上Node-RED连接本地MySQL的方法

    选择。与此同时,MySQL数据库因其高性能和可靠性,工业数据存储方面扮演着重要角色。 本文将介绍如何在ARMxy工业计算机上使用Node-Red与本地MySQL数据库建立连接的过程。通过具体步骤的演示,我们将展示从环境配置到数
    的头像 发表于 10-11 10:24 174次阅读
    教程:ARMxy工业<b class='flag-5'>计算</b>机上<b class='flag-5'>Node-RED</b>连接本地MySQL的方法

    ARM控制器与Node-Red:获取气象网站数据

    在当今工业物联网(IoT)蓬勃发展的背景下,企业和开发者们不断寻求更智能的方式来管理和控制工业设备。Node-Red作为一种强大的可视化编程工具,简化了物联网应用程序的开发过程,使得即使是编程新手也能快速搭建起复杂的数据流网络。
    的头像 发表于 09-21 10:40 252次阅读
    ARM控制器与<b class='flag-5'>Node-Red</b>:获取气象网站数据

    Node-Red可视化编程:简化开发的创新之选

    Node-Red 是构建物联网 (IOT Internet of Things) 应用程序的一个强大工具,其重点是简化代码块的“连接 ” 以执行任务。它使用可视化编程方法,允许开发人员将预定义的代码块 (称为“节点 ”,
    的头像 发表于 09-21 10:37 238次阅读
    <b class='flag-5'>Node-Red</b>可视化编程:简化开发的创新之选

    ARMxy ARM 物联网边缘计算网关支持 Node-RED 用于工业控制

    恶劣环境下稳定运行。丰富的通信接口(如网口、USB、RS485 等)及 WiFi/4G 支持,使网关能够灵活适应不同网络环境。 Node-RED 是一个基于 Node.js 的流程编
    的头像 发表于 08-19 17:01 293次阅读
    ARMxy ARM 物联网<b class='flag-5'>边缘</b><b class='flag-5'>计算</b><b class='flag-5'>网关</b>支持 <b class='flag-5'>Node-RED</b> 用于工业控制

    ARMxy ARM物联网边缘计算网关支持Node-RED用于云边端一体化

    解决方案的理想选择。本文将重点介绍ARMxy ARM边缘计算网关如何利用Node-RED这一开源工具,简化物联网应用的开发流程,加速数据从边缘
    的头像 发表于 08-19 16:05 337次阅读
    ARMxy ARM物联网<b class='flag-5'>边缘</b><b class='flag-5'>计算</b><b class='flag-5'>网关</b>支持<b class='flag-5'>Node-RED</b>用于云边端一体化

    ARMxy ARM嵌入式计算机支持Node-Red应用于Ubuntu系统订阅消息

    。核心板CPU、ROM、RAM、电源、晶振等元器件均采用国产工业级方案,兼容Node-Red框架。本文主要介绍ARMxy边缘计算网关BL340系列使用
    的头像 发表于 08-16 14:23 289次阅读
    ARMxy ARM嵌入式<b class='flag-5'>计算</b>机支持<b class='flag-5'>Node-Red</b>应用于Ubuntu系统订阅消息

    利用ARMxy边缘计算机BL340与Node-Red实现LED设备的开闭控制

    Node-Red作为一个编程模型,以其基于节点的方式简化了数据流的创建,成为连接硬件与软件的桥梁。ARM嵌入式计算机BL340系列的加入,不仅彰显了ARM架构嵌入式系统的强大应用潜力,还为开发者
    的头像 发表于 08-15 14:12 222次阅读
    利用ARMxy<b class='flag-5'>边缘</b><b class='flag-5'>计算</b>机BL340与<b class='flag-5'>Node-Red</b>实现LED设备的开闭控制

    使用Node-RED实现ModBus TCP到RTU的转换

    ,需要将ModBusTCP数据转换为ModBusRTU格式或者是将ModBusRTU格式转换为ModBusTCP数据。本文将详细介绍如何使用Node-RED来实现M
    的头像 发表于 08-02 08:21 656次阅读
    使用<b class='flag-5'>Node-RED</b>实现ModBus TCP到RTU的转换

    Node-RED初学者教程-三分钟学习

    通过这短短三分钟的教程,你已经掌握了Node-RED的基本操作。你可以利用Node-RED的强大功能来创建更复杂的数据流和自动化任务,无论是物联网应用、API集成还是数据处理。Node-RED
    的头像 发表于 06-27 17:09 2409次阅读
    <b class='flag-5'>Node-RED</b>初学者教程-三分钟学习

    Node-RED如何制作漂亮的界面

    Node-RED深度融合(如成都的纵横智控和苏州稳联科技将Node-RED与物联网网关深度融合,打造可视化、硬件加持的物联网开发平台,使用者无需编码即可
    的头像 发表于 06-26 16:50 4102次阅读
    <b class='flag-5'>Node-RED</b>如何制作漂亮的界面

    Node-RED安装本地教程

    Node-RED是一个基于流的开发工具,广泛应用于物联网(IoT)、家庭自动化和其他数据驱动的应用程序。它通过图形化的编程界面,使得非专业程序员也能轻松上手。本文将介绍如何在本地环境中安装Node-RED,帮助你
    的头像 发表于 06-24 12:10 1894次阅读
    <b class='flag-5'>Node-RED</b>安装本地教程

    Node-RED实现电表数据采集并上云

    容器实现边缘采集”。前文指引:《【教程】图文详解!Docker容器实现边缘采集》首先需要搭建Node-RED运行环境,可以参考以往案例,也可以直接百度搜索,接下来
    的头像 发表于 06-07 08:21 2746次阅读
    <b class='flag-5'>Node-RED</b>实现电表数据采集并上云

    边缘计算网关的工作原理及其工业领域的应用价值

    ,提高了系统的响应速度和运行效率。本文将结合一个具体的工业使用案例,详细阐述边缘计算网关的工作原理及其工业领域的应用价值。 边缘
    的头像 发表于 03-15 14:06 438次阅读
    <b class='flag-5'>边缘</b><b class='flag-5'>计算</b><b class='flag-5'>网关</b>的工作原理及其<b class='flag-5'>在</b>工业领域的应用价值

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

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