Difference between revisions of "IoTGateway/Node-Red for GW EIS"

From ESS-WIKI
Jump to: navigation, search
m
m (change demo video url)
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
= Introduction =
 
= Introduction =
  
[http://nodered.org/ Node-RED] is a visual wiring tool for the Internet of Things and is provided by [https://www.ibm.com/blogs/emerging-technology/ IBM Emerging Technologies]. [http://nodered.org/ Node-Red] has several features, including browser-based flow editing, built on [https://nodejs.org/en/ Node.js] and social development. Because of browser-based, the user can use it more easily. [http://nodered.org/ Node-Red] is based on [https://nodejs.org/en/ Node.js], so user can use its nodes by using JavaScript. [http://nodered.org/ Node-Red] also have many active communities. If the user finds bugs, he can find a solution and fix it easily. The user can use JSON format string to import or export the created flow easily.<br/>RMM server provides many [https://en.wikipedia.org/wiki/Representational_state_transfer restful API]. But some API is maybe required complex parameter, it usually makes the user to call [https://en.wikipedia.org/wiki/Representational_state_transfer restful API] more difficultly. Hance RMM team creates several common nodes in [http://nodered.org/ Node-Red]. These nodes can help the user to use [https://en.wikipedia.org/wiki/Representational_state_transfer restful API] that RMM server provided more easily and fast.
+
[http://nodered.org/ Node-RED] is a visual wiring tool for the Internet of Things and is provided by [https://www.ibm.com/blogs/emerging-technology/ IBM Emerging Technologies]. [http://nodered.org/ Node-Red] has several features, including browser-based flow editing, built on [https://nodejs.org/en/ Node.js] and social development. Because of browser-based, the user can use it more easily. [http://nodered.org/ Node-Red] is based on [https://nodejs.org/en/ Node.js], so user can use its nodes by using JavaScript. [http://nodered.org/ Node-Red] also have many active communities. If the user finds bugs, he can find a solution and fix it easily. The user can use JSON format string to import or export the created flow easily.<br/>A lot of useful nodes are provided by Advantech NodeRed Server IoTGateway installer, including [[SW_Service/Node-Red_for_SW_Service#node-red-contrib-flow-dispatcher|node-red-contrib-flow-dispatcher]], [[SW_Service/Node-Red_for_SW_Service#node-red-contrib-susi|node-red-contrib-susi]] and [[SW_Service/Node-Red_for_SW_Service#node-red-contrib-virtual-app-node|node-red-contrib-virtual-app-node]]. In this section, we are gonna introduce another two node groups, ui-flow-creator and&nbsp;WISE-PaaS-RMM. ui-flow-creator&nbsp;provides nodes to&nbsp;quickly, easily and automatically&nbsp;generate flows to&nbsp;represent&nbsp;dashboard for Advantech platforms supported by SUSIIoT.&nbsp;WISE-PaaS-RMM nodes make communications between NodeRED nodes and RMM agent can be easily achieved.
 
+
<p style="text-align: center;">[[File:Node-RED Server Iot Gateway Sample.png|800px|Node-RED Server Iot Gateway Sample.png]]</p>
<br/>[[File:NodeRedSample.png|800px|NodeRedSample.png]]
 
 
 
 
 
  
 
= Node-Red Plug-ins Catogries =
 
= Node-Red Plug-ins Catogries =
  
[[File:Node-RED Nodes for IoTGW EIS.png|Node-RED_Nodes_for_IoTGW.jpg]]
+
[[File:Node-RED Nodes for IoTGW EIS.png|320px|Node-RED_Nodes_for_IoTGW.jpg]]
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 17: Line 14:
 
! Nodes
 
! Nodes
 
|-
 
|-
| style="white-space: nowrap;" | UI-Flow-Creator
+
| UI-Flow-Creator
| Provid &nbsp;functions to auto-generate a dashboard flow with [https://github.com/node-red/node-red-dashboard node-red-dashboard] nodes.&nbsp;UI-Flow-Creator nodes depend on [https://github.com/ADVANTECH-Corp/node-SUSI node-susi] and [https://github.com/ADVANTECH-Corp/node-SUSIIoT node-susiiot] packages to read data and control devices.
+
| Provid &nbsp;functions to auto-generate a flow with [https://github.com/node-red/node-red-dashboard node-red-dashboard] nodes to represent a device dashboard.<br/>UI-Flow-Creator nodes depend on [https://github.com/ADVANTECH-Corp/node-SUSI node-susi] and [https://github.com/ADVANTECH-Corp/node-SUSIIoT node-susiiot] packages to read data and control devices.
 
| 1.nr_ui_flow_creator<br/>2.ui_ui_creator_ctrl
 
| 1.nr_ui_flow_creator<br/>2.ui_ui_creator_ctrl
 
|-
 
|-
| WISE-Cloud
+
| style="white-space: nowrap;" | WISE-PaaS-RMM
 
|  
 
|  
<span style="line-height: 1.6;">WISE-Cloud provide nodes&nbsp;to communicate&nbsp;with [[WISE-PaaS/RMM_Agent|RMM Agent]].&nbsp;Sending data to agent, receiving messages from agent and response RMM RESTful requests.</span>
+
WISE-PaaS-RMM<span style="line-height: 1.6;">provides nodes&nbsp;to communicate&nbsp;with [[WISE-PaaS/RMM_Agent|RMM Agent]].&nbsp;Sending data to agent, receiving messages from agent and response RMM RESTful requests.</span>
  
 
| style="white-space: nowrap;" |  
 
| style="white-space: nowrap;" |  
1.WISE-Cloud-Sender<br/>2.WISE-Cloud-Receiver<br/>3.WISE-Cloud-Responder
+
1.WISE-PaaS-RMM-Sender<br/>2.WISE-PaaS-RMM-Receiver<br/>3.WISE-PaaS-RMM-Responder
  
 
|}
 
|}
Line 36: Line 33:
 
! Node Name
 
! Node Name
 
! Description
 
! Description
! Input
+
! style="width: 17%;" | Input
! Output
+
! style="width: 17%;" | Output
|-
 
| Alljoyn Actions
 
| Get action descriptions from any Alljoyn services and perform action via remote call
 
| A timer or button triggered events<br/>
 
| Outputs a&nbsp;'''msg'''&nbsp;containing&nbsp;'''msg.topic'''&nbsp;which defaults to the sensor name, and&nbsp;'''msg.payload'''containing the reading
 
 
|-
 
|-
 
| nr_ui_flow_creator
 
| nr_ui_flow_creator
|  
+
| Auto-generate flow with node-red-dashboard nodes to represent the device dashboard according to user selected groups.<br/>Require [https://github.com/ADVANTECH-Corp/node-SUSI node-susi] and [https://github.com/ADVANTECH-Corp/node-SUSIIoT node-susiiot] packages.
Auto-generate dashboard flow with node-red-dashboard nodes.<br/>Require node-susi and node-susiiot packages.
+
| Auto-generated an inject node after flow deployment.
 
+
| Auto-generated outputs according to user selected groups after flow deployment.
| 1.nder
 
| bbbb
 
 
|-
 
|-
 
| nr_ui_creator_ctrl
 
| nr_ui_creator_ctrl
|  
+
| Control devices according injected values&nbsp;.<br/>Require [https://github.com/ADVANTECH-Corp/node-SUSI node-susi] and [https://github.com/ADVANTECH-Corp/node-SUSIIoT node-susiiot] packages.
Control devices according injected values&nbsp;.<br/>Require node-susi and node-susiiot packages.
+
| SUSIIoT control information in <span style="color:red">'topic'</span> propery and control value in <span style="color:red">'payload'</span> property.
 
+
| Control result returned by SUSIIoT.
| 1.nder
 
| bbbb
 
 
|-
 
|-
| WISE-Cloud-Sender
+
| WISE-PaaS-RMM-Sender
 
|  
 
|  
Pass received IPSO JSON string to RMM agent.
+
Send injected IPSO JSON string to [[WISE-PaaS/RMM_Agent|RMM agent]].
  
| 1.nder
+
| A <span style="color:red">string</span> in <span style="color:red">'payload'</span> property which will be passed to RMM agent.<br/>
| bbbb
+
| None
 
|-
 
|-
| WISE-Cloud-Receiver
+
| WISE-PaaS-RMM-Receiver
 
|  
 
|  
WISequests.
+
Receive messages from [[WISE-PaaS/RMM_Agent|RMM agent]] with specified name and topics.
  
| 1.nder
+
| None
| bbbb
+
| The received message (or RESTful request) from RMM agent is included in <span style="color:red">'req'</span> property.
 
|-
 
|-
| style="white-space: nowrap;" | WISE-Cloud-Responder
+
| style="white-space: nowrap;" | WISE-PaaS-RMM-Responder
 
|  
 
|  
WISequests.
+
Response RESTful requests. The injected data must contain the source request information.
  
| 1.nder
+
| Source request is included in <span style="color:red">'req'</span> property and the corresponding response is in <span style="color:red">'rep'</span> property.
| bbbb
+
| None
 
|}
 
|}
  
Line 88: Line 76:
 
|-
 
|-
 
| style="padding-left: 1em;padding-right: 1em;" | NodeRED server IoT gateway installation and demonstration<br/>
 
| style="padding-left: 1em;padding-right: 1em;" | NodeRED server IoT gateway installation and demonstration<br/>
| style="padding-left: 1em;padding-right: 1em;" | [https://www.youtube.com/watch?v=2D7JKHbNlbA&feature=youtu.be link]<br/>
+
| style="padding-left: 1em;padding-right: 1em;" | [https://www.youtube.com/watch?v=pJxf92nhcXA&feature=youtu.be link]<br/>
 
|}
 
|}

Latest revision as of 05:45, 16 February 2017

Introduction

Node-RED is a visual wiring tool for the Internet of Things and is provided by IBM Emerging Technologies. Node-Red has several features, including browser-based flow editing, built on Node.js and social development. Because of browser-based, the user can use it more easily. Node-Red is based on Node.js, so user can use its nodes by using JavaScript. Node-Red also have many active communities. If the user finds bugs, he can find a solution and fix it easily. The user can use JSON format string to import or export the created flow easily.
A lot of useful nodes are provided by Advantech NodeRed Server IoTGateway installer, including node-red-contrib-flow-dispatcher, node-red-contrib-susi and node-red-contrib-virtual-app-node. In this section, we are gonna introduce another two node groups, ui-flow-creator and WISE-PaaS-RMM. ui-flow-creator provides nodes to quickly, easily and automatically generate flows to represent dashboard for Advantech platforms supported by SUSIIoT. WISE-PaaS-RMM nodes make communications between NodeRED nodes and RMM agent can be easily achieved.

Node-RED Server Iot Gateway Sample.png

Node-Red Plug-ins Catogries

Node-RED_Nodes_for_IoTGW.jpg

Category Description Nodes
UI-Flow-Creator Provid  functions to auto-generate a flow with node-red-dashboard nodes to represent a device dashboard.
UI-Flow-Creator nodes depend on node-susi and node-susiiot packages to read data and control devices.
1.nr_ui_flow_creator
2.ui_ui_creator_ctrl
WISE-PaaS-RMM

WISE-PaaS-RMMprovides nodes to communicate with RMM Agent. Sending data to agent, receiving messages from agent and response RMM RESTful requests.

1.WISE-PaaS-RMM-Sender
2.WISE-PaaS-RMM-Receiver
3.WISE-PaaS-RMM-Responder

NodeRed Plug-ins Description

Node Name Description Input Output
nr_ui_flow_creator Auto-generate flow with node-red-dashboard nodes to represent the device dashboard according to user selected groups.
Require node-susi and node-susiiot packages.
Auto-generated an inject node after flow deployment. Auto-generated outputs according to user selected groups after flow deployment.
nr_ui_creator_ctrl Control devices according injected values .
Require node-susi and node-susiiot packages.
SUSIIoT control information in 'topic' propery and control value in 'payload' property. Control result returned by SUSIIoT.
WISE-PaaS-RMM-Sender

Send injected IPSO JSON string to RMM agent.

A string in 'payload' property which will be passed to RMM agent.
None
WISE-PaaS-RMM-Receiver

Receive messages from RMM agent with specified name and topics.

None The received message (or RESTful request) from RMM agent is included in 'req' property.
WISE-PaaS-RMM-Responder

Response RESTful requests. The injected data must contain the source request information.

Source request is included in 'req' property and the corresponding response is in 'rep' property. None

Demo Video Clips

Video Demo Title Link
NodeRED server IoT gateway installation and demonstration
link