Connect and Manage Devices
Ian Skerrett
Eclipse Foundation
Open Wins
1/26/2016
Copyright (c) 2013, Eclipse Foundation, Inc. Made available
under the Eclipse Public License 1.0 2
Open Wins
1/26/2016
Copyright (c) 2013, Eclipse Foundation, Inc. Made available
under the Eclipse Public License 1.0 3
MQTT – Open Wins
1/26/2016
Copyright (c) 2013, Eclipse Foundation, Inc. Made available
under the Eclipse Public License 1.0 4
1/26/2016
Copyright (c) 2013, Eclipse Foundation, Inc. Made available
under the Eclipse Public License 1.0
5
Openness Attracts Developers
IoT Developer Enablement
1/26/2016
Copyright (c) 2013, Eclipse Foundation, Inc. Made available
under the Eclipse Public License 1.0
7
Developers Build Cool Stuff
1/26/2016
Copyright (c) 2013, Eclipse Foundation, Inc. Made available
under the Eclipse Public License 1.0
8
Open Hardware Is a Key Enabler
Accessible Hardware
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 using an
accessible hardware platform.
Yes, my company prototypes IoT solutions using an
accessible hardware platform.
Yes, I have experimented with accessible hardware in
my spare time
No, but I intent to experiment with accessible
hardware in the next 6 months.
Never used open hardware.
1/26/2016 IoT Developer Survey 2015 - Copyright Eclipse Foundation 9
1/26/2016
Copyright (c) 2013, Eclipse Foundation, Inc. Made available
under the Eclipse Public License 1.0
10
Open Source Will Be a Key Enabler
1/26/2016
Copyright (c) 2013, Eclipse Foundation, Inc. Made available
under the Eclipse Public License 1.0 11
The Money Will Not Be In Software
Source: http://www.bloomberg.com/news/articles/2015-02-05/six-things-technology-has-made-insanely-cheap
Innovation
Open Source enables:
• Permissionless innovation
• Innovation through integration
• Far higher levels of experimentation
1/26/2016
Copyright (c) 2013, Eclipse Foundation, Inc. Made available
under the Eclipse Public License 1.0
15
Open source makes it easier
for developers
Operating Systems
Operating System
2.1%
6.1%
6.8%
7.1%
7.5%
11.4%
11.4%
11.4%
20.0%
78.2%
0.0% 10.0% 20.0% 30.0% 40.0% 50.0% 60.0% 70.0% 80.0% 90.0%
RIOT
TinyOS
mbed
Don't know
Contiki
FreeRTOS
Windows Embedded
Other (please specify)
No OS / Bare-metal
Linux
Which operating systems do you use for your IoT devices?
1/26/2016 IoT Developer Survey 2015 - Copyright Eclipse Foundation 17
Data & Analytics
Interoperability
Connect and Manage Devices
Vorto
OS at Eclipse IoT
IoT Architectures
New and Existing
Devices
IoT Gateways Network/Wireless
Services
Backend Systems
Open Solutions
New and Existing
Devices
IoT Gateways Network/Wireless
Services
Backend Systems
Open Standards and Open Source to Connect and Manage
Connect and Manage with Open Standards
New and Existing Devices
CoAP
LWM2M
Many Open Standards
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
Mosquitto
MQTT Broker
(C Code)
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
Lightweight M2M
- Standard for device
management
- Based on CoAP
Wakaama
Secure Service Discovery
Tiaki
Leveraging DNS-SEC and DNS-
SD for retrieving a device
configuration parameter, or
its public key for establishing
secured communications
IoT Gateway Services
IoT Gateways
Java and OSGi
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
Where we are heading: Open IoT Stack
Java VM
Connectivity
- MQTT
- CoAP
- LWM2M
IoT Gateway Services
- Remote management
- Application
management
IoT Applications
IoT Solution Frameworks
- Home Automation
- SCADA
- OM2M
Reporting
OSGi Runtime (Concierge)
Connectivity
- MQTT
- CoAP
- LWM2M
Alternative
Languages
Developer
Tools
Open & Commercial Hardware
Security
- DTLS
- DNS-SD
- DNS-SEC
Solutions
• Home Automation: Eclipse SmartHome
• Based on Java and OSGi
• Very active community with ~100 home automation driver
implementations
• Foundation for Deutsche Telekom’s QIVICON
• Telco Service Providers
• Implementation of oneM2M: OM2M
Solutions
• Industrial IoT:
• Eclipse neoSCADA
• Support Siemens S7 PLC, IEC 60870-4-105
• 4DIAC - IEC 61499
• Rise V2G - IEC 15118
•IoT network management: Krikkit
• Rules engine for IoT devices
• Powering Cisco’s Data in Motion.
Vorto
Open IoT Stack
New and Existing
Devices
IoT Gateways Network/Wireless
Services
Backend Systems
Open IoT Stack
Commercial Ecosystem
Open IoT Stack for Java
More Info: iot.eclipse.org
Sandbox Servers
http://iot.eclipse.org/sandbox.html
Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-
1.0
39
Demo
Questions
@ianskerrett
Ian.Skerrett@eclipse.org
Backup
IoT Solutions – Home Automation
Intranet of Things for Home Automation
Event Bus
Persistence ServicesAutomation Logic
User Interfaces
Item Registry
Hue
Binding
Samsung
Binding
Bluetooth
Binding
Sonos
Binding
Hue
Bluetooth
Samsung
Sonos
...
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
Hierarchical Architecture
Local control centers
Regional control centers
Global control center
Devices, like Dataloggers
PLCs, Beaglebone,
Raspberry PI, ...
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 SCADA
Client 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

Eclipse IoT: Open source technology for IoT developers