Open Source IoT at Eclipse: Standards,
Frameworks and Tools for IoT Developers
Ian Skerrett
VP Marketing,
Eclipse Foundation
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.02
Connect and Manage
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.03
silos
lock-in
http://www.flickr.com/photos/photosightfaces/8152791780/
4
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.0
http://www.flickr.com/photos/brunauto/5687363705
fragmentation
5
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.0
http://www.flickr.com/photos/90514086@N00/952121271/ http://www.flickr.com/photos/cyberslayer/952121271
complexity
6
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.0
It Is Complicated!
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.07
OEM
Enterprise
Applications
Devices
Vendor 1
?
?
?
?
?
Wireless Services
Vendor 2
Backend Server
Vendor 3
Developer
A
Developer
B
Developer
C
Machine
ERP
IoT Gateways
Open Wins
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.08
Open Ecosystem IoT
Third Party Ecosystem
Open IoT application
framework and runtimes
Open IoT communication
protocols
Internet of
Things
Open IoT
development tools
…
$ $
$ $
$ $
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.09
Developer Engagement
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.010
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.011
Open Hardware
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.012
protocolsframeworks tools
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.013
Connect and Manage
Where we are today
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.014
Moquette
Concierge
Krikkit
Wakaama
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.015
Connect
Connect to Different Types of Things
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.016
CoAP
Lightweight
M2M
ETSi M2M
Protocols
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.017
Moquette
Wakaama
• Publish/Subscribe protocol
• Works over TCP
• Lightweight, well suited for use cases where power management and
network latency is important
• Eclipse implementations
– Paho: Client implementation
– Mosquitto: C/C++ MQTT broker
– Moquette: Java MQTT Broker
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.018
CoAP
• RESTful style interface
• HTTP considered to verbose
• Works over UDP
• Discovery
• Multicast
• DTLS
• Eclipse Implementation
– Calformium: Java implementation of CoAP
– Ponte: bridge between CoAP and MQTT
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.019
LWM2M
• Device management
– Configure the device
– Update firmware
– Monitor
• LWM2M is built on-top of CoAP
• Eclipse implementation
– Wakkamma: C library for LWM2M
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.020
Sandbox Servers
http://iot.eclipse.org/sandbox.html
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.021
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.022
Manage
- Java and OSGi based framework
for IoT and M2M Gateways
- Java and OSGi based framework
for home automation integration
- Java and OSGi based framework
for building SCADA systems
- Bridge between HTTP, MQTT and
CoAP (JavaScript and node.js)
- Rules for IoT edge services
frameworks
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.023
Krikkit
IoT Gateways
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.024
OEM
Enterprise
Applications
Devices
Vendor 1
?
?
?
?
?
Wireless Services
Vendor 2
Backend Server
Vendor 3
Developer
A
Developer
B
Developer
C
Machine
ERP
IoT Gateways
IoT Gateway Services
Java VM
OSGi Application Container
Device Abstraction
Gateway Basic Services
Network Configuration
Network Management Field
Protocols
Connectivity and Delivery
AdministrationGUI
Operation&
Management
Linux
Hardware
App 1 App 2 App n. . . .
Applications
•Built-in OSGi Services for
IoT Apps
•Software Modularity
•Configuration Management
•Application Management
•Device Abstraction
•Application Portability
•Integrated Device Cloud
features
Ponte broker
CoAP Network
Ponte – Bridge for IoT
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.026
MQTT Network
SCADA (Supervisory Control and Data
Acquisition) is defined as the monitoring
and control of technical processes by
means of a computer system
Hierarchical Architecture
Local control centers
Regional control centers
Global control center
Devices, like Dataloggers
PLCs, Beaglebone,
Raspberry PI, ...
Eclipse SCADA Features
 Monitoring
 Level Alarms
 Value Alarms
 Security
 Rule based
 PKI (USB Tokens)
 Server decides
 Support for many industrial protocols
 - Modbus, Siemens S7 PLC, IEC 60870-4-
105, OPC, SNMP
• Data Processing
– Scaling & Rounding
– Manual override
– Blocking
– Logging
• Scripts & Formulas
• Event Archive
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.031
TCP/UDP
MiLight
Event Bus
Persistence ServicesAutomation Logic
User Interfaces
Item Registry
Hue
Binding
Samsung
Binding
Bluetoot
h
Binding
Sonos
Binding
Hue
Bluetooth
Samsung
Sonos
...
• To realize the potential of Internet of things (IoT), we need to
program policies to listen to and detect events and then to react
to them.
• To enable IoT applications, we need
• Data Acquisition and /or analytics at the edge: In particular, we need content-
centric rule application and event detection at the edge
• A programmatic model / framework to make it easy to apply the rules and
policies at scale over the sensor space.
Sensor Gateway/ Router
Rules Engine
Network Krikkit API
Krikkit API
MQTT
User Program sends JSON message
Our focus is on developing an open
API to register rules and policies to
obtain sensor data of interest.
HTTP + JSON
IPv6 BT-LE
It Is Complicated!
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.036
Software to
make it easier
OEM
Enterprise
Applications
Devices
Vendor 1
?
?
?
?
?
Wireless Services
Vendor 2
Backend Server
Vendor 3
Developer
A
Developer
B
Developer
C
Machine
ERP
IoT Gateways
Open Ecosystem for IoT
Third Party Ecosystem
Open IoT application
framework and runtimes
Open IoT communication
protocols
Internet
of
Things
Open IoT
development tools
…
Next Steps?
1. Join the community
2. Download project and try it out
3. Use the sandbox servers
4. Contribute feedback to a project
5. Propose your own project
6. Join the Eclipse IoT Working Group
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.038
Questions?
Ian.skerrett@eclipse.org
@ianskerrett
http://iot.eclipse.org/
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.039

Open Source IoT at Eclipse

  • 1.
    Open Source IoTat Eclipse: Standards, Frameworks and Tools for IoT Developers Ian Skerrett VP Marketing, Eclipse Foundation
  • 2.
    Copyright (c) 2014Eclipse Foundation, licensed under the EPL-1.02 Connect and Manage
  • 3.
    Copyright (c) 2014Eclipse Foundation, licensed under the EPL-1.03 silos
  • 4.
  • 5.
  • 6.
  • 7.
    It Is Complicated! Copyright(c) 2014 Eclipse Foundation, licensed under the EPL-1.07 OEM Enterprise Applications Devices Vendor 1 ? ? ? ? ? Wireless Services Vendor 2 Backend Server Vendor 3 Developer A Developer B Developer C Machine ERP IoT Gateways
  • 8.
    Open Wins Copyright (c)2014 Eclipse Foundation, licensed under the EPL-1.08
  • 9.
    Open Ecosystem IoT ThirdParty Ecosystem Open IoT application framework and runtimes Open IoT communication protocols Internet of Things Open IoT development tools … $ $ $ $ $ $ Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.09
  • 10.
    Developer Engagement Copyright (c)2014 Eclipse Foundation, licensed under the EPL-1.010
  • 11.
    Copyright (c) 2014Eclipse Foundation, licensed under the EPL-1.011
  • 12.
    Open Hardware Copyright (c)2014 Eclipse Foundation, licensed under the EPL-1.012
  • 13.
    protocolsframeworks tools Copyright (c)2014 Eclipse Foundation, licensed under the EPL-1.013 Connect and Manage
  • 14.
    Where we aretoday Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.014 Moquette Concierge Krikkit Wakaama
  • 15.
    Copyright (c) 2014Eclipse Foundation, licensed under the EPL-1.015 Connect
  • 16.
    Connect to DifferentTypes of Things Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.016
  • 17.
    CoAP Lightweight M2M ETSi M2M Protocols Copyright (c)2014 Eclipse Foundation, licensed under the EPL-1.017 Moquette Wakaama
  • 18.
    • Publish/Subscribe protocol •Works over TCP • Lightweight, well suited for use cases where power management and network latency is important • Eclipse implementations – Paho: Client implementation – Mosquitto: C/C++ MQTT broker – Moquette: Java MQTT Broker Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.018
  • 19.
    CoAP • RESTful styleinterface • HTTP considered to verbose • Works over UDP • Discovery • Multicast • DTLS • Eclipse Implementation – Calformium: Java implementation of CoAP – Ponte: bridge between CoAP and MQTT Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.019
  • 20.
    LWM2M • Device management –Configure the device – Update firmware – Monitor • LWM2M is built on-top of CoAP • Eclipse implementation – Wakkamma: C library for LWM2M Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.020
  • 21.
    Sandbox Servers http://iot.eclipse.org/sandbox.html Copyright (c)2014 Eclipse Foundation, licensed under the EPL-1.021
  • 22.
    Copyright (c) 2014Eclipse Foundation, licensed under the EPL-1.022 Manage
  • 23.
    - Java andOSGi based framework for IoT and M2M Gateways - Java and OSGi based framework for home automation integration - Java and OSGi based framework for building SCADA systems - Bridge between HTTP, MQTT and CoAP (JavaScript and node.js) - Rules for IoT edge services frameworks Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.023 Krikkit
  • 24.
    IoT Gateways Copyright (c)2014 Eclipse Foundation, licensed under the EPL-1.024 OEM Enterprise Applications Devices Vendor 1 ? ? ? ? ? Wireless Services Vendor 2 Backend Server Vendor 3 Developer A Developer B Developer C Machine ERP IoT Gateways
  • 25.
    IoT Gateway Services JavaVM OSGi Application Container Device Abstraction Gateway Basic Services Network Configuration Network Management Field Protocols Connectivity and Delivery AdministrationGUI Operation& Management Linux Hardware App 1 App 2 App n. . . . Applications •Built-in OSGi Services for IoT Apps •Software Modularity •Configuration Management •Application Management •Device Abstraction •Application Portability •Integrated Device Cloud features
  • 26.
    Ponte broker CoAP Network Ponte– Bridge for IoT Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.026 MQTT Network
  • 27.
    SCADA (Supervisory Controland Data Acquisition) is defined as the monitoring and control of technical processes by means of a computer system
  • 28.
    Hierarchical Architecture Local controlcenters Regional control centers Global control center Devices, like Dataloggers PLCs, Beaglebone, Raspberry PI, ...
  • 30.
    Eclipse SCADA Features Monitoring  Level Alarms  Value Alarms  Security  Rule based  PKI (USB Tokens)  Server decides  Support for many industrial protocols  - Modbus, Siemens S7 PLC, IEC 60870-4- 105, OPC, SNMP • Data Processing – Scaling & Rounding – Manual override – Blocking – Logging • Scripts & Formulas • Event Archive
  • 31.
    Copyright (c) 2014Eclipse Foundation, licensed under the EPL-1.031
  • 32.
  • 33.
    Event Bus Persistence ServicesAutomationLogic User Interfaces Item Registry Hue Binding Samsung Binding Bluetoot h Binding Sonos Binding Hue Bluetooth Samsung Sonos ...
  • 34.
    • To realizethe potential of Internet of things (IoT), we need to program policies to listen to and detect events and then to react to them. • To enable IoT applications, we need • Data Acquisition and /or analytics at the edge: In particular, we need content- centric rule application and event detection at the edge • A programmatic model / framework to make it easy to apply the rules and policies at scale over the sensor space.
  • 35.
    Sensor Gateway/ Router RulesEngine Network Krikkit API Krikkit API MQTT User Program sends JSON message Our focus is on developing an open API to register rules and policies to obtain sensor data of interest. HTTP + JSON IPv6 BT-LE
  • 36.
    It Is Complicated! Copyright(c) 2014 Eclipse Foundation, licensed under the EPL-1.036 Software to make it easier OEM Enterprise Applications Devices Vendor 1 ? ? ? ? ? Wireless Services Vendor 2 Backend Server Vendor 3 Developer A Developer B Developer C Machine ERP IoT Gateways
  • 37.
    Open Ecosystem forIoT Third Party Ecosystem Open IoT application framework and runtimes Open IoT communication protocols Internet of Things Open IoT development tools …
  • 38.
    Next Steps? 1. Jointhe community 2. Download project and try it out 3. Use the sandbox servers 4. Contribute feedback to a project 5. Propose your own project 6. Join the Eclipse IoT Working Group Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.038
  • 39.