67
Mitt oppsett – med RasPi, Arduino, servoer, MQTT, Node-RED og Minecraft Simen Sommerfeldt, Oslo Internet of things meetup 18.11

Iot demoday nov_2014

Embed Size (px)

DESCRIPTION

Intro to MQTT & Node-RED and how I assembled the Hardware and Software to make my Halloween prank.

Citation preview

Page 1: Iot demoday nov_2014

Mitt oppsett – med RasPi, Arduino, servoer, MQTT, Node-RED og Minecraft Simen Sommerfeldt, Oslo Internet of things meetup 18.11

Page 2: Iot demoday nov_2014

Rådgiver og CTO, Bouvet Oslo Dataforeningen, HIOA, Lær Kidsa Koding! Oslo IoT meetup

@sisomm

Page 3: Iot demoday nov_2014

•  Skandinavisk konsulentselskap

•  Leverer tjenester innenfor IT, digital kommunikasjon og rådgivning

•  1000 ansatte •  14 kontorer i Norge

og Sverige •  Notert på Oslo

Børs

Marit behersker programmeringsspråk som

Java og .net

Men først og fremst behersker hun kav

trøndersk

Page 4: Iot demoday nov_2014

Intro Demo 1: Skallen snur seg og ler når du passerer en sonar http://www.youtube.com/watch?v=2eRPg_KQunU

Demo 2: Skallen følger deg med blikket i minecraft, og du kan skru av lysene http://www.youtube.com/watch?v=yu6P1Bz6P0c

Page 5: Iot demoday nov_2014
Page 6: Iot demoday nov_2014
Page 7: Iot demoday nov_2014
Page 8: Iot demoday nov_2014
Page 9: Iot demoday nov_2014

Skremme barn på Halloween

http://nspt4kids.com/wp-content/uploads/2011/10/scared-boy-on-halloween.jpg

Page 10: Iot demoday nov_2014
Page 11: Iot demoday nov_2014

how to do reliable messaging over

unreliable networks?

- Dr. Andy Stanford-Clark

Page 12: Iot demoday nov_2014

Background

“MQTT was actually first designed for Real Time, Mission Critical,

Command & Control, SCADA systems”

- Arlen Nipper, Cirrus Link Solutions

Page 13: Iot demoday nov_2014

Pub/Sub with topic paths

http://m.eet.com/media/1171446/0912embmqtt01.png

/container/address/devicetype/unique/status <payload> /minecraft/world/skull/250,72,211/status IS_ALONE Wildcards: # entire subtree, + a single level

Page 14: Iot demoday nov_2014

Multiple brokers

http://usuaris.tinet.cat/sag/mq_pubsub.htm

Page 15: Iot demoday nov_2014

Standard siden Oktober 2014

Page 16: Iot demoday nov_2014
Page 17: Iot demoday nov_2014

“Tricks” for tingenes internett

•  Last will & testament •  Binary payload •  3 QoS levels •  Retained messages •  2 byte overhead •  Small footprint •  Low bandwidth

Page 18: Iot demoday nov_2014

Mobilkommunikajson: MQTT vs HTTPS

http://mobilebit.wordpress.com/2013/05/03/rest-is-for-sleeping-mqtt-is-for-mobile/ ”

Page 19: Iot demoday nov_2014

Du har antagelig MQTT i lomma

Page 20: Iot demoday nov_2014
Page 21: Iot demoday nov_2014

“MQTT is used both inside as inter- process communication and in the cloud

for diagnosis”

- Stefano Costa, Bluewind

Page 22: Iot demoday nov_2014

http://highscalability.com/blog/2014/1/13/nytimes-architecture-no-head-no-master-no-single-point-of-fa.html

Page 23: Iot demoday nov_2014

http://www.slideshare.net/kellogh/mqtt-kafka-33100776

Page 24: Iot demoday nov_2014

MQTT er så enkelt at ungene mine kunne følge

meldingene og foreslå endringer

Page 25: Iot demoday nov_2014

Kan kombineres med REST for å gi beskjed om endringer

Page 26: Iot demoday nov_2014

Node.red Et verktøy for rask prototyping av tingenes internett

20-Nov-14 28

Page 27: Iot demoday nov_2014

DEMO ( )

Page 28: Iot demoday nov_2014

“Kode”

Page 29: Iot demoday nov_2014

http://www.infoq.com/resource/news/2014/05/ibm-node-red-qconlondon/en/resources/Node-RED-WS-Tweet-Demo-QCon-London-2014.png

Page 30: Iot demoday nov_2014

“Wiring together hardware devices, APIs and online services in new and interesting ways [...] focus on the task at hand and not worry about the plumbing”

- Nick O’Leary, IBM

Page 31: Iot demoday nov_2014

"Just as a spreadsheet lets you to play around with numbers, Node-RED is a tool that's good

for playing around with events”

- Dave Convay-Jones, IBM

Page 32: Iot demoday nov_2014

Inputs

Page 33: Iot demoday nov_2014

Functions & Social

Page 34: Iot demoday nov_2014

Storage, Analysis, “Advanced”

Page 35: Iot demoday nov_2014

Make your own

Page 36: Iot demoday nov_2014

Users manual

In your browser:

1.  Add or select a node

2.  Configure it

3.  Combine it with others to form a flow

4.  Deploy

5.  Test

Page 37: Iot demoday nov_2014

Kan bruke node.js pakker & bygges inn i andre systemer

Page 38: Iot demoday nov_2014

Copy and paste med JSON

Page 39: Iot demoday nov_2014

Bruksområder •  Rask mockup av REST Services •  Rask uttesting av integrasjonsscenarier •  Internet of things protyping

http://www.kongsbjergskolen.kolding.dk/Infoweb/Forsideavis/visnyhed.asp?AvisID=5&ID=12

Page 40: Iot demoday nov_2014

Skal ikke brukes i produksjon - eller gjør på egen risk!

Page 41: Iot demoday nov_2014

Min Python Broker: ~20 timer

Node Red:

1 time

Page 42: Iot demoday nov_2014

My wants: Mutex and aggregator pattern

My wants: Mutex

& Aggregator pattern

http://huisdierencentrumhaarlem.nl/wp-content/uploads/2013/01/animals-cat-kitten-cute-begging-kitten-wallpaper.jpg

Page 43: Iot demoday nov_2014

Hardware og oppsett

20-Nov-14 45

Page 44: Iot demoday nov_2014

Avstandsmåler

Fuktmåler

Reléer Vibrasjons-måler

Servoer

Lysmåler

Termometer

Støymåler

Video-kamera

Page 45: Iot demoday nov_2014

Arduino sketch

Arduino sketch Python script Node.Red Mosquitto MQTT server

Minecraft client Bukkit Server Scriptcraft med MQTT plugin Javascript

Page 46: Iot demoday nov_2014

Servo Shield Arduberry Raspberry Pi

Page 47: Iot demoday nov_2014

Keith Richards

Kjeve-Servo

Pan/Tilt Servo

Page 48: Iot demoday nov_2014

Servo Shield

Arduberry

Raspberry Pi

Page 49: Iot demoday nov_2014

Servo Shield ArduBerry, Raspi

Motstander for diodene i skallen

Breadboard power supply

Ardiuino 2 koblet til en sonar

Page 50: Iot demoday nov_2014
Page 51: Iot demoday nov_2014
Page 52: Iot demoday nov_2014

“Devices”

Hodeskalle som merker om sjeler er i nærheten

Sonar som varsler avstand til spilleren

Brytere som slås av og på

Varsel om når blokker blir ødelagt

Facetracker som angir vektoren til til spilleren

Page 53: Iot demoday nov_2014

/arduino/1/incoming

/arduino/2/sonar

/raspberry/1/soundplayer

/minecraft/world/lever/<pos> /minecraft/world/block/<pos> /minecraft/world/skull/<posi> /minecraft/world/facetracker<pos>

Page 54: Iot demoday nov_2014

20-Nov-14

! /arduino/2/sonar/Ping: 29 ! /minecraft/world/sonar/250,72,211 Ping: 9 ! /minecraft/world/skull/250,72,211/status HAS_COMPANY " /arduino/1/incoming LEDS_ON ! /minecraft/world/facetracker/250,72,211/status 0.038844700742, -0.100218465107 " /arduino/1/incoming SERVOS_MOVE,54,69 ! /minecraft/world/lever/-251,71,210/status 0 " /arduino/1/incoming LED,1,0 ! /minecraft/world/lever/-249,71,210/status 1 " /arduino/1/incoming LED,1,1 ! /minecraft/world/skull/250,72,211/status IS_ALONE " /arduino/1/incoming LEDS_OFF ! /minecraft/world/sonar/250,72,211 Ping: 20 ! /minecraft/world/block/-251,70,183/status BROKEN

Page 55: Iot demoday nov_2014

“Gjør leksene, gutt!”

Page 56: Iot demoday nov_2014

http://blogg.bouvet.no/2014/03/10/an-internet-of-things-demo-using-raspberry-pi-arduino-minecraft-and-mqtt/

Page 57: Iot demoday nov_2014

http://blogg.bouvet.no/2014/08/04/node-red-how-it-simplifed-my-iot-project-and-how-you-can-rapidly-prototype-for-the-internet-of-things/

Page 58: Iot demoday nov_2014

github.com/sisomm/iot-concepts

20-Nov-14 60

Page 59: Iot demoday nov_2014

Other nice combos

•  Tessel: Javascript “arduino” with sensors •  OpenHAB: Rule-driven IoT “motor” that combines

several standarder og devicer •  Resources om IoT+node.red+mqtt++:

http://iot-datamodels.blogspot.no.

Page 60: Iot demoday nov_2014

Takk til...

•  Andy Piper @ Twitter (Former IBM) •  Michael Laing @ NY Times •  Ian Skerret @ Eclipse Foundation •  Benjamin Cabé @ Eclipse working group •  Stefano Costa @ Bluewind •  Nils Perret @ Bouvet

Page 61: Iot demoday nov_2014

Spørsmål?

Page 62: Iot demoday nov_2014

Fortsett dialogen!

@bouvet

64

Facebook.com/bouvet Utbrudd.bouvet.no

Page 63: Iot demoday nov_2014

Takk!

Page 64: Iot demoday nov_2014

Noen linker

Andy S-C on IoT @TED: http://www.youtube.com/watch?v=s9nrm8q5eGg

http://mobilebit.wordpress.com/2013/05/03/rest-is-for-sleeping-mqtt-is-for-mobile

http://www.slideshare.net/nivertech/zvi-mqtts-foreuc2013

http://jpmens.net/2013/02/25/lots-of-messages-mqtt-pub-sub-and-the-mosquitto-broker/

http://embeddedtek.blogspot.no/2013/02/internet-of-things-sous-vide-cooker.html

http://nrkbeta.no/2013/09/18/uendelige-muligheter-med-internett-i-alt/

http://mqtt.org/wiki/doku.php/history

http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html#appendix-

https://www.eclipsecon.org/na2014/session/securing-internet-things-and-mqtt

http://server.dzone.com/articles/controlling-house-50-miles

Page 65: Iot demoday nov_2014

MQTT servere

•  IBM MQ Series •  Mosquitto •  Eclipse Paho •  Eurotech Everywhere

Device Cloud •  Xively •  eMQTT •  m2m.io

•  RabbitMQ •  Apache ActiveMQ •  Apache Apollo •  Moquette •  HiveMQ •  Mosca •  Litmus Automation

Loop

Page 66: Iot demoday nov_2014

•  Mule •  Fuse ESB •  WSO2 •  IBM Websphere ESB •  Talend

ESB’er

Page 67: Iot demoday nov_2014

MQTT sikkerhet

•  Username/Password •  SSL connections •  ACL for topics •  Client authentication (Certificates) •  Encrypt messages