SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Berlin, October 16-17 2018
ICS Integration with
Node-RED and Open Source
Stefano Pogliani - @stefanopog
Paul Withers - @paulswithers
Social Connections 14 Berlin, October 16-17 2018
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
Introducing Node-RED
Social Connections 14 Berlin, October 16-17 2018
• 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
Open Source Development
Social Connections 14 Berlin, October 16-17 2018
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.
Social Connections 14 Berlin, October 16-17 2018
Pre-installed on Raspberry Pi
Social Connections 14 Berlin, October 16-17 2018
Boilerplate Application on IBM Bluemix
bluemix.net
Social Connections 14 Berlin, October 16-17 2018
3rd Party Hosted Node-RED services
redconnect.io fred.sensetecnic.com flow.att.com
Social Connections 14 Berlin, October 16-17 2018
What is a Node-RED flow ?
Social Connections 14 Berlin, October 16-17 2018
• 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
Social Connections 14 Berlin, October 16-17 2018
Social Connections 14 Berlin, October 16-17 2018
topic:
“weather/uk”
payload: “sunny!”
…
…
Social Connections 14 Berlin, October 16-17 2018
payload: “Jedi are totally amazing!”
payload: “Jedi are totally amazing!”
sentiment: { score: 4 }
Social Connections 14 Berlin, October 16-17 2018
[{"id":"8065eed5.5b7da","type":"inject","z":"a5
1f24b1.60b968","name":"","topic":"","payload":"
","payloadType":"date","repeat":"","crontab":""
,"once":false,"x":140,"y":120,"wires":[["8a1a82
96.1a05f"]]},{"id":"8a1a8296.1a05f","type":"deb
ug","z":"a51f24b1.60b968","name":"","active":tr
ue,"console":"false","complete":"false","x":350
,"y":140,"wires":[]}]
What is a Node-RED flow ?
Social Connections 14 Berlin, October 16-17 2018
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
.json
The package.json file associated to any
nodejs package
Social Connections 14 Berlin, October 16-17 2018
Interesting Re-usable
components
Social Connections 14 Berlin, October 16-17 2018
• Index of all available nodes
• Collection of user-contributed
flows
• 500+ modules available
flows.nodered.org
Social Connections 14 Berlin, October 16-17 2018
ICS ready to use packages
Node-red-contrib-ibmconnections Node-red-contrib-wws Node-red-contrib-domino-rest
Social Connections 14 Berlin, October 16-17 2018
Dashboard
Social Connections 14 Berlin, October 16-17 2018
Demos !
Social Connections 14 Berlin, October 16-17 2018
1. Connections Profiles
2. Connections ActivityStream (Read and Post)
3. Connections Forums
4. Create an intelligent webhook
5. Modifying a space based on a template
6. Add custom Focus to a message
7. Post a message into a space
List of demo Scenarios
Social Connections 14 Berlin, October 16-17 2018
Installation Options
Social Connections 14 Berlin, October 16-17 2018
On Prem
• See https://nodered.org/docs/getting-started/
• Quirks for Windows – npm global installs in
current user’s appdata. See documentation
• Docker images available, see
https://nodered.org/docs/platforms/docker
Social Connections 14 Berlin, October 16-17 2018
$ sudo npm install -g --unsafe-perm node-red
$ node-red
Install it locally and get wiring
Recommend: node.js 4.x & npm 2.x
Social Connections 14 Berlin, October 16-17 2018
IBM Cloud
• Create resource
• Node-RED Starter
• Choose name
https://github.com/node-red/node-red-bluemix-starter
Social Connections 14 Berlin, October 16-17 2018
IBM Cloud
Social Connections 14 Berlin, October 16-17 2018
IBM Cloud
Social Connections 14 Berlin, October 16-17 2018
Community contributed options
$ sudo docker run -dp 1880:1880 cpswan/node-red
$ git clone https://github.com/natcl/electron-node-red.git
$ cd electron-node-red
$ npm install
$ npm start
docker container
- see - https://hub.docker.com/r/cpswan/node-red/
- (others are available)
electron standalone application
- pre-reqs node.js and git
- see https://github.com/natcl/electron-node-red for details
Social Connections 14 Berlin, October 16-17 2018
Docker
• Problems storing data outside Docker on
Windows
• docker run -it -p 1880:1880 -v
~/node-red-data:/data --name
mynodered nodered/node-red-docker
doesn’t work
Social Connections 14 Berlin, October 16-17 2018
Docker – Persisting data outside container
docker volume create VOLUME_NAME
docker run -it -p 1880:1880 -v
VOLUME_NAME:/data --name CONTAINER_NAME
nodered/node-red-docker
Social Connections 14 Berlin, October 16-17 2018
Docker – Editing Files in Persisted Volume
• Easiest method is copy out and copy in
docker cp CONTAINER_NAME:/VOLUME_LOC HOST_LOC
docker cp HOST_LOC CONTAINER_NAME:/VOLUME_LOC
Social Connections 14 Berlin, October 16-17 2018
Useful tips
Social Connections 14 Berlin, October 16-17 2018
Securing Node-RED
• Add adminAuth JSON object to settings.js
• Can be credentials or Oauth/OpenID
• See https://nodered.org/docs/security
Social Connections 14 Berlin, October 16-17 2018
Securing Node-RED with Custom Strategy
• Create a custom files <node-red>/user-
authentication.js
• In settings.js set:
adminAuth: require("./user-authentication")
Social Connections 14 Berlin, October 16-17 2018
Node-RED – Adding Nodes
• In the palette, search for the nodes to add
Social Connections 14 Berlin, October 16-17 2018
Online resources
Social Connections 14 Berlin, October 16-17 2018
Learn about IoT and
Node-RED over a 4
week online course
Coursera – A developer’s guide to the IoT
https://www.coursera.org/learn/developer-iot
Social Connections 14 Berlin, October 16-17 2018
Get hands-on experience and
learn how to convert speech to
text, analyze tone, translate
text into different languages,
send tweets through Twitter,
add audio and video
capabilities, and set up a chat
bot using the IBM Watson
Conversation service and
Facebook Messenger. And
you don’t even need any
programming experience!
https://developer.ibm.com/courses/all-courses/node-red-basics-bots/
IBM developerWorks courses
Social Connections 14 Berlin, October 16-17 2018
Lots of contributed
recipes for connecting
things to Watson IOT
platform - many using
Node-RED
IBM developerWorks Recipes
https://developer.ibm.com/recipes/
Social Connections 14 Berlin, October 16-17 2018
Collection of examples on
how to use the Watson nodes
in Node-RED (Basic and
advanced labs). The basic
labs are simple standalone
examples of how to call each
individual Watson Node-RED
nodes and the advanced labs
are where different Watson
Node-RED nodes are
combined to create more
complex applications.
GitHub courses
https://github.com/watson-developer-cloud/node-red-labs
Social Connections 14 Berlin, October 16-17 2018
• Good Samples
https://github.com/johnwalic
ki/TJBot-Node-RED
• Excellent Primer :
https://medium.com/@jeanc
arlbisson/how-to-train-your-
tjbot-in-node-red-
88bfb3bbe0ab
It also works on a TJBot
TJBot : https://github.com/ibmtjbot/tjbot/blob/master/README.md
Social Connections 14 Berlin, October 16-17 2018
Official Site : http://nodered.org
Twitter : @NodeRED
Mailing List : https://groups.google.com/forum/#!forum/node-red
Slack Channel : http://nodered.org/slack/
http://noderedguide.com/
https://medium.com/node-red
Other tutorials and guides
Social Connections 14 Berlin, October 16-17 2018
THANK YOU !
Social Connections 14 - ICS Integration with Node-RED and Open Source

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Docker and Go: why did we decide to write Docker in Go?
Docker and Go: why did we decide to write Docker in Go?Docker and Go: why did we decide to write Docker in Go?
Docker and Go: why did we decide to write Docker in Go?
 
A Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeA Tour of Open Source on the Mainframe
A Tour of Open Source on the Mainframe
 
Red Teaming macOS Environments with Hermes the Swift Messenger
Red Teaming macOS Environments with Hermes the Swift MessengerRed Teaming macOS Environments with Hermes the Swift Messenger
Red Teaming macOS Environments with Hermes the Swift Messenger
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
Docker in development (Story)
Docker in development (Story)Docker in development (Story)
Docker in development (Story)
 
Go 1.8 'new' networking features
Go 1.8 'new' networking featuresGo 1.8 'new' networking features
Go 1.8 'new' networking features
 
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
 
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
Effizientere WordPress-Plugin-Entwicklung mit SoftwaretestsEffizientere WordPress-Plugin-Entwicklung mit Softwaretests
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
 
Walking the Bifrost: An Operator's Guide to Heimdal & Kerberos on macOS
Walking the Bifrost: An Operator's Guide to Heimdal & Kerberos on macOSWalking the Bifrost: An Operator's Guide to Heimdal & Kerberos on macOS
Walking the Bifrost: An Operator's Guide to Heimdal & Kerberos on macOS
 
Bash-ing brittle indicators: Red teaming mac-os without bash or python
Bash-ing brittle indicators: Red teaming mac-os without bash or pythonBash-ing brittle indicators: Red teaming mac-os without bash or python
Bash-ing brittle indicators: Red teaming mac-os without bash or python
 
Adventures with Podman and Varlink
Adventures with Podman and VarlinkAdventures with Podman and Varlink
Adventures with Podman and Varlink
 
Build a PaaS with OpenShift Origin
Build a PaaS with OpenShift OriginBuild a PaaS with OpenShift Origin
Build a PaaS with OpenShift Origin
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Getting started with docker
Getting started with dockerGetting started with docker
Getting started with docker
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
 
Fluentd 101
Fluentd 101Fluentd 101
Fluentd 101
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
 
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
 

Ähnlich wie Social Connections 14 - ICS Integration with Node-RED and Open Source

Ähnlich wie Social Connections 14 - ICS Integration with Node-RED and Open Source (20)

Social connections14: Super charge your API’s with Reactive streams
Social connections14: Super charge your API’s with Reactive streamsSocial connections14: Super charge your API’s with Reactive streams
Social connections14: Super charge your API’s with Reactive streams
 
Developing IBM Connections Community Apps using Domino
Developing IBM Connections Community Apps using DominoDeveloping IBM Connections Community Apps using Domino
Developing IBM Connections Community Apps using Domino
 
Node-Red
Node-RedNode-Red
Node-Red
 
IoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the Cloud
 
Analyzing Twitter with Node-RED
Analyzing Twitter with Node-RED Analyzing Twitter with Node-RED
Analyzing Twitter with Node-RED
 
IBM Connections 6 Component Pack
IBM Connections 6 Component PackIBM Connections 6 Component Pack
IBM Connections 6 Component Pack
 
Netsoft19 Keynote: Fluid Network Planes
Netsoft19 Keynote: Fluid Network PlanesNetsoft19 Keynote: Fluid Network Planes
Netsoft19 Keynote: Fluid Network Planes
 
Node red & IoT - IEDC Hardware Club, April 8th 2016
Node red & IoT - IEDC Hardware Club, April 8th 2016Node red & IoT - IEDC Hardware Club, April 8th 2016
Node red & IoT - IEDC Hardware Club, April 8th 2016
 
How to Enterprise Node
How to Enterprise NodeHow to Enterprise Node
How to Enterprise Node
 
Hands on-intro to Node-RED
Hands on-intro to Node-REDHands on-intro to Node-RED
Hands on-intro to Node-RED
 
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
 
Serverless survival kit
Serverless survival kitServerless survival kit
Serverless survival kit
 
How to easy deploy app into any cloud
How to easy deploy app into any cloudHow to easy deploy app into any cloud
How to easy deploy app into any cloud
 
Join Our Party: The Cloud Native Adventure Brigade (TCSW 2019)
Join Our Party: The Cloud Native Adventure Brigade (TCSW 2019)Join Our Party: The Cloud Native Adventure Brigade (TCSW 2019)
Join Our Party: The Cloud Native Adventure Brigade (TCSW 2019)
 
DevSecCon London 2019: How to Secure OpenShift Environments and What Happens ...
DevSecCon London 2019: How to Secure OpenShift Environments and What Happens ...DevSecCon London 2019: How to Secure OpenShift Environments and What Happens ...
DevSecCon London 2019: How to Secure OpenShift Environments and What Happens ...
 
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
 
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e... Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 
Voxxed days Vilnius 2015 - Android Reverse Engineering Lab
Voxxed days Vilnius 2015 - Android Reverse Engineering LabVoxxed days Vilnius 2015 - Android Reverse Engineering Lab
Voxxed days Vilnius 2015 - Android Reverse Engineering Lab
 
Node-RED Interoperability Test
Node-RED Interoperability TestNode-RED Interoperability Test
Node-RED Interoperability Test
 
Building cognitive apps with Watson Work Services
Building cognitive apps with Watson Work ServicesBuilding cognitive apps with Watson Work Services
Building cognitive apps with Watson Work Services
 

Mehr von Paul Withers

Mehr von Paul Withers (20)

Engage 2019: Modernising Your Domino and XPages Applications
Engage 2019: Modernising Your Domino and XPages Applications Engage 2019: Modernising Your Domino and XPages Applications
Engage 2019: Modernising Your Domino and XPages Applications
 
Engage 2019: AI What Is It Good For
Engage 2019: AI What Is It Good ForEngage 2019: AI What Is It Good For
Engage 2019: AI What Is It Good For
 
ICONUK 2018 - Do You Wanna Build a Chatbot
ICONUK 2018 - Do You Wanna Build a ChatbotICONUK 2018 - Do You Wanna Build a Chatbot
ICONUK 2018 - Do You Wanna Build a Chatbot
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
 
IBM Think Session 3249 Watson Work Services Java SDK
IBM Think Session 3249 Watson Work Services Java SDKIBM Think Session 3249 Watson Work Services Java SDK
IBM Think Session 3249 Watson Work Services Java SDK
 
GraphQL 101
GraphQL 101GraphQL 101
GraphQL 101
 
GraphQL 101
GraphQL 101GraphQL 101
GraphQL 101
 
OpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino DevelopmentOpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino Development
 
AD1279 "Marty, You're Not Thinking Fourth Dimensionally" - Troubleshooting XP...
AD1279 "Marty, You're Not Thinking Fourth Dimensionally" - Troubleshooting XP...AD1279 "Marty, You're Not Thinking Fourth Dimensionally" - Troubleshooting XP...
AD1279 "Marty, You're Not Thinking Fourth Dimensionally" - Troubleshooting XP...
 
Social Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and DominoSocial Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and Domino
 
ICON UK 2015 - ODA and CrossWorlds
ICON UK 2015 - ODA and CrossWorldsICON UK 2015 - ODA and CrossWorlds
ICON UK 2015 - ODA and CrossWorlds
 
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
 
IBM ConnectED 2015 - MAS103 XPages Performance and Scalability
IBM ConnectED 2015 - MAS103 XPages Performance and ScalabilityIBM ConnectED 2015 - MAS103 XPages Performance and Scalability
IBM ConnectED 2015 - MAS103 XPages Performance and Scalability
 
OpenNTF Domino API - Overview Introduction
OpenNTF Domino API - Overview IntroductionOpenNTF Domino API - Overview Introduction
OpenNTF Domino API - Overview Introduction
 
What's New and Next in OpenNTF Domino API (ICON UK 2014)
What's New and Next in OpenNTF Domino API (ICON UK 2014)What's New and Next in OpenNTF Domino API (ICON UK 2014)
What's New and Next in OpenNTF Domino API (ICON UK 2014)
 
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...
 
Engage 2014 OpenNTF Domino API Slides
Engage 2014 OpenNTF Domino API SlidesEngage 2014 OpenNTF Domino API Slides
Engage 2014 OpenNTF Domino API Slides
 
IBM Connect 2014 BP204: It's Not Infernal: Dante's Nine Circles of XPages Heaven
IBM Connect 2014 BP204: It's Not Infernal: Dante's Nine Circles of XPages HeavenIBM Connect 2014 BP204: It's Not Infernal: Dante's Nine Circles of XPages Heaven
IBM Connect 2014 BP204: It's Not Infernal: Dante's Nine Circles of XPages Heaven
 
Embracing the power of the notes client
Embracing the power of the notes clientEmbracing the power of the notes client
Embracing the power of the notes client
 
Beyond Domino Designer
Beyond Domino DesignerBeyond Domino Designer
Beyond Domino Designer
 

KĂźrzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
Christopher Logan Kennedy
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

KĂźrzlich hochgeladen (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

Social Connections 14 - ICS Integration with Node-RED and Open Source

  • 1. Berlin, October 16-17 2018 ICS Integration with Node-RED and Open Source Stefano Pogliani - @stefanopog Paul Withers - @paulswithers
  • 2. Social Connections 14 Berlin, October 16-17 2018 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 Introducing Node-RED
  • 3. Social Connections 14 Berlin, October 16-17 2018 • 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 Open Source Development
  • 4. Social Connections 14 Berlin, October 16-17 2018 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.
  • 5. Social Connections 14 Berlin, October 16-17 2018 Pre-installed on Raspberry Pi
  • 6. Social Connections 14 Berlin, October 16-17 2018 Boilerplate Application on IBM Bluemix bluemix.net
  • 7. Social Connections 14 Berlin, October 16-17 2018 3rd Party Hosted Node-RED services redconnect.io fred.sensetecnic.com flow.att.com
  • 8. Social Connections 14 Berlin, October 16-17 2018 What is a Node-RED flow ?
  • 9. Social Connections 14 Berlin, October 16-17 2018 • 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
  • 10. Social Connections 14 Berlin, October 16-17 2018
  • 11. Social Connections 14 Berlin, October 16-17 2018 topic: “weather/uk” payload: “sunny!” … …
  • 12. Social Connections 14 Berlin, October 16-17 2018 payload: “Jedi are totally amazing!” payload: “Jedi are totally amazing!” sentiment: { score: 4 }
  • 13. Social Connections 14 Berlin, October 16-17 2018 [{"id":"8065eed5.5b7da","type":"inject","z":"a5 1f24b1.60b968","name":"","topic":"","payload":" ","payloadType":"date","repeat":"","crontab":"" ,"once":false,"x":140,"y":120,"wires":[["8a1a82 96.1a05f"]]},{"id":"8a1a8296.1a05f","type":"deb ug","z":"a51f24b1.60b968","name":"","active":tr ue,"console":"false","complete":"false","x":350 ,"y":140,"wires":[]}] What is a Node-RED flow ?
  • 14. Social Connections 14 Berlin, October 16-17 2018 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 .json The package.json file associated to any nodejs package
  • 15. Social Connections 14 Berlin, October 16-17 2018 Interesting Re-usable components
  • 16. Social Connections 14 Berlin, October 16-17 2018 • Index of all available nodes • Collection of user-contributed flows • 500+ modules available flows.nodered.org
  • 17. Social Connections 14 Berlin, October 16-17 2018 ICS ready to use packages Node-red-contrib-ibmconnections Node-red-contrib-wws Node-red-contrib-domino-rest
  • 18. Social Connections 14 Berlin, October 16-17 2018 Dashboard
  • 19. Social Connections 14 Berlin, October 16-17 2018 Demos !
  • 20. Social Connections 14 Berlin, October 16-17 2018 1. Connections Profiles 2. Connections ActivityStream (Read and Post) 3. Connections Forums 4. Create an intelligent webhook 5. Modifying a space based on a template 6. Add custom Focus to a message 7. Post a message into a space List of demo Scenarios
  • 21. Social Connections 14 Berlin, October 16-17 2018 Installation Options
  • 22. Social Connections 14 Berlin, October 16-17 2018 On Prem • See https://nodered.org/docs/getting-started/ • Quirks for Windows – npm global installs in current user’s appdata. See documentation • Docker images available, see https://nodered.org/docs/platforms/docker
  • 23. Social Connections 14 Berlin, October 16-17 2018 $ sudo npm install -g --unsafe-perm node-red $ node-red Install it locally and get wiring Recommend: node.js 4.x & npm 2.x
  • 24. Social Connections 14 Berlin, October 16-17 2018 IBM Cloud • Create resource • Node-RED Starter • Choose name https://github.com/node-red/node-red-bluemix-starter
  • 25. Social Connections 14 Berlin, October 16-17 2018 IBM Cloud
  • 26. Social Connections 14 Berlin, October 16-17 2018 IBM Cloud
  • 27. Social Connections 14 Berlin, October 16-17 2018 Community contributed options $ sudo docker run -dp 1880:1880 cpswan/node-red $ git clone https://github.com/natcl/electron-node-red.git $ cd electron-node-red $ npm install $ npm start docker container - see - https://hub.docker.com/r/cpswan/node-red/ - (others are available) electron standalone application - pre-reqs node.js and git - see https://github.com/natcl/electron-node-red for details
  • 28. Social Connections 14 Berlin, October 16-17 2018 Docker • Problems storing data outside Docker on Windows • docker run -it -p 1880:1880 -v ~/node-red-data:/data --name mynodered nodered/node-red-docker doesn’t work
  • 29. Social Connections 14 Berlin, October 16-17 2018 Docker – Persisting data outside container docker volume create VOLUME_NAME docker run -it -p 1880:1880 -v VOLUME_NAME:/data --name CONTAINER_NAME nodered/node-red-docker
  • 30. Social Connections 14 Berlin, October 16-17 2018 Docker – Editing Files in Persisted Volume • Easiest method is copy out and copy in docker cp CONTAINER_NAME:/VOLUME_LOC HOST_LOC docker cp HOST_LOC CONTAINER_NAME:/VOLUME_LOC
  • 31. Social Connections 14 Berlin, October 16-17 2018 Useful tips
  • 32. Social Connections 14 Berlin, October 16-17 2018 Securing Node-RED • Add adminAuth JSON object to settings.js • Can be credentials or Oauth/OpenID • See https://nodered.org/docs/security
  • 33. Social Connections 14 Berlin, October 16-17 2018 Securing Node-RED with Custom Strategy • Create a custom files <node-red>/user- authentication.js • In settings.js set: adminAuth: require("./user-authentication")
  • 34. Social Connections 14 Berlin, October 16-17 2018 Node-RED – Adding Nodes • In the palette, search for the nodes to add
  • 35. Social Connections 14 Berlin, October 16-17 2018 Online resources
  • 36. Social Connections 14 Berlin, October 16-17 2018 Learn about IoT and Node-RED over a 4 week online course Coursera – A developer’s guide to the IoT https://www.coursera.org/learn/developer-iot
  • 37. Social Connections 14 Berlin, October 16-17 2018 Get hands-on experience and learn how to convert speech to text, analyze tone, translate text into different languages, send tweets through Twitter, add audio and video capabilities, and set up a chat bot using the IBM Watson Conversation service and Facebook Messenger. And you don’t even need any programming experience! https://developer.ibm.com/courses/all-courses/node-red-basics-bots/ IBM developerWorks courses
  • 38. Social Connections 14 Berlin, October 16-17 2018 Lots of contributed recipes for connecting things to Watson IOT platform - many using Node-RED IBM developerWorks Recipes https://developer.ibm.com/recipes/
  • 39. Social Connections 14 Berlin, October 16-17 2018 Collection of examples on how to use the Watson nodes in Node-RED (Basic and advanced labs). The basic labs are simple standalone examples of how to call each individual Watson Node-RED nodes and the advanced labs are where different Watson Node-RED nodes are combined to create more complex applications. GitHub courses https://github.com/watson-developer-cloud/node-red-labs
  • 40. Social Connections 14 Berlin, October 16-17 2018 • Good Samples https://github.com/johnwalic ki/TJBot-Node-RED • Excellent Primer : https://medium.com/@jeanc arlbisson/how-to-train-your- tjbot-in-node-red- 88bfb3bbe0ab It also works on a TJBot TJBot : https://github.com/ibmtjbot/tjbot/blob/master/README.md
  • 41. Social Connections 14 Berlin, October 16-17 2018 Official Site : http://nodered.org Twitter : @NodeRED Mailing List : https://groups.google.com/forum/#!forum/node-red Slack Channel : http://nodered.org/slack/ http://noderedguide.com/ https://medium.com/node-red Other tutorials and guides
  • 42. Social Connections 14 Berlin, October 16-17 2018 THANK YOU !