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

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

    关注

    2934

    文章

    46513

    浏览量

    396460
  • RAK
    RAK
    +关注

    关注

    0

    文章

    48

    浏览量

    2348
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    工业物联网和自动化领域 Node-RED 最常用的 10 大节点,你用过几个?

    本文盘点了工业物联网与自动化领域 Node-RED 最常用的 10 大节点,包括 inject、debug、MQTT、Modbus、OPC UA 等,并结合应用场景与技巧进行解析。钡铼技术 ARMxy 系列工业控制器已预装 Node-RED,开机即可实现数据采集、协议转换
    的头像 发表于 08-13 11:47 ?207次阅读
    工业物联网和自动化领域 <b class='flag-5'>Node-RED</b> 最常用的 10 大节点,你用过几个?

    AI 边缘计算网关:开启智能新时代的钥匙?—龙兴物联

    ,这一过程常受网络延迟和不稳定的困扰。如今,借助 AI 边缘计算网关,数据处理任务下沉至网络边缘本地即可
    发表于 08-09 16:40

    边缘智能网关在水务行业中的应用—龙兴物联

    海量实时数据的上云带宽需求。 保障供水安全:? 快速响应突发污染,最大限度减少影响范围。 管网泄漏监测与定位? 应用:? 供水管网部署压力、流量、声波振动传感器,边缘
    发表于 08-02 18:28

    物联网+低代码:解锁高效开发,纵横智控Node-RED平台引领新范式

    物联网的星辰大海已近在眼前,但抵达彼岸的航程需要更高效的桨帆。低代码开发,特别是以Node-RED为代表的可视化流编程范式,正在大幅降低物联网应用开发的技术门槛和成本,释放创新潜能。成都纵横
    的头像 发表于 06-28 14:53 ?637次阅读
    物联网+低<b class='flag-5'>代码</b>:解锁高效开发,纵横智控<b class='flag-5'>Node-RED</b>平台引领新范式

    Node?RED可视化拖拽编程实践-成都纵横智控EG边缘计算网关

    成都纵横智控EG边缘计算网关借助Node?RED的开放性与可视化优势,打破了传统工业控制系统对高级编程技能的依赖,为现场自动化提供了“人人皆
    的头像 发表于 04-17 15:38 ?474次阅读
    <b class='flag-5'>Node</b>?<b class='flag-5'>RED</b>可视化拖拽编程实践-成都纵横智控EG<b class='flag-5'>边缘</b><b class='flag-5'>计算</b><b class='flag-5'>网关</b>

    【教程】Node-RED中Chirpstack节点使用指南

    物联网应用开发中,LoRaWAN技术因其低功耗、远距离传输等特点而备受关注。Chirpstack作为最流行的LoRaWAN服务器之一,与Node-RED的集成为我们提供了强大的物联网应用开发能力
    的头像 发表于 03-27 19:33 ?696次阅读
    【教程】<b class='flag-5'>Node-RED</b>中Chirpstack节点使用指南

    什么是边缘计算网关?深度解析边缘计算网关的核心技术与应用场景

    物联网(IoT)和工业 4.0 的浪潮中,边缘计算网关正成为连接物理世界与数字世界的核心枢纽。这种设备不仅能够实时处理数据,还能减轻云端负担,提升系统响应速度。本文将从技术原理、架构
    的头像 发表于 03-24 10:02 ?927次阅读
    什么是<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?首先我们来认识一下什么是Node-REDNode-RED是一个基于Node.js的开源可视化编程工具,于2013年由IBM公司推出。它可以通过浏览器的图形化
    的头像 发表于 03-13 19:32 ?1072次阅读
    【干货】什么是<b class='flag-5'>Node-RED</b>?一文带你了解!

    什么是边缘计算网关?可以实现什么功能?

    边缘计算网关是一种智能设备,通常部署在网络的边缘位置,靠近数据源或用户。它负责本地处理和分析数
    的头像 发表于 01-09 17:41 ?1229次阅读
    什么是<b class='flag-5'>边缘</b><b class='flag-5'>计算</b><b class='flag-5'>网关</b>?可以实现什么功能?

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

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

    Node-RED + 钡铼技术ARMxy工控机实现Modbus转IEC-61850

    随着工业自动化技术的发展,不同设备之间的数据互通变得越来越重要。传统的协议转换网关虽然能够实现不同协议设备之间的数据交换,但在灵活性和扩展性方面存在一定的局限性。本文将介绍一种基于Node Red
    的头像 发表于 10-11 11:16 ?654次阅读
    <b class='flag-5'>Node-RED</b> + 钡铼技术ARMxy工控机实现Modbus转IEC-61850

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

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

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

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

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

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

    区别DTU、RTU和边缘计算网关及其联系

    DTU、RTU和边缘计算网关在功能和能力上存在明显的差异。DTU主要负责数据传输和转发,功能相对简单;RTU具备数据处理和控制能力,能适应更加复杂的工业应用和环境;而
    的头像 发表于 08-26 16:39 ?1198次阅读
    区别DTU、RTU和<b class='flag-5'>边缘</b><b class='flag-5'>计算</b><b class='flag-5'>网关</b>及其联系