Você está na página 1de 6

!"# "%&'#() *+,-./+0 1 !23',2'3 +4 5/(26.

789


1
!"#$!!"# ! !"#$%& ($$%)*"+),-
It's easy to build an application with Node-RED and use the data that you've
published to the IBM Internet of Things cloud. This Lab shows you how. The Lab has
a ready-made flow that processes temperature readings from a simulated device. The
flows checks these readings against a threshold, then tells you whether the
temperature is safe. Imagine that we're monitoring a CPU temperature from a real
device.

!"#$ & ' (#$)*+ ",# -."#/.#" *0 1,2.34 5*2)#/$)6"#
Login to Bluemix (https://ace.ng.bluemix.net)
Select the CATALOG tab
Select the Internet of Things boilerplate


Select the CREATE APPLICATION button, provide a name and unique
hostname for the application

Select the CREATE button to deploy the boilerplate.




!"# "%&'#() *+,-./+0 1 !23',2'3 +4 5/(26. 789


2
!"#$ 7 ' 869.:, ",# ;*<#=>?( 0)*@ #<2"*/
When the application is deployed and is running click the route to open the
deployed application

The Node-RED application will open in your browser. Select the Got to your
Node-RED flow editor button


!"#$ A ' -B$*/" ",# 46B$)# 0)*@
This step imports the sample flow to the Node-RED editor. Node-RED flows can be
imported and exported as JSON text, so to import the flow you are going to copy the
flow below and import it to Node-RED

------------------------------Select below this line-----------------------------------------------
[{"id": "f9a7b43b.065848","type": "iot","name": "","deviceId":
"00:00:00:00:00:00","messageType": "*","x": 155,"y": 239,"z":
"65624723.9a9db8","wires": [["9db76969.624898","9e041be9.61fbe8"]]},
{"id": "9db76969.624898","type": "function","name": "temp","func":
"return {payload:msg.payload.d.temp};","outputs": 1,"x": 318.5,"y":
237,"z": "65624723.9a9db8","wires": [["2b6f31bc.d490ce"]]}, {"id":
"2b6f31bc.d490ce","type": "switch","name": "temp thresh","property":
"payload","rules": [{"t": "lte","v": "40"},{"t": "gt","v":
"40"}],"checkall": "true","outputs": 2,"x": 467.5,"y": 238,"z":
"65624723.9a9db8","wires": [["34b29de.fcb4d62"],
["bb90881b.446f78"]]},{"id": "10cf85ac.ef307a","type":
"debug","name": "cpu status","active": true,"complete": "false","x":
778.5,"y": 235,"z": "65624723.9a9db8","wires": []},{"id":
"9e041be9.61fbe8","type": "debug","name": "device data","active":
false,"complete": "false","x": 318.5,"y": 148,"z": "65624723.9a9db8",
"wires": []},{"id": "34b29de.fcb4d62","type": "template","name":
"safe","template": "Temperature ({{payload}}) within safe limits",
"x": 631.5,"y": 189,"z": "65624723.9a9db8","wires": [[
"10cf85ac.ef307a"]]},{"id": "bb90881b.446f78","type": "template",
"name": "danger","template": "Temperature ({{payload}}) critical",
"x": 630.5,"y": 283,"z": "65624723.9a9db8","wires":
[["10cf85ac.ef307a"]]}]
------------------------------Select above this line-----------------------------------------------
Select the text above and copy to you system clipboard
In the Node-RED flow editor select the menu (upper right of screen). Select
Import from then Clipboard



!"# "%&'#() *+,-./+0 1 !23',2'3 +4 5/(26. 789


3

This will open an Import nodes window. Select into the window and paste the
content of your system clipboard, then press OK

You should see the flow in the flow editor connected to your cursor. Move
the cursor to the left of the window to place the flow and left-click

!"#$ C ' D*.0239/# ",# 0)*@ 0*/ 6 42B9)6"#< <#E2:# 6.< <#$)*+ ",# 0)*@
There is a simulated device running on BlueMix ready for you to test.
In a new browser window open http://iotsensor.ng.bluemix.net/




!"# "%&'#() *+,-./+0 1 !23',2'3 +4 5/(26. 789


4
The hardware MAC address of the simulated device is in the top right corner.
You can click the address to open up a web console which shows what the
device is publishing to the IBM Internet of Things cloud.

In the Node-RED flow editor double-click the iot input node (first node in
flow with 00:00:00:00:00:00 as title). This will bring up the node editor
window
Enter the MAC address of your device simulator

Then press OK to make the change
The Deploy button now becomes active, so click it to deploy the flow

You will get a confirmation message that the flow is deployed.




!"# "%&'#() *+,-./+0 1 !23',2'3 +4 5/(26. 789


5
!"#$ F ' 1#4" ",# 0)*@
In the side bar switch to the debug tab. You should now see the debug
messages from the flow, showing the temperature published by the sensor.

You can enable or disable either of the 2 debug nodes in the flow by clicking
in the area to the right of the debug node

Try enabling the device data debug node to see the data being received by the
iot input node.
In the sensor simulator window try increasing the temperature being reported
and watch the debug messages report the new temperature.
Keep increasing the temperature until you get to 41C. The debug message
should now be advising that the temperature is critical

!"#$ G = H.<#/4"6.<2.3 ",# 0)*@
You can examine the content of any node by double clicking it. If you modify a node
or add additional nodes the deploy button will become active allowing you to deploy
the modified flow.

The sample flow does the following:


1. The iot input node subscribes to receive messages from the Internet of Things
cloud for a specific device




!"# "%&'#() *+,-./+0 1 !23',2'3 +4 5/(26. 789


6
2. A function node takes the data from the iot node and extracts the temperature
from the message

3. A switch node compares the temperature value and sends the flow one of 2
ways depending on the temperature value

4. Function nodes create the message to be displayed in the debug node

5. The debug node displays the message to the debug panel

Once you have created a flow it can be exported to the clipboard window via the
menu. This allows you to share a flow or put it into source control.

More information on Node-RED and the IBM Internet of Things can be found :

http://nodered.org
https://www.ibmdw.net/iot/



Note: The mongodb storage nodes will work with the TimeSeriesDatabase that is
deployed with the boilerplate.

Você também pode gostar