The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS &...

32
The Three Software Stacks Required for IoT Benjamin Cabé Eclipse Foundation @kartben

Transcript of The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS &...

Page 1: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

The Three Software Stacks Required for IoT

Benjamin CabéEclipse Foundation

@kartben

Page 2: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

IoT?

ApplicationsCollect, exchange

& analyze data

Page 3: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

IoT?

Applications

Sensing / ActuatingInteract with the physical world

Collect, exchange & analyze data

Page 4: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

IoT?

Applications

Networking & Data Communications

Sensing / ActuatingInteract with the physical world

Bridge the physical world to the Internet

Collect, exchange & analyze data

Page 5: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

Typical IoT Architecture

Devices(sensors & actuators)

Applications

telemetry

commands

telemetry

commands

IoT Cloud Platform

Gateways

Page 6: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

Role & Characteristics

DEVICE GATEWAY / SMART OBJECT CLOUD PLATFORM

constrained

low-power

specialized

connectivity

messaging

edge computing

scale out

integration

data analytics

Page 7: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

Asset Tracking

Page 8: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

The solution

Page 9: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

TOOLS & SDKsONTOLOGIESSECURITY

CONSTRAINED DEVICES

Hardware Abstraction Layer (HAL)

OS / RTOS

CommunicationR

emot

e M

anag

emen

tField protocols IoT protocols

IOT CLOUD PLATFORM

Con

nec

tivi

ty

Mes

sag

e R

outi

ng

OS / PaaS

Device Management

Data Management

Event Management, Analytics & UI

Device Registry

Application Enablement

GATEWAYS AND SMART DEVICES

Rem

ote

Man

agem

ent

Application Runtime

Data Management & Messaging

OS / RTOS

Connectivity

Field protocols IoT protocols

Network Management

The 3 IoT Software Stacks

Page 10: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

Characteristics of Open IoT Stacks

loosely coupled

modular

platform-independant

based on open standards

API

Page 11: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

Eclipse IoT

Page 12: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

Eclipse IoT Community

2.4 30 280+ 140Kmillion

lines of codeprojects developers monthly

visitors

Page 13: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

Eclipse IoT…

from building blocks … to stacks

Page 14: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

The 3 IoT Software StacksTOOLS & SDKsONTOLOGIESSECURITY

CONSTRAINED DEVICES

Hardware Abstraction Layer (HAL)

OS / RTOS

CommunicationR

emot

e M

anag

emen

tField protocols IoT protocols

IOT CLOUD PLATFORM

Con

nec

tivi

ty

Mes

sag

e R

outi

ng

OS / PaaS

Device Management

Data Management

Event Management, Analytics & UI

Device Registry

Application Enablement

GATEWAYS AND SMART DEVICES

Rem

ote

Man

agem

ent

Application Runtime

Data Management & Messaging

OS / RTOS

Connectivity

Field protocols IoT protocols

Network Management

Page 15: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

Hardware Abstraction Layer (HAL)

OS / RTOS

CommunicationR

emot

e M

anag

emen

tField protocols IoT protocols

OS Stack for IoT Devices

CONSTRAINED DEVICES

C implementation of OMA LWM2M

Portable on any POSIX-compliant system

C implementation of MQTT 3.1.1

< 2,000 lines of C ANSI code

JAVA API for MCUs

“Android for IoT”

Page 16: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

OS Stack for IoT Gateways

OSGi implementation

Native support for MQTT

Serial, RS-485, BLE, MODBUS, OPC-UA, CAN Bus, …

NAT, firewall, modem configuration, …

Remote Management over MQTT

Milo

GATEWAYS AND SMART DEVICES

R

emot

e M

anag

emen

t

Application Runtime

Data Management & Messaging

OS / RTOS

Connectivity

Field protocols IoT protocols

Network Management

Page 17: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

GATEWAYS AND SMART DEVICES

R

emot

e M

anag

emen

t

Application Runtime

Data Management & Messaging

OS / RTOS

Connectivity

Field protocols IoT protocols

Network Management

OS Stack for Home Automation

OSGi implementation

Rule engine to orchestrate “things”

Home automation protocols such asBelkin WeMo, LIFX, Philips Hue, …

Remote firmware update through the GW

Web UI and API for remote control

Page 18: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

OS Stack for IoT Cloud

Page 19: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

Device Management

Device Registry

OS Stack for IoT Cloud

OMA LWM2M implementation in Javabuilt on top of Eclipse Californium (CoAP)

Manage software upgrade campaignsindependently of the actual DM protocol

IOT CLOUD PLATFORM

Page 20: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

Eclipse hawkBit

Page 21: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

IOT CLOUD PLATFORM

Con

nec

tivi

ty

Mes

sag

e R

outi

ng

OS / PaaS

Device Management

Data Management

Event Management, Analytics & UI

Device Registry

Application Enablement

OS Stack for IoT Cloud Platform

Abstract the actual communication protocols via “protocol adapters”

Deploy on:

An Integration Platform for IoT Services

NoSQL data store

REST API / Digital Twin

Page 22: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

Eclipse hono

Page 23: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

Eclipse IoT Adoption

Page 24: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

Eclipse IoT Programs

Virtual IoTOpen

IoT ChallengeIoT

MarketplaceTestbeds

Page 25: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

One more thing…

Page 26: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

Eclipse Enterprise for Java (EE4J)Moving Java EE to Eclipse Foundation

Technology

✓✓✓✓

Sponsorship

Page 27: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

•••

–––

••

Eclipse Enterprise for Java (EE4J)Project Overview

✓✓✓✓

Page 28: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

● Java-based Machine Learning Framework○ Toolkit for building, training and deploying Neural Networks

● Distributed training○ GPU or Hadoop/Spark

● Use cases:○ network intrusion detection, predictive maintenance,

recommender systems in e-commerce, image recognition, …

Eclipse Deeplearning4j

Page 29: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

Join us!

2.4 30* 280+ 140Kmillion

lines of codeprojects developers monthly

visitors

* and counting!

https://iot.eclipse.org

Page 30: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

● Check out the projects○ Contribute ideas, bug fixes, use cases…

● Participate on the mailing lists

● Virtual IoT Meetup○ https://www.meetup.com/virtual-iot

● Propose your project!

Join us!

Page 31: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

IoT Developer Survey

https://goo.gl/zidHso

Page 32: The Three Software Stacks Required for IoT · The 3 IoT Software Stacks SECURITY ONTOLOGIES TOOLS & SDKs CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication

Thank you!

@[email protected]

https://blog.benjamin-cabe.com