本篇会介绍6项常用的子模块,并适时使用案例来介绍它们的功能以及再使用上的一些细节
共通模块最常用到的子模块之一,作为输入用途,可以自行选择payload类型
创立inject节点时点击模块可以进入设定,选单中主要分为5个要素:
输出模块,用来将输入结果显示在指定视窗上(通常是除错视窗),点击可以进入设定选单
设定选单主要包含:
使用javascript编写的函式模块,可以提供使用者自定义的功能,我们可以对传入的物件属性进行处理,透过返回msg物件,後续的模块可以得到加工後的结果
例如我编写一个用来判断result值是否为真的模块,如果成立便新增一个新的属性note,并给予它一个值
if(msg.payload.result == true){
msg.payload.note = "test"
}
return msg;
或者编写一个判断属性长度的模块
var new_msg = {payload:msg.payload.length}
msg.payload = new_msg
return msg;
一样点击function模块进入设定,在函数栏位编写自定义的程序码就可以了
改变物件属性类型,可以进行增、删、修改、转移等操作
点击模块後可以进入设定选单,change模块的重点在操作指令
这是一个很有趣的模块,它类似程序中的switch语句,可以用来当作流程控制
switch(msg.payload){
case 1:
/*do something*/
break;
case 2:
/*do something*/
break;
...
}
选单中4个重点,分别对应switch的功能
其实不只常见的判断子,Node-RED提供非常多的判断模式供使用者使用,这些就留给大家慢慢摸索
template模块可以提供使用者自定HTML模板
模板内可以输入指定的HTML格式,举个例子来看看这个模块的功用,把以下html程序码写进template模块内
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello~</title>
</head>
<body>
<h2>This is Node-RED<h2>
</body>
</html>
在侧边拦栏位找到httpin模块,拖曳进来并起双击设定
在侧边栏位找到将http response模块,拖曳进来并将template尾部连上它。完成後应该会如下图所示
最後然後按下deploy键,在网址栏为输入url 127.0.0.1:1880/hello就可以看到我们设定的html内容
实现目标:
{"id":"device0","result":true}
{"id":"device1","result":false}
if(msg.payload.result == true){
msg.payload.note = "test"
}
return msg;
手动注入inject模块,经过测试可以发现右侧除错式窗成功打印我们要的结果,两种方法接测试正确
在写Java以前想一下 在决定用Java解决问题前,其实很多功能在内建的Microflows中都能够...
睽违两年的完赛!!! 经过这两年真的感受到时间跟工作的压力,比起两年前待业中可以好好撰写文章的自己,...
不知道为甚麽,旁边无缘无故多了一条空白区域,但那个区域根本没有其他元件 程序码好像也不知道该贴哪段,...
本篇跟着 程序开发(2) ,接续往下讨论 INPUT数组(RECORD或单一变数)资料输入 INP...
工欲善其事,必先利其器—该先装 Visual Studio 了 今天的内容会开始介绍我们要使用的整合...