Top Banner
Defining the Open Stack for IoT Ian Skerrett Eclipse Foundation @ianskerrett [email protected]
34
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Defining an Open IoT Stack - Presented at IoT World 2015

Defining the Open Stack for IoT

Ian SkerrettEclipse Foundation

@[email protected]

Page 2: Defining an Open IoT Stack - Presented at IoT World 2015

04/15/2023 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

2

Open Wins

Page 3: Defining an Open IoT Stack - Presented at IoT World 2015

04/15/2023 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

3

Start-up led by Tim Berners-Lee Launched to take on AOL and Compuserve Giants

May 1990

Page 4: Defining an Open IoT Stack - Presented at IoT World 2015

04/15/2023 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

4

Open Wins

Page 5: Defining an Open IoT Stack - Presented at IoT World 2015

04/15/2023 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

5

MQTT – Open Wins

Page 6: Defining an Open IoT Stack - Presented at IoT World 2015

04/15/2023 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

6

Page 7: Defining an Open IoT Stack - Presented at IoT World 2015

IoT Developer Enablement

Page 8: Defining an Open IoT Stack - Presented at IoT World 2015

04/15/2023 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

8

Developers Build Cool Stuff

Page 9: Defining an Open IoT Stack - Presented at IoT World 2015

04/15/2023 IoT Developer Survey 2015 - Copyright Eclipse Foundation

9

Individual Experience with IoT

Development of IoT solutions for my company

33%

Researching IoT for company14%Develop IoT solutions in my

personal time15%

Learning about IoT in my personal time

22%

No experience9%

Other (please specify)7%

Page 10: Defining an Open IoT Stack - Presented at IoT World 2015

04/15/2023 IoT Developer Survey 2015 - Copyright Eclipse Foundation

10

Majority Using Open Source TodayOpen source is not allowed in any part of

our IoT solution, 2.4% Open source is not allowed on the device, but allowed on the server-side; 2.4%

Other (please specify); 2.7%

Don’t know; 11.5%

Open source is used, and we contribute bug fixes to open

source projects, 21.7%

Open source is used, but we do not partic-ipate or contribute to open source

projects, 26.8%

Open source is used, and we have developers who work on open

source projects, 32.5%

Page 11: Defining an Open IoT Stack - Presented at IoT World 2015

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

11

Connecting and Managing Things

Page 12: Defining an Open IoT Stack - Presented at IoT World 2015

IoT Architectures

New and Existing Devices

IoT Gateways Network/Wireless Services

Backend Systems

Page 13: Defining an Open IoT Stack - Presented at IoT World 2015

Open Solutions

New and Existing Devices

IoT Gateways Network/Wireless Services

Backend Systems

Open Standards and Open Source to Connect and Manage

Page 14: Defining an Open IoT Stack - Presented at IoT World 2015

Connect and Manage with Open Standards

New and Existing Devices

CoAP

LWM2M

Many Open Standards

Page 15: Defining an Open IoT Stack - Presented at IoT World 2015

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: Defining an Open IoT Stack - Presented at IoT World 2015

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 17: Defining an Open IoT Stack - Presented at IoT World 2015

Lightweight M2M

- Configure- Update- Manage- Monitor

WakaamaLWM2M Client

(C/C++)

LeshanLWM2M Server

(Java)

Page 18: Defining an Open IoT Stack - Presented at IoT World 2015

IoT Gateway Services

IoT Gateways

Java and OSGi

Page 19: Defining an Open IoT Stack - Presented at IoT World 2015

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 20: Defining an Open IoT Stack - Presented at IoT World 2015

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 21: Defining an Open IoT Stack - Presented at IoT World 2015

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 (IDE,

etc.)

Open & Commercial Hardware

Page 22: Defining an Open IoT Stack - Presented at IoT World 2015

Open IoT Stack

New and Existing Devices

IoT Gateways Network/Wireless Services

Backend Systems

Open IoT Stack

Page 23: Defining an Open IoT Stack - Presented at IoT World 2015

Commercial Ecosystem

Open IoT Stack for Java

Page 24: Defining an Open IoT Stack - Presented at IoT World 2015

More Info: iot.eclipse.org

Page 25: Defining an Open IoT Stack - Presented at IoT World 2015

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

25

Sandbox Servershttp://iot.eclipse.org/sandbox.html

Page 26: Defining an Open IoT Stack - Presented at IoT World 2015

Get Involved

• Download and use our software• Provide feedback to the projects• Start an open source IoT project• Join the Eclipse IoT Working Group

Page 27: Defining an Open IoT Stack - Presented at IoT World 2015

Questions@ianskerrett

[email protected]

iot.eclipse.org

Page 28: Defining an Open IoT Stack - Presented at IoT World 2015

Backup

Page 29: Defining an Open IoT Stack - Presented at IoT World 2015

Intranet of Things for Home Automation

Page 30: Defining an Open IoT Stack - Presented at IoT World 2015

Event Bus

Persistence Services

Automation Logic

User Interfaces

Item Registry

Hue Binding

Samsung Binding

Bluetooth Binding

Sonos Binding

Hue

Blue

toot

h

Sam

sung

Sono

s

...

Page 31: Defining an Open IoT Stack - Presented at IoT World 2015

IoT Solutions: SCADA

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

Page 32: Defining an Open IoT Stack - Presented at IoT World 2015

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 JavaClient for .NET using IKVMPartially: JSON, WebService

† SNMP and OPC from openSCADA* included in next release 0.2.0** planned for 0.3.0

Page 33: Defining an Open IoT Stack - Presented at IoT World 2015

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 (IDE,

etc.)

Open & Commercial Hardware

Page 34: Defining an Open IoT Stack - Presented at IoT World 2015

IoT Solutions – Home Automation