using osgi enroute for the osgi community event iot cotest - peter kriens

54
OSGi enRoute The IoT Contest Peter Kriens

Upload: mfrancis

Post on 17-Feb-2017

431 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

OSGi enRouteThe IoT Contest

Peter Kriens

Page 2: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

Contents• OSGi Relevancy

• OSGi enRoute

• OSGi Community Event IoT Contest

• The Architecture

• The Software

• The Hardware

• Experiences

• Future Contest

• Future OSGi

• Future OSGi enRoute

Page 3: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

OSGi IoT Requirements Workshop 25 May 2015

OSGi enRoute

Page 4: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

OSGi enRouteco

st o

f cha

nge

functionality

dynamic languages

Java & OSGi

Page 5: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

OSGi enRouteco

st o

f cha

nge

functionality

dynamic languages

Java & OSGi

Page 6: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

Tools• OSGi R6

• bnd

• Bndtools

• Gradle

• Github

• Travis

Page 7: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 8: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 9: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 10: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 11: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

Tutorials

• Quick Start Tutorial – Takes you through the steps to get started with OSGi enRoute.

Page 12: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

Tutorials

• Base Tutorial – Teaches you how to work with API, Provider, Test, and Application projects in an IDE and Continuous Integration Environment.

Page 13: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

Tutorials

• IoT Tutorial – Develops a small program on the Raspberry Pi and teaches you remote debugging.

Page 14: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

Tutorials

• Distributed OSGi Tutorial (new!) – Develops a simple chat application using Distributed OSGi.

Page 15: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

How To

Page 16: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

Service Catalog

Page 17: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

Patterns

Page 18: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

IoT Contest

Page 19: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 20: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

Rube Goldberg Contraption

Page 21: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

clientbrowser server

client

browser

client

serverevent processor

Page 22: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

Doing something simple in a complicated way?

Not good marketing!

Page 23: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 24: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

Racing?

Too fast for positioning

Page 25: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 26: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 27: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 28: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 29: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

[ { "service.pid":"osgi.enroute.trains.emulator", "name.rfids":[ "DemoTrain:rfid1234" ], "rfid.probability": 500, "play.speed":0.5 }, { "service.pid":"osgi.enroute.trains.train.manager", "name": "DemoTrain", "rfid": "rfid1234", "TrainController.target" : "train.channel=1" }, { "service.pid":"osgi.enroute.trains.track.manager", "name": "main", "segments": [ "A00 : CURVED : 1 : -1 : A01", "A01 : CURVED : 1 : -1 : A02", "A02 : CURVED : 1 : -1 : A03", "A03 : CURVED : 1 : -1 : A04", "A04 : STRAIGHT : 1 : -1 : A05", "A05 : STRAIGHT : 1 : -1 : A06", "A06 : STRAIGHT : 1 : -1 : A07", "A07 : STRAIGHT : 1 : -1 : A07_L", "A07_L : LOCATOR : 0 : 1 : A08", "A08 : STRAIGHT : 1 : -1 : A09", "A09 : STRAIGHT : 1 : -1 : A10", "A10 : STRAIGHT : 1 : -1 : A11", "A11 : STRAIGHT : 1 : -1 : A12", "A12 : STRAIGHT : 1 : -1 : A13", "A13 : CURVED : 1 : -1 : A14", "A14 : CURVED : 1 : -1 : A15", "A15 : CURVED : 1 : -1 : A16_L", "A16_L : LOCATOR : 0 : 2 : A16", "A16 : CURVED : 1 : -1 : A16_S", "A16_S : SIGNAL : 0 : 3 : X01",

"A16_S : SIGNAL : 0 : 3 : X01",

"X01 : SWITCH : 1 : 4 : B00,C00",

"B00 : CURVED : 1 : -1 : B01", "B01 : CURVED : 1 : -1 : B02", "B02 : CURVED : 1 : -1 : B03", "B03 : CURVED : 1 : -1 : B04", "B04 : STRAIGHT : 1 : -1 : B05", "B05 : STRAIGHT : 1 : -1 : B06", "B06 : STRAIGHT : 1 : -1 : B07", "B07 : STRAIGHT : 1 : -1 : B07_L", "B07_L : LOCATOR : 0 : 5 : B08", "B08 : STRAIGHT : 1 : -1 : B09", "B09 : STRAIGHT : 1 : -1 : B10", "B10 : STRAIGHT : 1 : -1 : B11", "B11 : STRAIGHT : 1 : -1 : B12", "B12 : STRAIGHT : 1 : -1 : B13", "B13 : CURVED : 1 : -1 : B14", "B14 : CURVED : 1 : -1 : B15", "B15 : CURVED : 1 : -1 : B16_L", "B16_L : LOCATOR : 1 : 6 : B16", "B16 : CURVED : 1 : -1 : B16_S", "B16_S : SIGNAL : 1 : 7 : X04",

"C00 : CURVED : 1 : -1 : C01", "C01 : CURVED : 1 : -1 : C02", "C02 : CURVED : 1 : -1 : C03", "C03 : CURVED : 1 : -1 : C04", "C04 : CURVED : 1 : -1 : C05_L", "C05_L : LOCATOR : 0 : 8 : C05", "C05 : CURVED : 1 : -1 : C05_S", "C05_S : SIGNAL : 0 : 9 : X02",

"X02 : SWITCH : 1 : 10 : E00,D00",

"E00 : STRAIGHT : 1 : -1 : E01", "E01 : STRAIGHT : 1 : -1 : E02", "E02 : STRAIGHT : 1 : -1 : E03", "E03 : STRAIGHT : 1 : -1 : E04", "E04 : STRAIGHT : 1 : -1 : E05",

Page 30: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 31: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 32: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 33: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

<sdk>

Page 34: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

Pi1 Pi2 Pi3

Cloud

Distributed OSGi

• Prosyst mPRM • Paremus Service Fabric

Hardware

Page 35: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

Emulator

Con- troller

Hardware

Page 36: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 37: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 38: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 39: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 40: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 41: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 42: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 43: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 44: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 45: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 46: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 47: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 48: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 49: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 50: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 51: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 52: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

The X-Ray Machine ate our RFID readers

Burb!!

Page 53: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens
Page 54: Using OSGi enRoute for the OSGi Community Event IoT Cotest - Peter Kriens

Q&A