写点什么

IoT 可视化编程环境 Node-RED 发布 1.0 版本

  • 2019-11-02
  • 本文字数:1149 字

    阅读完需:约 4 分钟

IoT可视化编程环境Node-RED发布1.0版本

经过两年的开发,Node-RED终于发布了 1.0 版,带来了许多变化。Node-RED 1.0 的主要新特性包括新的异步消息传递模型、新的完成 API 和默认的消息克隆。此外,可视化编辑器也经过了改进。


Node-RED 是 IBM 为简化工业物联网解决方案而创建的一个开源可视化编程环境,它支持通过连接表示物理设备、云系统、数据库和 API 等的节点来创建复杂的系统。节点从任何输入节点接收消息,处理它,并将其传播到输出节点。整个结果组成了系统执行的计算。


Node-RED 提供大量的节点来处理各种常见的任务,包括发送和接收 HTTP/UDP/TCP/MQTT 消息、运行命令、处理文件,还包括用于简化复杂逻辑构建的节点,比如调试节点、信息多路复用器、分离器、消息缓冲区等等。更多的节点可以从Node-RED库中获得。



迁移到完全异步的消息传递模型——这意味着所有节点现在都具有异步行为,而不是说有些节点是异步的,有些是同步的——为 Node-RED 带来了一些一致性。然而,这需要开发人员确保他们现有的流不依赖于任何同步节点。在以前的版本中,如果你有一个完全由同步节点组成的流,则消息将在一次 JavaScript 事件循环中流经所有节点。在 Node-RED 1.0 中,每个节点处理其输入消息,然后将控制权交给主事件循环。事件循环的下个步骤将根据运行时内部队列上的优先级处理该消息或其他消息。


切换到完全异步的消息传递是 Node-RED 路线图未来功能的先决条件,即将代码插入流以自定义消息路由路径的特性。此外,由于完全同步节点的序列可以在不可预测的时间跨度内劫持事件循环,所以消除这个行为为使用超时控制未进入过时状态的系统铺平了道路,并且保证每个进入系统的消息有大量的计算时间。


与新的异步消息传递模型相关,节点现在可以使用新的API来指定何时完成消息传递。简而言之,当节点接收到新消息时,它还将接收特定于该消息的 send 和 done 回调,从而使运行时可以精确地跟踪哪些消息已被完全处理。这里还引入了一个 Complete 节点,可以在节点没有输出完成处理时触发它。所有现有的节点应该逐渐迁移到新的 API,但是没有必要着急,因为 Node-RED 运行时在一段时间内仍然支持旧的 API。


最后,引入异步消息传递意味着默认情况下将克隆所有消息。这与以前的模型有很大的不同,以前的模型努力避免消息重复。虽然新行为肯定会对性能产生影响,但它将确保多个异步更改时消息的正确性和无损性。


最后,Node-RED 可视化编辑器面板经过了重新组织,使用起来更加直观。许多节点被删除了,包括 Twitter、电子邮件、Feedparser 等。子流可配置性和 JSON 编辑器都经过了改进,现在对新手来说更友好了。


Node-RED 可以运行在主要的操作系统上,包括 macOS、Windows 和 Linux,以及物联网设备和工业机器上。你可以使用Docker镜像轻松地运行它。


原文链接:


IoT Visual Programming Environment Node-RED Hits 1.0


2019-11-02 08:001913

评论 1 条评论

发布
暂无评论
发现更多内容

我的react面试题整理2(附答案)

beifeng1996

React

细说react源码中的合成事件

flyzz177

React

CSS高级技巧

默默的成长

CSS 前端 11月月更

数据预处理和特征工程-特征选择-Wrapper包装法

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

React源码分析(二)渲染机制

goClient1992

React

一份vue面试知识点梳理清单

bb_xiaxia1998

Vue

React Context源码是怎么实现的呢

flyzz177

React

Java中的BigDecimal比较大于小于等于,四舍五入保留几位(setScale方法详解),加减乘除取余

共饮一杯无

Java BigDecimal 11月月更

这些js原型及原型链面试题你能做对几道

loveX001

JavaScript

面试官让你说说react状态管理?

beifeng1996

React

手撕常见JS面试题

helloworld1024fd

JavaScript

记一次京东前端面试被问到的题目

helloworld1024fd

JavaScript

产品待办列表PBL与产品需求文档PRD的本质区别

ShineScrum捷行

Scrum PRD 产品待办列表 PBL 产品需求文档

开发和学习时需要造一些kafka消息,于是写了段脚本实现,在这里记录备忘,后面会常用到

程序员欣宸

kafka 11月日更

CSS 定位

默默的成长

CSS 前端 11月月更

我的react面试题笔记整理(附答案)

beifeng1996

React

React源码分析(三):useState,useReducer

goClient1992

React

Vue.$nextTick的原理是什么-vue面试进阶

bb_xiaxia1998

Vue

腾讯前端高频手写面试题

helloworld1024fd

JavaScript

面试官:说说Event Loop事件循环、微任务、宏任务

loveX001

JavaScript

一年前端面试打怪升级之路

loveX001

JavaScript

React源码分析1-jsx转换及React.createElement

goClient1992

React

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

redhat运维-ftp服务故障

阿柠xn

Linux 运维 ftp 11月月更

面试官:vue2和vue3的区别有哪些?

bb_xiaxia1998

Vue

前端vue面试题

bb_xiaxia1998

Vue

Java注解与原理分析

知了一笑

Java 架构

前端面试如何回答,这些题目或许可以给你一些提示

loveX001

JavaScript

面试官:React怎么做性能优化

beifeng1996

React

能否手写vue3响应式原理-面试进阶

helloworld1024fd

JavaScript

算法基础:离散化及模板详解

timerring

算法 11月月更 离散化

IoT可视化编程环境Node-RED发布1.0版本_物联网_Sergio De Simone_InfoQ精选文章