creating the open source building blocks for iot

56
Connect and Manage Devices Ian Skerrett Eclipse Foundation

Upload: ian-skerrett

Post on 21-Apr-2017

1.753 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: Creating the open source building blocks for IoT

Connect and Manage DevicesIan Skerrett

Eclipse Foundation

Page 2: Creating the open source building blocks for IoT

Creating the Open Source Building Blocks

for IoTIan Skerrett

Eclipse Foundation

Page 3: Creating the open source building blocks for IoT

Open Wins

05/02/2023 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 3

Page 4: Creating the open source building blocks for IoT

Open Wins

05/02/2023 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 4

Page 5: Creating the open source building blocks for IoT

MQTT – Open Wins

05/02/2023 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 5

Page 6: Creating the open source building blocks for IoT

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

6

Openness Attracts Developers

Page 7: Creating the open source building blocks for IoT

IoT Developer Enablement

Page 8: Creating the open source building blocks for IoT

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

8

Developers Build Cool Stuff

Page 9: Creating the open source building blocks for IoT

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

9

Open Hardware Is a Key Enabler

Page 10: Creating the open source building blocks for IoT

05/02/2023 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 solution us-ing an accessible hardware platform.Yes, my company prototypes IoT solutions using an accessible hardware platform.Yes, I have experimented with acces-sible hardware in my spare timeNo, but I intent to experiment with ac-cessible hardware in the next 6 months.Never used open hardware.

Page 11: Creating the open source building blocks for IoT

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

11

Open Source Software Will Be a

Key Enabler

Page 12: Creating the open source building blocks for IoT

05/02/2023 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 12

Page 13: Creating the open source building blocks for IoT

Innovation

Open Source enables:• Permissionless innovation• Innovation through integration• Far higher levels of

experimentation

Page 14: Creating the open source building blocks for IoT

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

14

Open source makes it easier for developers

Page 15: Creating the open source building blocks for IoT

Operating Systems

Page 16: Creating the open source building blocks for IoT

05/02/2023 IoT Developer Survey 2015 - Copyright Eclipse Foundation

16

Operating System

RIOT

TinyOS

mbed

Don't know

Contiki

FreeRTOS

Windows Embedded

Other (please specify)

No OS / Bare-metal

Linux

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

2.1%

6.1%

6.8%

7.1%

7.5%

11.4%

11.4%

11.4%

20.0%

78.2%

Which operating systems do you use for your IoT devices?

Page 17: Creating the open source building blocks for IoT

Data & Analytics

Page 18: Creating the open source building blocks for IoT

Interoperability

Page 19: Creating the open source building blocks for IoT

Connect and Manage Devices

Page 20: Creating the open source building blocks for IoT

Vorto

OS at Eclipse IoT

Page 21: Creating the open source building blocks for IoT

IoT Architectures

New and Existing Devices

IoT Gateways Network/Wireless Services

Backend Systems

Page 22: Creating the open source building blocks for IoT

Open Solutions

New and Existing Devices

IoT Gateways Network/Wireless Services

Backend Systems

Open Standards and Open Source to Connect and Manage

Page 23: Creating the open source building blocks for IoT

Connect and Manage with Open Standards

New and Existing Devices

CoAP

LWM2M

Many Open Standards

Page 24: Creating the open source building blocks for 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 25: Creating the open source building blocks for IoT

MQTT Adoption

Page 26: Creating the open source building blocks for IoT

05/02/2023 IoT Developer Survey 2015 - Copyright Eclipse Foundation

26

Messaging Protocol

NoneDDS

Don’t knowProprietary vendor protocol(

AMQPXMPP

In-houseCoAP

MQTTHTTP

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

1.1%5.4%

6.8%8.2%

11.1%11.5%

18.6%21.5%

53.0%63.1%

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

Page 27: Creating the open source building blocks for 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 28: Creating the open source building blocks for IoT

Lightweight M2M

- Standard for device management

- Based on CoAP

Wakaama

Page 29: Creating the open source building blocks for IoT

LWM2M Adoption

Page 30: Creating the open source building blocks for IoT

IoT Gateway Services

IoT Gateways

Java and OSGi

Page 31: Creating the open source building blocks for IoT

Gateways

Page 32: Creating the open source building blocks for 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 33: Creating the open source building blocks for IoT

Java VM

OSGi Application Container

Device Abstraction

Gateway Basic Services

Network ConfigurationNetwork Management Field

Protocols

Connectivity and Delivery

Adm

inis

trat

ion

GU

I

Ope

ratio

n &

Man

agem

ent

Linux

Hardware

App 1 App 2 App n. . . .

Applications

Page 34: Creating the open source building blocks for 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 35: Creating the open source building blocks for IoT

Home Automation

• Flexible Framework• Based on Java and OSGi

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

Page 36: Creating the open source building blocks for IoT
Page 37: Creating the open source building blocks for 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 38: Creating the open source building blocks for 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 39: Creating the open source building blocks for IoT

Vorto: IoT device modeling tools

Page 40: Creating the open source building blocks for IoT

Open IoT Stack

New and Existing Devices

IoT Gateways Network/Wireless Services

Backend Systems

Open IoT Stack

Page 41: Creating the open source building blocks for IoT

Eclipse IoT Community

Page 42: Creating the open source building blocks for IoT

Eclipse IoT today

2 21150+

MLOC projects developers

Page 43: Creating the open source building blocks for IoT

Commercial Ecosystem

Open IoT Stack for Java

Page 44: Creating the open source building blocks for IoT

80 teams $20K+ in prizes

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

Page 45: Creating the open source building blocks for IoT

Virtual IoT Meetup

Bi-weekly webinars with IoT experts800 members

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

Page 46: Creating the open source building blocks for IoT

More Info: iot.eclipse.org

Page 47: Creating the open source building blocks for IoT

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

47

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

Page 48: Creating the open source building blocks for 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 49: Creating the open source building blocks for IoT

Questions

@[email protected]

Page 50: Creating the open source building blocks for IoT

Backup

Page 51: Creating the open source building blocks for IoT

IoT Solutions – Home Automation

Page 52: Creating the open source building blocks for IoT

Intranet of Things for Home Automation

Page 53: Creating the open source building blocks for IoT

Event Bus

Persistence Services

Automation LogicUser Interfaces

Item Registry

Hue Binding

Samsung Binding

Bluetooth Binding

Sonos Binding

Hue

Blue

toot

h

Sam

sung

Sono

s

...

Page 54: Creating the open source building blocks for 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 55: Creating the open source building blocks for IoT

Hierarchical Architecture

Local control centers

Regional control centers

Global control center

Devices, like DataloggersPLCs, Beaglebone, Raspberry PI, ...

Page 56: Creating the open source building blocks for 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 JavaClient for .NET using IKVMPartially: JSON, WebService

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