• IBM Node-RED 安装与使用教程


    IBM Node-RED安装与使用教程

    1.Node-RED

    Node-RED 是构建物联网(IOT, Internet of Things)应用程序的一个强大工具,其重点是简化代码块的“连接”以执行任务。它使用可视化编程方法,允许开发人员将预定义的代码块(称为“节点”,Node)连接起来执行任务。连接的节点,通常是输入节点、处理节点和输出节点的组合,当它们连接在一起时,构成一个“流”(Flows)。

    IBM Node-RED安装与使用教程

    Node-RED最初是IBM在2013年末开发的一个开源项目,以满足他们快速连接硬件和设备到Web服务和其他软件的需求——作为物联网的一种粘合剂,它很快发展成为一种通用的物联网编程工具。重要的是,Node-RED已经迅速形成一个重要的、不断增长的用户基础和一个活跃的开发人员社区,他们正在开发新的节点,同时允许程序员复用Node-RED代码来完成各种各样的任务。

    • Node-Red是一个开源的可视化编程工具
    • Node-RED由IBM开发,主要用于连接连接计算机、传感器和在线服务等协议或组件,以简化它们之间的布线工作
    • Node-RED允许通过组合各部件来编写应用程序。这些部件也可以是硬件设备、Web API 、在线服务

    2.Node-RED应用意义

    2.1 Node-RED所属层次

    Node-RED所属层次如下图:

    IBM Node-RED安装与使用教程

    主打的是业务逻辑层,但是也包含一些可视化展示层功能,第4部分有详细介绍

    由此可见:

    • Node-RED并不是取代了代码,而是简化了代码
    • 人们可以利用软件块和设备块更容易连线连成有用的系统,简化了开发
    • 开发者也是想通过这个新颖的形式让人们更注重于创新,而不是正在重复地做什么

    3.Node-RED安装【Docker版】

    3.1 下载Node-RED Docker容器

    • Node-RED的1.0系列在Docker Hub上已经改名为nodered/node-red.
    • Node-RED的0.20.x在Docker Hub上仍然叫nodered/node-red-docker,
    docker pull nodered/node-red
    

    3.2 运行容器

    kubernetes@kubernetes-virtual-machine:~$ docker run -it -p 1880:1880 --name nodered nodered/node-red
    
    > node-red-docker@1.0.4 start /usr/src/node-red
    > node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"
    
    18 Mar 07:53:36 - [info]
    
    Welcome to Node-RED
    ===================
    
    18 Mar 07:53:36 - [info] Node-RED version: v1.0.4
    18 Mar 07:53:36 - [info] Node.js  version: v10.19.0
    18 Mar 07:53:36 - [info] Linux 4.15.0-74-generic x64 LE
    18 Mar 07:53:36 - [info] Loading palette nodes
    18 Mar 07:53:37 - [info] Settings file  : /data/settings.js
    18 Mar 07:53:37 - [info] Context store  : 'default' [module=memory]
    18 Mar 07:53:37 - [info] User directory : /data
    18 Mar 07:53:37 - [warn] Projects disabled : editorTheme.projects.enabled=false
    18 Mar 07:53:37 - [info] Flows file     : /data/flows.json
    18 Mar 07:53:37 - [info] Creating new flow file
    18 Mar 07:53:37 - [warn]
    
    ---------------------------------------------------------------------
    Your flow credentials file is encrypted using a system-generated key.
    
    If the system-generated key is lost for any reason, your credentials
    file will not be recoverable, you will have to delete it and re-enter
    your credentials.
    
    You should set your own key using the 'credentialSecret' option in
    your settings file. Node-RED will then re-encrypt your credentials
    file using your chosen key the next time you deploy a change.
    ---------------------------------------------------------------------
    
    18 Mar 07:53:37 - [info] Server now running at http://127.0.0.1:1880/
    18 Mar 07:53:37 - [info] Starting flows
    18 Mar 07:53:37 - [info] Started flows
    
    

    客户端访问http://IP:1880,可以看到node-red 的工作界面,左侧是元素选择区,中间是画布区,右侧是信息/终端打印区,如下图:

    IBM Node-RED安装与使用教程

    4.使用Node-RED的准备工作

    4.1 下载所需插件

    操作顺序依次是:节点管理-控制面板-安装-搜索

    IBM Node-RED安装与使用教程

    4.2 搭建MQTT服务器

    EMQ 是一个由国人开发的百万级分布式开源物联网 MQTT 消息服务器。

    docker run --name emq -p 18083:18083 -p 1883:1883 -p 8084:8084 -p 8883:8883 -p 8083:8083 -d emqx/emqx
    

    端口 所属协议

    • 1883 MQTT 协议端口
    • 8883 MQTT/SSL 端口
    • 8083 MQTT/WebSocket 端口
    • 8080 HTTP API 端口
    • 18083 Dashboard 管理控制台端口

    然后打开http://ip:18083即可打开界面

    IBM Node-RED安装与使用教程

    5.Node-RED的使用

    5.1 输入与输出

    1.首先拖进来输入和输出

    IBM Node-RED安装与使用教程

    2.配置输入节点

    IBM Node-RED安装与使用教程

    由于我当前选择的json模式,那需要编写一段json脚本

    IBM Node-RED安装与使用教程

    3.点击部署,并运行

    IBM Node-RED安装与使用教程

    可以看出上图输出是json模式

    5.2 文件操作

    这里以读文件举例
    1.首先我在本地创建一个aaa.txt,并在里面写入“Hello Node-RED”

    IBM Node-RED安装与使用教程

    2.拖出来file in组件,注意这里演示的事读文件操作

    IBM Node-RED安装与使用教程

    3.拖出来function组件,用来编写文件路径

    IBM Node-RED安装与使用教程

    IBM Node-RED安装与使用教程

    4.然后将输入和输出与其进行连接

    IBM Node-RED安装与使用教程

    5.部署运行即可输出文件中的内容

    IBM Node-RED安装与使用教程

    5.3 接口操作

    1.找到http in和http response节点

    IBM Node-RED安装与使用教程

    2.编辑http in节点,输入接口路径url

    IBM Node-RED安装与使用教程

    3.将http in和http response整体连接

    IBM Node-RED安装与使用教程

    4.在部署之后在浏览器中运行

    IBM Node-RED安装与使用教程

    5.4 数据库操作

    先提前创建数据表

    IBM Node-RED安装与使用教程

    1.拖出mysql组件并配置数据库信息

    IBM Node-RED安装与使用教程

    2.拖出function,编写select函数

    IBM Node-RED安装与使用教程

    代码段如下:

    var selectTmp="select data from NodeRED_source where name='%s'";
    
    var newMsg = {
    "topic": util.format(selectTmp, msg.payload.name)
    }
    
    return newMsg;
    
    

    3.连接并运行

    IBM Node-RED安装与使用教程

    IBM Node-RED安装与使用教程

    5.5 数学公式操作

    1.首先拖出计算节点

    IBM Node-RED安装与使用教程

    2.查看计算机点配置项

    IBM Node-RED安装与使用教程

    5.6 MQTT操作
    1.查看当前mqtt主题有哪些

    IBM Node-RED安装与使用教程

    2.选取mqtt节点组件

    IBM Node-RED安装与使用教程

    其中mqtt in是订阅节点,mqtt out是发布节点

    3.配置mqtt in节点,先选择服务器

    IBM Node-RED安装与使用教程

    然后配置服务器地址

    IBM Node-RED安装与使用教程

    4.配置主题
    IBM Node-RED安装与使用教程

    5.将mqtt out也同样配置

    6.查看主题是否订阅成功

    IBM Node-RED安装与使用教程

    7,实现完整连线

    IBM Node-RED安装与使用教程

    8.部署运行

    IBM Node-RED安装与使用教程

    5.7 发邮件操作

    1.找到邮件节点

    IBM Node-RED安装与使用教程

    2.配置邮件信息

    IBM Node-RED安装与使用教程

    3.连接

    IBM Node-RED安装与使用教程

    4.部署运行,查看邮件

    IBM Node-RED安装与使用教程

    5.8 可视化界面操作

    1.查看dashboard区域

    IBM Node-RED安装与使用教程

    以上便是界面中的菜单,界面如下:

    IBM Node-RED安装与使用教程

    2.下面以创建自定义表单和绘制折线图为例,首先是创建表单,找到dashboard中的表单组件

    IBM Node-RED安装与使用教程

    填写表单信息+所属页面+调用主题

    IBM Node-RED安装与使用教程

    连接邮件

    IBM Node-RED安装与使用教程

    部署查看界面

    IBM Node-RED安装与使用教程

    由于表单太长,需要设置一下布局

    一种是窗口设置

    IBM Node-RED安装与使用教程

    另一种是在布局layout中设置,推荐这一种
    IBM Node-RED安装与使用教程

    IBM Node-RED安装与使用教程

    调整之后为:

    IBM Node-RED安装与使用教程

    输入信息并点击按钮,查看邮箱

    IBM Node-RED安装与使用教程

    3.折线图

    找到随机数和折线图组件

    IBM Node-RED安装与使用教程

    配置折线图

    IBM Node-RED安装与使用教程

    配置输入节点的周期性,然后查看界面

    IBM Node-RED安装与使用教程

    IBM Node-RED安装与使用教程

    6.Node-RED的不足分析

    • 1、复杂的多功能物联网应用:纯拿Node-RED构建物联网应用,UI是瓶颈
    • 2、基于流程的编程是一种并不总是最适合应用程序开发的编程模型:基于流程的编程是一个通用模型,不针对特定需求进行定位或优化,例如数据分析或交互界面开发
    • 3、功能实现基础受限:Node-RED的基础技术是JavaScript,不能构建功能原型,常使用Node-RED进行整体控制
    • 4、性能受限:极限数据操作性能不行

    原文链接:https://blog.csdn.net/fnFenNuDManMan/article/details/104834919

    NodeRED官网:https://nodered.org/

    NodeREDGITHUB:https://github.com/node-red

    NodeRED英文社区:https://discourse.nodered.org/

    NodeRED中文社区:https://www.iotschool.com/topics/node81

    NodeRED中文社区QQ群:8604461

    iotschool

  • 相关阅读:
    nodeJS + webStrome
    js获取浏览器窗口属性
    理解JavaScript中的arguments,callee,caller,apply
    Java对象及对象引用变量
    Transform-style和Perspective属性
    线程同步的几种方式
    SQL高级查询——50句查询(含答案)
    接口、抽象类的区别与共同点
    JAVA异常架构图及常见面试题
    【转】JVM介绍
  • 原文地址:https://www.cnblogs.com/iotschool/p/13180837.html
Copyright © 2020-2023  润新知