33
Building Internet of Things with Node-RED, http://nodered.org/ Mika Karaila Research manager Valmet Automation

TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Embed Size (px)

Citation preview

Page 1: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Building Internet of Things withNode-RED, http://nodered.org/

Mika KarailaResearch managerValmet Automation

Page 2: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Contents

Visual flow programming: Node-RED

IoT nodes: Azure, Watson, AWS

Use cases

Summary

1

2

3

4

Page 3: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Visual flow programming

Page 4: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Node-REDVisual programming: https://www.youtube.com/watch?v=vYreeoCoQPI

http://nodered.org/31 August, 2016 © Valmet | Mika Karaila4

Page 5: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Node-RED principlesAdd node, edit parameters

31 August, 2016 © Valmet | Mika Karaila5

Red triangle: check parameters

Blue dot: not yet deployed

Info: description

Page 6: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Node-RED exampleNodes: Inject, limit, debug

31 August, 2016 © Valmet | Mika Karaila6

Status: msg counter valueDebug: timestamp value

Page 7: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Server parameters in one nodeConfiguration node

31 August, 2016 © Valmet | Mika Karaila7

Config: keeps all parameters in onenode like server IP-address &user/passwd

Page 8: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

IoT nodes:Azure, Watson, AWS

Page 9: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Node-red nodes for Azurehttp://flows.nodered.org

31 August, 2016 © Valmet | Mika Karaila9

Page 10: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Node-red nodes for IBM Watson

31 August, 2016 © Valmet | Mika Karaila10

Page 11: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Node-red nodes for AWS

31 August, 2016 © Valmet | Mika Karaila11

Page 12: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Node-RED IoT nodes

31 August, 2016 © Valmet | Mika Karaila12

Page 13: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

IoT nodesSimplified view

Principles:

ü Send / receive messagesü Store / retrieve file(s)ü Write / read database

Programming languages:ü C#, Javascript, Python, Java, Ruby etc.

depends on provider

Differences:

ü Security implementations:– API key– Connection string– Certificate files

ü Protocols:– http/https– mqtt/mqtts– Amqp/amqpWs

31 August, 2016 © Valmet | Mika Karaila13

Page 14: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Use cases

Demo is based onArrowhead service frameworkArtemis research program

Page 15: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Demo hardware: Intel Edison + Groove kitSeed Studio: Indoor environment kit for Intel Edison

1. Intel Edison & base board2. Base board with enclosure3. Adapter for Edison4. Sensors/devices:

Light, temperature, rotatebutton, buzzer, UV, LCD

Connectors:Power line + USB-debug

31 August, 2016 © Valmet | Mika Karaila15

Page 16: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Simple flow that will register GTW to cloudPublish service & List services

31 August, 2016 © Valmet | Mika Karaila16

Page 17: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

GTW REST APISwagger documented API

31 August, 2016 © Valmet | Mika Karaila17

Page 18: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Test flow to send sensor values to MIMOSABuild message and POST data through REST API to database

31 August, 2016 © Valmet | Mika Karaila18

Page 19: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Dashboard UIUI definition

31 August, 2016 © Valmet | Mika Karaila19

Page 20: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Dashboard UI3 Tabs: Arrowhead services, Sensor test and MIMOSA DB

31 August, 2016 © Valmet | Mika Karaila20

Page 21: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Map viewGTW on map

31 August, 2016 © Valmet | Mika Karaila21

Page 22: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

HSL Map demo

2 September, 2016 © Valmet | Mika Karaila22

Page 23: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

HSL Demo flowUpdated mqtt & map parameters

2 September, 2016 © Valmet | Mika Karaila23

Page 24: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Demo summary

ü Visual program

ü Program flow is just 4 tabs (pages) and it is not very complex

ü Simple REST APIs

ü Effective and very easy to reuse => high productivity

ü UI & Map interface (bonus)

31 August, 2016 © Valmet | Mika Karaila24

Page 25: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Summary

Page 26: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Commercial products using the Node-REDBased on IBM´s open source Node-RED

ü http://www.multitech.com/brands/multiconnect-conduit

ü http://sensetecnic.com/

ü https://www.redconnect.io/

ü https://flow.att.com/

ü http://thethingbox.io/

31 August, 2016 © Valmet | Mika Karaila26

Page 27: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Multitech Conduit

http://www.my-ftm.com/2014/11/multitech-multitech-systems-a-universal-machine-for-the-industrial-internet-of-things/31 August, 2016 © Valmet | Mika Karaila27

http://www.multitech.net/developer/software/aep/node-red-and-rest-api-cloud-service/

Page 28: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

AT&T

https://developer.att.com/campaigns/flow-designer-beta31 August, 2016 © Valmet | Mika Karaila28

Page 29: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Sensetecnic

http://developers.sensetecnic.com/article/anomaly-detection-using-node-red/31 August, 2016 © Valmet | Mika Karaila29

Page 30: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

Redconnect

https://www.redconnect.io/31 August, 2016 © Valmet | Mika Karaila30

Page 31: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

The Thingbox project

http://thethingbox.io/31 August, 2016 © Valmet | Mika Karaila31

Page 32: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

SummaryHighlights

ü Expand node-RED with own nodes– Check node-red-contrib-* from GITHUB / npm

ü Document REST APIs with Swagger as you programü Test immediatelyü Easiness, reuse for productivityü Have fun !

Questions & discussion

31 August, 2016 © Valmet | Mika Karaila32

Page 33: TampereJS Meetup: Node-RED by Mika Karaila, Valmet

31 August, 2016© Valmet | Mika Karaila33