using osgi enroute for the osgi community event iot cotest - peter kriens
TRANSCRIPT
OSGi enRouteThe IoT Contest
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
OSGi IoT Requirements Workshop 25 May 2015
OSGi enRoute
OSGi enRouteco
st o
f cha
nge
functionality
dynamic languages
Java & OSGi
OSGi enRouteco
st o
f cha
nge
functionality
dynamic languages
Java & OSGi
Tools• OSGi R6
• bnd
• Bndtools
• Gradle
• Github
• Travis
Tutorials
• Quick Start Tutorial – Takes you through the steps to get started with OSGi enRoute.
Tutorials
• Base Tutorial – Teaches you how to work with API, Provider, Test, and Application projects in an IDE and Continuous Integration Environment.
Tutorials
• IoT Tutorial – Develops a small program on the Raspberry Pi and teaches you remote debugging.
Tutorials
• Distributed OSGi Tutorial (new!) – Develops a simple chat application using Distributed OSGi.
How To
Service Catalog
Patterns
IoT Contest
Rube Goldberg Contraption
clientbrowser server
client
browser
client
serverevent processor
Doing something simple in a complicated way?
Not good marketing!
Racing?
Too fast for positioning
[ { "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",
<sdk>
Pi1 Pi2 Pi3
Cloud
Distributed OSGi
• Prosyst mPRM • Paremus Service Fabric
Hardware
Emulator
Con- troller
Hardware
The X-Ray Machine ate our RFID readers
Burb!!
Q&A