3 Software Stacks for IoT Solutions
-
Upload
ian-skerrett -
Category
Technology
-
view
265 -
download
0
Transcript of 3 Software Stacks for IoT Solutions
![Page 1: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/1.jpg)
3 Software Stacks for IoT Solutions
Ian SkerrettEclipse Foundation
@ianskerrett
![Page 2: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/2.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse Foundation
• Not-for-profit open source foundation responsible for the Eclipse community
• 320+ open source projects• Working groups for Geo-spatial tech, IoT,
System engineering and embedded dev., Science, Automotive, …
• 250+ members
![Page 3: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/3.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
IoT?
Applications Collect, exchange & analyze data
![Page 4: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/4.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
IoT?
Applications
Sensing / Actuating
Interact with the physical world
Collect, exchange & analyze data
![Page 5: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/5.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
IoT?
Applications
Networking & Data
Communications
Sensing / Actuating
Interact with the physical world
Bridge the physical world to the Internet
Collect, exchange & analyze data
![Page 6: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/6.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Typical IoT Architecture
Devices(sensors & actuators)
Applications
telemetry
commands
telemetry
commands
IoT Cloud Platform
Gateways
![Page 7: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/7.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Role & CharacteristicsDEVICE GATEWAY / SMART OBJECT CLOUD PLATFORM
constrained
low-power
specialized
connectivity
messaging
edge computing
scale out
integration
data analytics
![Page 8: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/8.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
The 3 IoT Software StacksTOOLS &
SDKsONTOLOGIESSECURITY
CONSTRAINED DEVICES
Hardware Abstraction Layer (HAL)
OS / RTOS
CommunicationRe
mot
e M
anag
emen
tField protocols
IoT protocols
IOT CLOUD PLATFORM
Conn
ecti
vity
Mes
sage
Rou
ting
OS / PaaS
Device Management
Data Management
Event Management, Analytics & UI
Device Registry
Application Enablement
GATEWAYS AND SMART DEVICES
Rem
ote
Man
agem
ent
Application Runtime
Data Management & Messaging
OS / RTOS
Connectivity
Field protocols IoT protocols
Network Management
![Page 9: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/9.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Communication
IoT Device StackOS / RTOS*
* optional
timers, tasks, file system, …
API enabling access to memory, GPIOs, MEMS, serial interfaces ,…
Protocols such as Bluetooth, Z-Wave, Thread, CAN bus, MQTT, CoAP, …
over-the-air firmware upgrade, health monitoring, factory reset, …
OS / RTOS
Hardware Abstraction Layer (HAL)
RemoteManagement
Hardware Abstraction Layer (HAL)
OS / RTOS
CommunicationRe
mot
e M
anag
emen
tField protocols
IoT protocols
CONSTRAINED DEVICES
![Page 10: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/10.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Application Runtime
Network Management
Data Management& Messaging
IoT Gateway Stack
connect to different types of networksensure reliability, security (VPN, firewall, …)
local persistence (network latency)offline modedata analytics at the edge
Virtual Machine / Application container
GATEWAYS AND SMART DEVICES
Re
mot
e M
anag
emen
t
Application Runtime
Data Management & Messaging
OS / RTOS
Connectivity
Field protocols IoT protocols
Network Management
![Page 11: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/11.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
IoT Cloud Platform Stack
ingest and normalize huge amounts of data into an enterprise backend
identify devices, allow for over-the-air software provisioning, configuration changes, …
scalable data store, time seriesIOT CLOUD PLATFORM
Conn
ecti
vity
Mes
sage
Rou
ting
OS / PaaS
Device Management
Data Management
Event Management,
Analytics & UI
Device Registry
Application Enablement
Connectivity Message Routing
Device Registry
Device Management
Data Management
![Page 12: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/12.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
IoT Cloud Platform Stack (cont’d)
scalable event processingcreate reports, graphs, dashboards, …make decisions based on the data
expose API for application integration
Event Management, Analytics & UI
Application Enablement
IOT CLOUD PLATFORM
Conn
ecti
vity
Mes
sage
Rou
ting
OS / PaaS
Device Management
Data Management
Event Management, Analytics & UI
Device Registry
Application Enablement
![Page 13: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/13.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Cross-layer concerns
SECURITY ONTOLOGIES
TOOLS
![Page 14: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/14.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Characteristics of Open IoT Stacks
loosely coupled
modular
platform-independant
based on open standards
API
![Page 15: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/15.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse IoT?
Eclipse IoT is an open source community aimed atbuilding and promoting
open source software, open standards & open collaboration models
needed to create an Open Internet of Things
![Page 16: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/16.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Our members
![Page 17: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/17.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse IoT…
from building blocks … to
stacks
…
![Page 18: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/18.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Hardware Abstraction Layer (HAL)
OS / RTOS
CommunicationRe
mot
e M
anag
emen
tField protocols
IoT protocols
CONSTRAINED DEVICES
OS Stack for IoT Devices
Wakaama C implementation of OMA LWM2MPortable on any POSIX-compliant system
C implementation of MQTT 3.1.1< 2,000 lines of C ANSI code
JAVA API for MCUs“Android for IoT”
Hardware Abstraction Layer (HAL)
OS / RTOS
CommunicationRe
mot
e M
anag
emen
tField protocols
IoT protocols
CONSTRAINED DEVICES
OS Stack for IoT Devices
Wakaama C implementation of OMA LWM2MPortable on any POSIX-compliant system
C implementation of MQTT 3.1.1< 2,000 lines of C ANSI code
JAVA API for MCUs“Android for IoT”
![Page 19: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/19.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse Edje
Hardware Abstraction Java API for IoT embedded systemsPeripheral managementController Communication Interfaces (Serial connection,
CAN, SPI, I²C)Digital and Analog I/O (GPIO, ADC, DAC)
ScopeTarget resource-constrained micro-controllersProvide ready-to-use software packages for target
hardwareDefine a modular and easy to port framework
![Page 20: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/20.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse Edje requirements
Processor: 32-bits (e.g. Cortex-M0)Frequency: 16 MHzRAM: 32 KBFlash: 128 KB
Example: STM32F4 Discovery Processor: 32-bits Cortex-M4 (STM32F407VGT6)Frequency: 168 MHzRAM: 192 KBFlash: 1 MB
![Page 21: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/21.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
OS Stack for IoT Gateways
OSGi implementation
Native support for MQTTSerial, RS-485, BLE, MODBUS, OPC-UA, CAN Bus, …
NAT, firewall, modem configuration, …
Remote Management over MQTT
Milo
GATEWAYS AND SMART DEVICES
Re
mot
e M
anag
emen
t
Application Runtime
Data Management & Messaging
OS / RTOS
Connectivity
Field protocols
IoT protocols
Network Management
![Page 22: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/22.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Java VMOSGi Application Container
Device Abstraction
Gateway Basic Services
Network ConfigurationNetwork Management Field
Protocols
Connectivity and Delivery
Adm
inis
trat
ion
GU
I
Ope
rati
on &
M
anag
emen
t
LinuxHardware
App 1 App 2 App n. . . .
Applications
Eclipse Kura
![Page 23: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/23.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
GATEWAYS AND SMART DEVICES
Re
mot
e M
anag
emen
t
Application Runtime
Data Management & Messaging
OS / RTOS
Connectivity
Field protocols
IoT protocols
Network Management
OS Stack for Home Automation
OSGi implementation
Rule engine to orchestrate “things”Home automation protocols such asBelkin WeMo, LIFX, Philips Hue, …
Remote firmware update through the GWWeb UI and API for remote control
![Page 24: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/24.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse SmartHome
Extension Points
![Page 25: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/25.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
OS Stack for IoT Cloud
IOT CLOUD PLATFORM
![Page 26: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/26.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
OS Stack for IoT Cloud
Device Management
Device Registry
IOT CLOUD PLATFORM
![Page 27: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/27.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Device Management
Device Registry
OS Stack for IoT Cloud
OMA LWM2M implementation in Javabuilt on top of Eclipse Californium (CoAP)
Manage software upgrade campaignsindependently of the actual DM protocol
IOT CLOUD PLATFORM
![Page 28: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/28.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse Leshan
Java implementation of OMA LWM2MSandbox hosted at http://leshan.eclipse.org
![Page 29: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/29.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse hawkBit
![Page 30: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/30.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
IOT CLOUD PLATFORM
Conn
ecti
vity
OS Stack for IoT Cloud
C implementation of an MQTT serverMQTT 3.1.1 compliantScalable (1000 clients = 3MB RAM)Extensible (e.g authentication plug-ins)
![Page 31: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/31.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
IOT CLOUD PLATFORM
Conn
ecti
vity
Mes
sage
Rou
ting
OS / PaaS
Device Management
Data Management
Event Management, Analytics & UI
Device Registry
Application Enablement
OS Stack for IoT Cloud Platform
Abstract the actual communication protocols via “protocol adapters”
Deploy on:
An Integration Platform for IoT Services
NoSQL data store
REST API
![Page 32: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/32.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse Hono
Eclipse Hono provides a uniform API for interacting with millions of devices connected to the cloud via arbitrary protocolsExample:
<<Protocol Adapter>>
MQTT<<Application>>
‘Track my
Tools’
BT LE
AMQP 1.0AMQP 1.0MQTT
![Page 33: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/33.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse Kapua
![Page 34: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/34.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Cross-layer concerns
SECURITY ONTOLOGIES
TOOLS
![Page 35: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/35.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Cross-layer concerns
SECURITY ONTOLOGIES
TOOLS
![Page 36: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/36.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse Keti (proposed)
Ability to maintain access-decision data as policies and attributes
Exclusive security for multiple clients using the service (ACS services are tenant-aware)
Support for fine-grained authorization policies
Contributed by GE, from the Predix platformSee http://tinyurl.com/eclipse-acs-proposal
![Page 37: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/37.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Cross-layer concerns
SECURITY ONTOLOGIES
TOOLS
![Page 38: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/38.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse Vorto
![Page 39: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/39.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Cross-layer concerns
SECURITY ONTOLOGIES
TOOLS
![Page 40: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/40.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse Paho – mqtt-spy
![Page 41: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/41.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse Paho – mqtt-spy
![Page 42: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/42.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse IoT Community
2.2 26* 210+ 110Kmillion
lines of codeprojects developers monthly
visitors
* and counting!
![Page 43: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/43.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Join us!
2.2 26* 210+ 110Kmillion
lines of codeprojects developers monthly
visitors
* and counting!
http://iot.eclipse.org
![Page 45: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/45.jpg)
Backup slides
![Page 46: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/46.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
The 3 IoT Software StacksTOOLS &
SDKsONTOLOGIESSECURITY
CONSTRAINED DEVICES
Hardware Abstraction Layer (HAL)
OS / RTOS
CommunicationRe
mot
e M
anag
emen
tField protocols
IoT protocols
IOT CLOUD PLATFORM
Conn
ecti
vity
Mes
sage
Rou
ting
OS / PaaS
Device Management
Data Management
Event Management, Analytics & UI
Device Registry
Application Enablement
GATEWAYS AND SMART DEVICES
Rem
ote
Man
agem
ent
Application Runtime
Data Management & Messaging
OS / RTOS
Connectivity
Field protocols IoT protocols
Network Management
![Page 47: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/47.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
Eclipse IoT stack on Cloud Foundry
R
oute
r
Eclipse ACS
<<Hono Adapter>>
<<Hono Adapter>>
Kapua Web
Console
Kapua
UAA
![Page 48: 3 Software Stacks for IoT Solutions](https://reader036.fdocuments.us/reader036/viewer/2022062306/58a31bd11a28ab1d068b65b7/html5/thumbnails/48.jpg)
Copyright © 2016 The Eclipse Foundation. All Rights Reserved
OS Stack for IoT Cloud
Great! But… what if:
↳I want my platform to archive the data?↳I want to support more than just MQTT?↳I want a multi-tenant solution?↳…