Eclipse IoTState of the Union
Benjamin Cabé, Eclipse Foundation@kartben
Copyright © 2017 The Eclipse Foundation. All Rights Reserved
Typical IoT Architecture
Devices(sensors & actuators)
Applications
telemetry
commands
telemetry
commands
IoT Cloud Platform
Gateways
In reality…
In reality…
Internet of… Silos!
Copyright © 2017 The Eclipse Foundation. All Rights Reserved
Eclipse IoT
Copyright © 2017 The Eclipse Foundation. All Rights Reserved
Eclipse IoT Community
2.4 30* 250+ 140Kmillion
lines of codeprojects developers monthly
visitors
Copyright © 2017 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
Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben
Hardware Abstraction Layer (HAL)
OS / RTOS
CommunicationR
emot
e M
anag
emen
tField protocols IoT protocols
CONSTRAINED DEVICES
OS Stack for IoT DevicesOS Stack for IoT Devices
JAVA API for MCUs
“Android for IoT”
High performance JVM
Fast, small, … open source!
GPU acceleration
Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben
Daytrader 3 Benchmark
● 60% less footprint after startup
● 40% less footprint during ramp up
● 2× faster startup time
● Comparable throughput
See https://www.eclipse.org/openj9/oj9_performance.html
vs.
Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben
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
Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben
Java VM
OSGi Application Container
Device Abstraction
Gateway Basic Services
Network ConfigurationNetwork Management Field Protocols
Connectivity and Delivery
Ad
min
istr
atio
n G
UI
Op
era
tio
n &
M
anag
em
en
t
Linux
Hardware
App 1 App 2 App n. . . . Applications
Eclipse Kura
Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben
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
Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben
OS Stack for IoT Cloud
Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben
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
Copyright © 2017 The Eclipse Foundation. All Rights Reserved
Eclipse hawkBit
Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben
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
Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben
Eclipse hono
Copyright © 2017 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
VortoKeti
tinyDTLS
Milo
Copyright © 2017 The Eclipse Foundation. All Rights Reserved
Eclipse IoT Adoption
Copyright © 2017 The Eclipse Foundation. All Rights Reserved
Eclipse IoT Programs
Virtual IoTOpen
IoT ChallengeIoT
MarketplaceTestbeds
Asset Tracking
Participants
The solution
What is available?
● https://iot.eclipse.org/testbeds/asset-tracking ○ Webpage describing the solution (architecture, partners’
contributions)
○ Source code (EPL)■ Gateway code (Eclipse Kura)
■ Web dashboard (AngularJS app using Kapua API, running on OpenShift)
■ Data Simulator
■ https://github.com/eclipselabs/eclipseiot-testbed-assettracking
○ Live demo system■ https://iot.eclipse.org/testbeds/asset-tracking/demo
Integration
Integration?
Integration!
Copyright © 2017 The Eclipse Foundation. All Rights Reserved
One more thing…
Copyright © 2017 The Eclipse Foundation. All Rights Reserved
Eclipse Enterprise for Java (EE4J)Moving Java EE to Eclipse Foundation
Technology
✓ Agile
✓ Flexible
✓ Open
✓ Compatible
Community
and
Vendors
Sponsorship
Join the discussion at [email protected]
Enterprise for Java
Copyright © 2017 The Eclipse Foundation. All Rights Reserved
• Open process
• Collaboration: community, vendors, Eclipse
• Transition to EE4J in CY2018
– GlassFish 5.0/Java EE 8 RIs, TCKs, product docs
– Process for existing and new specs
– Compatibility process
• Technology evolution, MicroProfile integration
• Oracle Java EE Support through Java EE 8
– Continuity for Java EE community
Eclipse Enterprise for Java (EE4J)Project Overview
✓ Agile
✓ Flexible
✓ Open
✓ Compatible
Enterprise for Java
Copyright © 2017 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
Copyright © 2017 The Eclipse Foundation. All Rights Reserved
Join us!
2.4 30* 250+ 110Kmillion
lines of codeprojects developers monthly
visitors
* and counting!
https://iot.eclipse.org
Copyright © 2017 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!