我爱编程

IoT | Node-RED

2016-11-23  本文已影响5231人  船长酱

http://nodered.org/

http://www.makercollider.com/kit/detail?id=23


一、Node-Red是什么?

(一) Node-Red是IBM公司开发的一个可视化的编程工具。它允许程序员通过组合各部件来编写应用程序。这些部件可以是硬件设备(如:Arduino板子)、Web API(如:WebSocket in和WebSocket out)、功能函数(如:range)或者在线服务(如:twitter)。

(二)Node-Red提供基于网页的编程环境。通过拖拽已定义node到工作区并用线连接node创建数据流来实现编程。程序员通过点击‘Deploy’按钮实现一键保存并执行。程序以JSON字符串的格式保存,方便用户分享、修改。

(三)Node-Red基于Node.js,它的执行模型和Node.js一样,也是事件驱动非阻塞的。理论上,Node.js的所有模块都可以被封装成Node-Red的一个或几个node。


二、Node-Red的结构框架

(一)Node-Red由两部分组成。一部分是用户可见的数据流的编辑界面,另一部分是数据流的执行。

(二)数据流的编辑界面由四部分组成。最左边是已定义的各种node的列表;中间是一个工作区,用户可以拖放node到工作区来创建node的实例,Node-Red为每个node实例赋予了唯一的ID,通过双击node实例来编辑单个实例,通过连接node的in和out口创建数据流,node实例会记录out口连线的信息,每条线会记录目标node实例的信息;最右边是debug node的输出区及node的帮助信息显示区。右上角有‘Deploy’按钮,用来把编写的程序保存到本地并执行。

(三)数据流的执行。通过读取用户编辑的数据流信息,可以知道node的类型及可编辑部分的值,据此来创建node的可执行实例;通过读取编辑时连线的信息,可以得到可执行实例间的数据关系,实例间的数据发送和接受是利用Node.js的event模块实现的。


三、如何执行Node-Red?

(一)在Node-Red的根目录下,执行‘node red.js’。

(二)打开浏览器访问http://localhost:1880,就可以看到Node-Red的编辑界面。

(三)Node-Red编辑完成的数据流默认保存在flows_.json,可以通过执行‘node red.js flows_.json’,在不启动浏览器的情况下执行已经编辑完成的程序,这个在实际部署的时候非常有用。


上一篇下一篇

猜你喜欢

热点阅读