24
OSGi for IoT OSGi for IoT Tim Verbelen iMinds – Ghent University Invited Researcher OSGi Alliance

OSGi for IoT: the good, the bad and the ugly - Tim Verbelen

Embed Size (px)

Citation preview

OSGi for IoTOSGi for IoT

Tim Verbelen

iMinds – Ghent UniversityInvited Researcher OSGi Alliance

IoT

4

CONNECT THINGS TO CLOUD

5

CONNECT THINGS TO CLOUD

Gateway

CoAP

6

HOW OSGi HELPS?

Gateway

CoAP

7

1. SERVER AS WELL AS EMBEDDED

Gateway

CoAP

OSGi

OSGi

8

2. MODULAR DEVICE ABSTRACTION

Gateway

CoAP

OSGi

OSGi

Device Abstraction Layer

EnOcean Hue Z-Wave ZigBee

9

CoAP

3. REMOTE SERVICES

GatewayOSGi

OSGi

Device Abstraction Layer

EnOcean Hue Z-Wave ZigBee

(Distributed)EventAdmin

RemoteServices

RFP 177 – IoT Protocols

BUT...

OSGi is hard?

11

OSGi enRoute“OSGi as it should be”

● Programming model using DS

● A repository of base APIs and implementation bundles

● Bndtools-based toolchain

● Latest OSGi R6 features

● New and useful extra services (i.e. configurer, scheduler, DTO conversion, REST, JSONRPC, Server Sent Events, …)

● Remote Launcher

http://enroute.osgi.org/

12

SMART HOME DEMO

GatewayDYAMAND

Dynamic, Adaptive Management of Networks and Devices

A framework for distributed OSGi

http://aiolos.intec.ugent.be

http://dyamand.intec.ugent.be

enRoute

WAIT...

How is this smart?

14

DIANNE: MODULARIZED ANN

Sen

sor

Inpu

ts

Act

uato

r O

utp

uts

An OSGi-based framework for artifical neural networks

15

ORANGE MACHINE

16

ORANGE MACHINE

Raspberry Pi B+/2

Philips Hue

USB Camera

Motion sensor

17

ORANGE MACHINE

USB CameraRobot Arm

OpenStack Private Cloud

6 core Intel Xeon16GB RAM

18

ORANGE MACHINE

...zzZZ

19

ORANGE MACHINE

nVidia Jetson TK1192 cuda cores

20

ORANGE MACHINE (Part 2)

21

THE UGLY

● OSGi-agnostic libraries ...

… that try to solve address similar problems as OSGi

22

THE BAD

● No open source implementations available for all specifications (i.e. DAL, EnOcean, ...)

● No standard interfaces / data format for representing things

● A lot of wrong use of OSGi

23

THE GOOD

● enRoute

● IoT Expert Group● Async event streams● Device abstraction layer● IoT Protocols

● OSGi is perfectly suited for IoT● Runs both on embedded as server● Modular device abstraction● Transparent remote services

24

CHECK IT OUT● Firefly – IoT dashboard UI

https://github.com/ibcn-cloudlet/firefly

● AIOLOS – Framework for distributed OSGi http://aiolos.intec.ugent.be https://github.com/ibcn-cloudlet/aiolos

● DYAMAND – Device discovery and abstraction http://dyamand.intec.ugent.be

● OSGi enRoute – OSGi as it should be http://enroute.osgi.org

● Concierge – A lightweight OSGi framework http://eclipse.org/concierge

QUESTIONS? QUESTIONS?