使用NODE

2020-06-18浏览量490 收藏量264 137热度

使用NODE

Node-Red 是一个使用浏览器介面的强大物联网开发工具,其视觉开发环境以流程为基础,使应用程式撰写更加简易。本文将探索如何使用 Node-RED 以及 flows 开发 IoT 应用程式。

其程式语言涵盖範围相当广,包含了多种的程式设计风格以及範例。其中以指令式以及物件导向程式设计主宰这个领域,但也有为生产软体以及快速将点子原型化的替代选择。

Node-RED 採取另一种方式来开发软体。首先,它是一个视觉开发语言。 Node-RED 致力于流程化程式设计,替代以逐行的文字语句叙述撰写程式。

这些流程由相连的节点构成,每一个节点代表特定的功能 。虽然 Node-RED 是用来设计物联网的程式语言,但其应用範围不限于此。

使用NODE
图一 Node-RED 开发之示範流程

Node-RED 相对来说是较年轻的环境,源于 IBM ,随后于 2013 年被释放为 open source 。这个工具当初被设计为物联网程式设计工具,但由于他的简便以及广泛的可用性而使其成长。接下来让我们探讨 Node-RED 的精神,以及如何在物联网设计上,迸溅出新的火花。

以 Node-RED 设计一个简单流程

让我们回到图一,以了解 Noed-Red 的程式设计概念。

左边是节点面板,列出了您的程式可用的节点选项。中央面板则是编写您的流程的位置。在这个範例中两个节点已被定义,第一个是一个输入节点,他会在一个自定的时间间隔创造讯号这个节点连接着一个 debug 节点,您可以由此撷取资料到 log 。这个节点名为 msg.payload ,标示着将被撷取的资料。最后,在最右侧是 debug 输出。图中三个区块都是自 debug 独立输出的结果,您可以发现时间戳记恰好是五秒为间隔。

使用NODE
图二 输入节点的设定

这是一个简易的流程,展示了 Node-RED 的开发精神。一个输入节点产生时间戳记讯息,以及一个 debug 节点接收讯息并显示于 debug log 。

节点与节点种类

Node-RED 包含了相当丰富的节点,会让您马上具备生产力。图三是输入以及输出节点,其允许 MQTT 订阅与接收主题、输出 MQTT 主题至中介器、透过 HTTP requests设计网路服务,以及可以创建伺服器的低阶 TCP 、 UDP 服务,接收输入以及产生输出。

使用NODE
图三:Node-RED 输入和输出节点

图四为过程节点。透过这些节点,您可以撰写自己的节点功能,产生用作定时触发的讯息,以及限制流量的延迟讯息。您也可以经由 switch 节点和其他丰富的条件表达节点,基于讯息的内容改变其途径,并且端看使用者自行定义的动作重新布建数字讯号的範围。最后,解译多种类的输入资料格式,并转换他们。

使用NODE
图四 Node-RED 功能节点

最后一组节点名为进阶节点。这些节点涵括多种的应用方案,包括收发电子邮件,和执行敏感推特文章扫描。您可以自存放区收发讯息并自档案系统监看变化。最后,您可以监看 RSS / Atom feed,甚至在作业系统 spawn或执行指令。

使用NODE
图五 Node-RED 进阶节点

要是您没找到需要的节点您也可以下载新的节点。现在,让我们看看较为複杂的流程设计。

于 Node-RED 建造一个较为複杂的流程

Node-RED 真正的力量在于其物联网上的应用程式。在这个範例中,您将读取嵌入式装置感应器,并将其资料分散使用。在接下来的流程中,如图六,您第一会注意到的是,针对两个您要监控的感应器,会有两条流程而非一个。第一个感应器会有週期性的搜集资料,并只在超越一定的範围时启动功能。当超过範围时,同时将讯息结果绕至 MQTT 作为警报标题,以及 log 档案。

第二个感应器也是週期性的搜集的资料。请总是 route 到 MQTT 为另外一个主题,以及一个 log 档案。 Node-RED 为您提供这种平行方式作为其程式设计样板。

使用NODE
图六 较为複杂的轮询流程

Node-RED 允许以许多节点建构许多流程,因此您可以用做执行搜集本地资料,并于嵌入式装置中操作,或于伺服器中接收资料,甚至更複杂的操作。

使用样板

Node-RED 是基于 Node.js ,一个伺服器端执行时开源开发环境。

它支援事件驱动导向样板,适合于 Node-RED 非同步的流程导向环境。

您可在 Node-RED 上建造流程并执行于嵌入式装置,例如 Intel® Edison 运算模组以及 Arduino- Intel® Galileo 认证的开发板。这些装置走在物联网生态的尖端,并与最新的硬体介面直接互动,如温度感应器,以及 drive motors 。

您也可以在闸道装置上执行 Node-RED ,例如 Intel® IoT Gateway 。在这个样板中,您可使用 Node-RED 与许多本地 edge 运算装置沟通,以搜集运算其资料,分发这些资料到 MQTT 中介器作为进一步用途。

在这两种使用样板中, Node-RED 执行于这些装置上:只需将浏览器自网路连接到装置上以建构测试流程。如此,开发与测试环境以及运行皆在装置上。

结论

在视觉方面, Node-RED 是一个串接功能强大,流程搜集、处理并分发资料的程式撰写工具。 Node-RED 提供丰富的节点组,引领您进入这边写样板,同时您可以下载大量的节点和流程以套用于您的应用程式。最好的是,您可以带着最喜欢的 Intel 开发板或物联网闸道器,安装 Node-RED 并以最少的时间和精力执行。这个使得 Node-RED 成为物联网生态中必要的部分。

上一篇: 下一篇:
相关推荐