4. The Internet of Things does not have a one-size-fits-all solution.
Internet of Things solutions often require pulling together different device APIs and online
services in new and interesting ways.
Time spent figuring out how to access a Serial port, or to complete an OAuth flow against
Twitter is not time spent on creating the real value of a solution, and is not easy for anyone
but dedicated programmers.
We need tools that make it easier for developers at all levels to bring together the different
streams of events, both physical and digital, that make up the Internet of Things.
Standards are great – but rarely only need just one…
What's the Problem ?
5. Wouldn’t it be handy if, when X happens
over there, it can alert the team, kick-off
that business process or just go ping!
6. Introducing Node-RED
Node-RED makes it easy to wire together the Internet of Things.
It provides a browser-based drag-drop UI for creating flows of events and deploying them to the
runtime.
The light-weight runtime, built in node.js, is
ideal for edge-of-network environments or
running in the cloud.
It can be easily expanded to take add new
nodes to the palette – taking full advantage
of the node package manager (npm)
ecosystem
7. Invented by J. Paul Morrison at IBM in the early 1970’s
•
• A network of asynchronous processes communicating by means of
streams of structured data chunks
•
• Each process is a black box – it doesn’t know what has come before
it, or what comes after it; it just acts on the data it receives and passes
the result on
Flow-based Programming
https://en.wikipedia.org/wiki/Flow-based_programming
8. Invented by J. Paul Morrison at IBM in the early 1970’s
•
• A network of asynchronous processes communicating by means of
streams of structured data chunks
•
• Each process is a black box – it doesn’t know what has come before
it, or what comes after it; it just acts on the data it receives and passes
the result on
Flow-based Programming
https://en.wikipedia.org/wiki/Flow-based_programming
9. What is a Node-RED Node ?
.js
.html
Defines the runtime behavior of the node.
Defines the node’s appearance, edit template
and help text
10. Open Source Development
• Released on GitHub September 2013
• Apache 2 License
• 3rd party pull-requests accepted under
Contributor License Agreement
• Most contributions direct via NPM
• Active Google Group and Slack channel
• http://nodered.org
• http://flows.nodered.org
• Online flow library for examples
• Encourages sharing and reuse of flows
within the community
11. From the edge to the cloud
Pre-installed on the default Raspberry Pi
image, Node-RED can be used out of the
box to begin creating IoT applications.
Available in the Bluemix catalog as a
Quick Start application, it takes moments
to create cloud applications that combine
services from across the platform.
16. $ sudo npm install -g --unsafe-perm node-red
$ node-red
$ You can then access the Node-RED editor at
http://localhost:1880.
Install it locally and get wiring
Recommend: node.js 4.x & npm 2.x
19. Index of all available nodes
•
• Collection of user-contributed
• flows
• 500+ modules available
flows.nodered.org
20. Coursera – A developer’s guide to the Internet of Things
Learn about IoT and
Node-RED over a 4
week online course
https://www.coursera.org/learn/developer-iot
21. IBM developerWorks Recipes
Lots of contributed
recipes for
connecting things to
Watson IOT platform
- many using Node-
RED
https://developer.ibm.com/recipes/
22. [1] Node-RED Introduction - https://www.youtube.com/watch?
v=vYreeoCoQPI
[2] Save tweets to a database and display on a webpage -
https://flows.nodered.org
[3] http://nodered.org
[4] http://www.Bluemix.net
Online tutorials and guides
25. Log in Bluemix and Create an App
• URL :
• https://console.ng.bluemix.ne
t/
• Create a free account using your
IBM email
• The free account should be
automatically extended to 1year
after a few days
• If not, send a message to
support@bluemix.net to request
the extension
• You can start creating!
36. Increase size of Debug Messages
• If on your local machine :
• Edit the “settings.js” file
in your “$HOME/.node-
red” directory
• If on Bluemix
• Edit the “bluemix-
settings.js” file in the
root directory