Hands On Intro
to Rapid
Prototyping
with Node-RED
Have you ever
had a day
when ….
You have an idea You want to build
out this idea
You’re not sure
where to get started
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!
How do I get the data from that API to give me
the info I need to build out that service and have
that service connect to my phone
Wish there was an easy way to build out a front
end and test out these API integrations without
building out a whole end to end stack Is there an easier way to test this works!
The
Problem
When building out applications ( Webservices or IoT ) there
is not one size fits all solution
Applications can 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.
Building things can require you to be an expert programmer
and you can often find yourself reinventing the wheel
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 any application:
both webservice and Internet of
Things.
Introducing Node-RED
Node-RED provides a fast and easy way to
create flow based programs to get your
ideas running on either web applications,
dashboards and IoT devices in minutes.
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
Node-RED is…
An application composition tool experience
A lightweight proof of concept runtime
Easy to use for simple tasks
• Simple to extend to add new capabilities and types of
integration
• Capable of creating the back-end glue between social
applications
• A great way to try...
• “can I just get this data from here to there?”
• “and maybe change it just slightly along the way...”
• Incredibly Adaptable
History of Node-RED
Node-RED has been more open and popular
as open source software for both edge and cloud
environments.
• March 2014: Invented by IBMers Nock O’Leary and
Dave Conway-Jones and Released in QCon London
• June 2014: Included in the catalog on IBM Cloud
• November 2015: Pre-installed in Raspberry Pi
• October 2016: Moved to Linux Foundation
• As of March 2018: Downloaded 50,000 times a
month
What is a Node-RED Node
Basic Node-RED Nodes
Inject node
• Allows manual triggering of flows
• Can inject events at scheduled intervals
Debug node
• Show message content; either payload or entire
object
Template Node
• Modifies the output based on a Mustache Template
Function node
• Run user-defined node.js code on the data inputs
Other Input Nodes
HTTP – Act as an HTTP endpoint; great for
building RESTful services
IBMIOT – Receive messages from an
attached IOT Foundation account
Also can receive from Websockets, MQTT
(pick your own broker), TCP and MQ Light
Other Output Nodes HTTP Response; required as the final node
when the input comes from an HTTP
Request
IBMIOT – send events out to the attached
IOT Foundation account
Twilio – send SMS messages via the Twilio
service
IBM Push – Send Push notifications to
mobile devices
Also can send requests through TCP, UDP,
MQLight, WebSockets.
Social Nodes
Storage Nodes
Watson Services Nodes
Lets Build something
Together
git repo: https://github.com/pmmistry/Intro-to-Node-RED
Sign up for IBM-Cloud
Get a head start with IBM Cloud, sign up via: https://ibm.biz/BdzMZG
Find Node-RED on Catalog
Lets create an application that tells you the
Weather in a different language
Insert Inject Node à Connect it to Weather Insights API Node à Connect to Debug Output
Add function to get forecast
for Berlin on Friday
Connect Language Translator node to Function Nodeà Connect Text to speech to
language translator Nodeà Connect change node to change payload to speech à
Connect Play Audio to hear output
So many more things to do with Node-RED
Install it locally and get wiring
flows.nodered.org
Index of all available
nodes
- Collection of user
contributed flows and
over 3000 + nodes and
flows available
IBM developerWorks Recipes
https://developer.ibm.com/recipes/
Lots of contributed recipes for
connecting things to Watson
IOT platform – many using
Node-RED
More Node-RED
Resources
Node Red nodes and Flows:
https://flows.nodered.org
Find new nodes, share your flows and see what other
people have done with Node-RED
Node Red official documentation:
https://nodered.org/docs/
Getting Started - User Guide - Cookbook
Watson Node Red nodes:
https://github.com/watson-developer-cloud/node-red-labs
A collection of examples on how to use the Watson nodes in Node-Red
Community Hosted Node Red Guide :
http://noderedguide.com/
“ The node red guide is a series of lectures designed to get you stared
with Node-Red”
Pooja’s Node-RED Demo: https://github.com/pmmistry/Intro-to-
Node-RED
John Waliki Node-RED Examples: https://github.com/johnwalicki
Thank You
Find me on Twitter :
@poojamakes
Connect with me on LinkedIn –
https://www.linkedin.com/in/
pmmistry/
Follow my Node-RED Blogs on
dev.to :
https://dev.to/poojamakes

Hands on-intro to Node-RED

  • 1.
    Hands On Intro toRapid Prototyping with Node-RED
  • 2.
    Have you ever hada day when …. You have an idea You want to build out this idea You’re not sure where to get started
  • 3.
    Wouldn’t it behandy if, when X happens over there, it can alert the team, kick-off that business process or just go ping! How do I get the data from that API to give me the info I need to build out that service and have that service connect to my phone Wish there was an easy way to build out a front end and test out these API integrations without building out a whole end to end stack Is there an easier way to test this works!
  • 4.
    The Problem When building outapplications ( Webservices or IoT ) there is not one size fits all solution Applications can 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. Building things can require you to be an expert programmer and you can often find yourself reinventing the wheel
  • 5.
    We need toolsthat make it easier for developers at all levels to bring together the different streams of events, both physical and digital, that make up the any application: both webservice and Internet of Things.
  • 6.
    Introducing Node-RED Node-RED providesa fast and easy way to create flow based programs to get your ideas running on either web applications, dashboards and IoT devices in minutes. 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.
    Node-RED is… An applicationcomposition tool experience A lightweight proof of concept runtime Easy to use for simple tasks • Simple to extend to add new capabilities and types of integration • Capable of creating the back-end glue between social applications • A great way to try... • “can I just get this data from here to there?” • “and maybe change it just slightly along the way...” • Incredibly Adaptable
  • 8.
    History of Node-RED Node-REDhas been more open and popular as open source software for both edge and cloud environments. • March 2014: Invented by IBMers Nock O’Leary and Dave Conway-Jones and Released in QCon London • June 2014: Included in the catalog on IBM Cloud • November 2015: Pre-installed in Raspberry Pi • October 2016: Moved to Linux Foundation • As of March 2018: Downloaded 50,000 times a month
  • 9.
    What is aNode-RED Node
  • 10.
    Basic Node-RED Nodes Injectnode • Allows manual triggering of flows • Can inject events at scheduled intervals Debug node • Show message content; either payload or entire object Template Node • Modifies the output based on a Mustache Template Function node • Run user-defined node.js code on the data inputs
  • 12.
    Other Input Nodes HTTP– Act as an HTTP endpoint; great for building RESTful services IBMIOT – Receive messages from an attached IOT Foundation account Also can receive from Websockets, MQTT (pick your own broker), TCP and MQ Light
  • 13.
    Other Output NodesHTTP Response; required as the final node when the input comes from an HTTP Request IBMIOT – send events out to the attached IOT Foundation account Twilio – send SMS messages via the Twilio service IBM Push – Send Push notifications to mobile devices Also can send requests through TCP, UDP, MQLight, WebSockets.
  • 14.
  • 16.
    Lets Build something Together gitrepo: https://github.com/pmmistry/Intro-to-Node-RED
  • 17.
    Sign up forIBM-Cloud Get a head start with IBM Cloud, sign up via: https://ibm.biz/BdzMZG
  • 18.
  • 21.
    Lets create anapplication that tells you the Weather in a different language Insert Inject Node à Connect it to Weather Insights API Node à Connect to Debug Output
  • 22.
    Add function toget forecast for Berlin on Friday
  • 23.
    Connect Language Translatornode to Function Nodeà Connect Text to speech to language translator Nodeà Connect change node to change payload to speech à Connect Play Audio to hear output
  • 24.
    So many morethings to do with Node-RED Install it locally and get wiring
  • 25.
    flows.nodered.org Index of allavailable nodes - Collection of user contributed flows and over 3000 + nodes and flows available
  • 26.
    IBM developerWorks Recipes https://developer.ibm.com/recipes/ Lotsof contributed recipes for connecting things to Watson IOT platform – many using Node-RED
  • 27.
    More Node-RED Resources Node Rednodes and Flows: https://flows.nodered.org Find new nodes, share your flows and see what other people have done with Node-RED Node Red official documentation: https://nodered.org/docs/ Getting Started - User Guide - Cookbook Watson Node Red nodes: https://github.com/watson-developer-cloud/node-red-labs A collection of examples on how to use the Watson nodes in Node-Red Community Hosted Node Red Guide : http://noderedguide.com/ “ The node red guide is a series of lectures designed to get you stared with Node-Red” Pooja’s Node-RED Demo: https://github.com/pmmistry/Intro-to- Node-RED John Waliki Node-RED Examples: https://github.com/johnwalicki
  • 28.
    Thank You Find meon Twitter : @poojamakes Connect with me on LinkedIn – https://www.linkedin.com/in/ pmmistry/ Follow my Node-RED Blogs on dev.to : https://dev.to/poojamakes