Eclipse IoT

47
Connect and Manage Devices Ian Skerrett Eclipse Foundation

Transcript of Eclipse IoT

Page 1: Eclipse IoT

Connect and Manage Devices

Ian Skerrett

Eclipse Foundation

Page 2: Eclipse IoT

Creating the Open Source

Building Blocks for IoTIan Skerrett

Eclipse Foundation

Page 3: Eclipse IoT

Open Wins

4/11/2016Copyright (c) 2013, Eclipse Foundation, Inc. Made available

under the Eclipse Public License 1.0 3

Page 4: Eclipse IoT

Open Wins

4/11/2016Copyright (c) 2013, Eclipse Foundation, Inc. Made available

under the Eclipse Public License 1.0 4

Page 5: Eclipse IoT

MQTT – Open Wins

4/11/2016Copyright (c) 2013, Eclipse Foundation, Inc. Made available

under the Eclipse Public License 1.0 5

Page 6: Eclipse IoT

4/11/2016Copyright (c) 2013, Eclipse Foundation, Inc. Made available

under the Eclipse Public License 1.09

Open Hardware Is a Key Enabler

Page 7: Eclipse IoT

4/11/2016 IoT Developer Survey 2015 - Copyright Eclipse Foundation 10

18%

28%36%

11%

7%

HAVE YOU EVER USED ANY ACCESSIBLE HARDWARE PLATFORMS LIKE RASPBERRY PI, ARDUINO, BEAGLEBONE, ETC. ?

Yes, my company deploys IoT solutionusing an accessible hardware platform.

Yes, my company prototypes IoT solutionsusing an accessible hardware platform.

Yes, I have experimented with accessiblehardware in my spare time

No, but I intent to experiment withaccessible hardware in the next 6 months.

Never used open hardware.

Page 8: Eclipse IoT

4/11/2016Copyright (c) 2013, Eclipse Foundation, Inc. Made available

under the Eclipse Public License 1.011

Open Source Software Will Be a Key Enabler

Page 9: Eclipse IoT

Innovation

Open Source enables:

• Permissionless innovation

• Innovation through integration

• Far higher levels of experimentation

Page 10: Eclipse IoT

Connect and Manage Devices

Page 11: Eclipse IoT

Vorto

OS at Eclipse IoT

Page 12: Eclipse IoT

IoT Architectures

New and Existing Devices

IoT Gateways Network/Wireless Services

Backend Systems

Page 13: Eclipse IoT

Open Solutions

New and Existing Devices

IoT Gateways Network/Wireless Services

Backend Systems

Open Standards and Open Source to Connect and Manage

Page 14: Eclipse IoT

Connect and Manage with Open Standards

New and Existing Devices

CoAP

LWM2M

Many Open Standards

Page 15: Eclipse IoT

MQTT

- Simple Publish/Subscribe protocol

- Small footprint- Minimal on-the-wire

formal and payload

MQTT Client(Java, JS, C, C++, Python, etc.)

MQTT Client MQTT Broker

MosquittoMQTT Broker

(C Code)

Page 16: Eclipse IoT

MQTT Adoption

Page 17: Eclipse IoT

Messaging Protocol

1.1%

5.4%

6.8%

8.2%

11.1%

11.5%

18.6%

21.5%

53.0%

63.1%

0.0% 10.0% 20.0% 30.0% 40.0% 50.0% 60.0% 70.0%

None

DDS

Don’t know

Proprietary vendor protocol(

AMQP

XMPP

In-house

CoAP

MQTT

HTTP

What general messaging protocols do you use in your IoT solution?

4/11/2016 IoT Developer Survey 2015 - Copyright Eclipse Foundation 26

Page 18: Eclipse IoT

Constrained Application Protocol (CoAP)

• RESTful protocol designed from scratch

• Transparent mapping to HTTP

• Works over UDP• DTLS Security

Californium- CoAP Core- DTLS- CoAP Tools- Java implementations

REST Interface

Page 19: Eclipse IoT

Lightweight M2M

- Standard for device management

- Based on CoAP

Wakaama

Page 20: Eclipse IoT

LWM2M Adoption

Page 21: Eclipse IoT

IoT Gateway Services

IoT Gateways

Java and OSGi

Page 22: Eclipse IoT

Gateways

Page 23: Eclipse IoT

IoT Gateways

• Gateway management• How to manage remote gateways and keep them up to date

• How to manage connectivity

• Manage deployed applications• Gateways become an application container

• Remote configuration

• Remote update

Page 24: Eclipse IoT

Java VM

OSGi Application Container

Device Abstraction

Gateway Basic Services

Network ConfigurationNetwork Management Field

Protocols

Connectivity and Delivery

Ad

min

istr

ati

on

GU

I

Op

era

tio

n &

Ma

na

ge

me

nt

Linux

Hardware

App 1 App 2 App n. . . .

Applications

Page 25: Eclipse IoT

Where we are heading: Open IoT Stack

Connectivity- MQTT- CoAP- LWM2M

IoT Gateway Services- Remote management- Application

management

IoT Applications

IoT Solution Frameworks- Home Automation- SCADA- OM2M

Reporting

Developer Tools

Open & Commercial Hardware

Security- DTLS- DNS-SD- DNS-SEC

Page 26: Eclipse IoT

Home Automation

• Flexible Framework• Based on Java and OSGi

• Huge number of “bindings”:KNX, Nest, Philips HUE, …

Page 27: Eclipse IoT
Page 28: Eclipse IoT

Solutions

• Telco Service Providers• Implementation of oneM2M: OM2M

• Industrial IoT: • Eclipse neoSCADA

• Support Siemens S7 PLC, IEC 60870-4-105 • 4DIAC - IEC 61499• Rise V2G - IEC 15118• OPC-UA

• IoT network management: Krikkit• Rules engine for IoT devices• Powering Cisco’s Data in Motion.

Page 29: Eclipse IoT

Eclipse IoT is also...

IoT Server Platform

• Software provisioning

• https://projects.eclipse.org/projects/iot.hawkbit• Uniform service interface for Telemetry and Command &

Uniform service interface for Telemetry and Command & Control

ntrol• https://projects.eclipse.org/projects/iot.hono

Page 30: Eclipse IoT

Vorto: IoT device modeling tools

Page 31: Eclipse IoT

Open IoT Stack

New and Existing Devices

IoT Gateways Network/Wireless Services

Backend Systems

Open IoT Stack

Page 32: Eclipse IoT

Eclipse IoT Community

Page 33: Eclipse IoT

Eclipse IoT today

2 21 150+MLOC projects developers

Page 34: Eclipse IoT

Commercial Ecosystem

Open IoT Stack for Java

Page 35: Eclipse IoT

80 teams $20K+ in prizes

http://iot.eclipse.org/open-iot-challenge

Page 36: Eclipse IoT

Virtual IoT Meetup

Bi-weekly webinars with IoT experts

800 members

http://www.meetup.com/Virtual-IoT

Page 37: Eclipse IoT

More Info: iot.eclipse.org

Page 38: Eclipse IoT

Sandbox Servers

http://iot.eclipse.org/sandbox.html

Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.0

47

Page 39: Eclipse IoT

Get Involved!

• Open (or fix!) bugs

• Request new features

• Write articles, tutorials

• Participate on the mailing lists

• Share your success stories

• Propose your project!

Page 40: Eclipse IoT

Questions

@[email protected]

Page 41: Eclipse IoT

Backup

Page 42: Eclipse IoT

IoT Solutions – Home Automation

Page 43: Eclipse IoT

Intranet of Things for Home Automation

Page 44: Eclipse IoT

Event Bus

Persistence ServicesAutomation Logic

User InterfacesItem Registry

Hue Binding

Samsung Binding

Bluetooth Binding

Sonos Binding

Hue

Blu

etoo

th

Sam

sung

Son

os

...

Page 45: Eclipse IoT

IoT Solutions: SCADA

• SCADA (Supervisory Control and Data Acquisition) is defined as the monitoring and control of technical processes by means of a computer system

Page 46: Eclipse IoT

Hierarchical Architecture

Local control centers

Regional control centers

Global control center

Devices, like Dataloggers

PLCs, Beaglebone,

Raspberry PI, ...

Page 47: Eclipse IoT

Protocols & Interoperability Drivers

Modbus (master & slave)

Siemens S7 PLC

IEC 60870-4-105 (master & slave) *

OPC DA 2 (client) †

OPC UA (client & server) **

SNMP †, JDBC, Shell

Building blocks for more

Eclipse SCADAClient and server for Java

Client for .NET using IKVM

Partially: JSON, WebService

† SNMP and OPC from openSCADA

* included in next release 0.2.0

** planned for 0.3.0