Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2016-09-eclipse-iot-cf-summit

6,852 views

Published on

My presentation to the Cloud Foundry Foundation IoT SIG on Eclipse IoT, with particular focus on the Eclipse IoT cloud server platform.

Thanks to Benjamin Cabe (@kartben) for the materials.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

2016-09-eclipse-iot-cf-summit

  1. 1. Building the Internet of Things with Open Source Mike Milinkovich, Eclipse Foundation @mmilinkov
  2. 2. IoT? Applications Collect, exchange & analyze data
  3. 3. IoT? Applications Sensing / Actuating Interact with the physical world Collect, exchange & analyze data
  4. 4. IoT? Applications Networking & Data Communications Sensing / Actuating Interact with the physical world Bridge the physical world to the Internet Collect, exchange & analyze data
  5. 5. Typical IoT Architecture Devices (sensors & actuators) Applications telemetry commands telemetry commands IoT Cloud Platform Gateway
  6. 6. Role & Characteristics DEVICE GATEWAY CLOUD PLATFORM constrained low-power specialized connectivity messaging edge computing scale out integration data analytics
  7. 7. IoT Device Stack Hardware Abstraction Layer (HAL) OS / RTOS Communication Field protocols IoT protocols DEVICE RemoteManagement App 1 App 2 … Remote Management Communication Hardware Abstraction Layer (HAL) OS / 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, …
  8. 8. Connectivity Field protocols IoT protocols IoT Gateway Stack GATEWAY Data Management & Messaging RemoteManagement Application Runtime OS / RTOS App 1 App 2 … Data Management & Messaging Network Management connect to different types of networks ensure reliability, security (VPN, firewall, …) local persistence (network latency) offline mode data analytics at the edge Network Management Application Runtime Virtual Machine / Application container
  9. 9. IoT Cloud Platform Stack CLOUD PLATFORM Device Management Data Management Event Management & Analytics Connectivity MessageRouting Device Registry Application Enablement App 1 App 2 … Connectivity Message Routing ingest and normalize huge amounts of data into an enterprise backend Device Registry Device Management identify devices, allow for over-the-air software provisioning, configuration changes, … Data Management scalable data store, time series
  10. 10. IoT Cloud Platform Stack (cont’d) CLOUD PLATFORM Device Management Data Management Event Management & Analytics Connectivity MessageRouting Device Registry Application Enablement App 1 App 2 … Event Management & Analytics scalable event processing create reports, graphs, dashboards, … make decisions based on the data Application Enablement expose API for application integration
  11. 11. Cross-layer concerns SECURITY ONTOLOGIES TOOLS
  12. 12. Characteristics of Open IoT Stacks loosely coupled modular platform-independant based on open standards API, API, API!
  13. 13. Eclipse IoT? Eclipse IoT is an open source community aimed at building and promoting open source software & open collaboration models needed to create an Open Internet of Things
  14. 14. Eclipse IoT… from building blocks … to stacks
  15. 15. OS Stack for IoT Devices Hardware Abstraction Layer (HAL) OS / RTOS Communication Field protocols IoT protocols DEVICE RemoteManagement App 1 App 2 … Wakaama C implementation of OMA LWM2M Portable 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”
  16. 16. Eclipse Edje Hardware Abstraction Java API for IoT embedded systems Peripheral management Controller Communication Interfaces (Serial connection, CAN, SPI, I²C) Digital and Analog I/O (GPIO, ADC, DAC) Scope Target resource-constrained micro-controllers Provide ready-to-use software packages for target hardware Define a modular and easy to port framework
  17. 17. Eclipse Edje requirements Processor: 32-bits (e.g. Cortex-M0) Frequency: 16 MHz RAM: 32 KB Flash: 128 KB Example: STM32F4 Discovery Processor: 32-bits Cortex-M4 (STM32F407VGT6) Frequency: 168 MHz RAM: 192 KB Flash: 1 MB
  18. 18. OS Stack for IoT Gateways OSGi implementation GATEWAY Data Management & Messaging RemoteManagement OS / RTOS App 1 App 2 … Connectivity Field protocols IoT protocols Network Management Native support for MQTT Serial, RS-485, BLE, MODBUS, OPC-UA, CAN Bus, … NAT, firewall, modem configuration, … Remote Management over MQTT Milo Application Runtime
  19. 19. 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 Eclipse Kura
  20. 20. OS Stack for Home Automation Data Management & Messaging OSGi implementation GATEWAY RemoteManagement OS / RTOS App 1 App 2 … Connectivity Field protocols IoT protocols Rule engine to orchestrate “things” Home automation protocols such as Belkin WeMo, LIFX, Philips Hue, … (see openHAB.org) Remote firmware update through the GW Web UI and API for remote control Network Management Application Runtime
  21. 21. OS Stack for IoT Cloud CLOUD PLATFORM
  22. 22. OS Stack for IoT Cloud CLOUD PLATFORM Device Management Device Registry
  23. 23. OS Stack for IoT Cloud CLOUD PLATFORM Device Management Device Registry OMA LWM2M implementation in Java built on top of Eclipse Californium (CoAP) Manage software upgrade campaigns independently of the actual DM protocol
  24. 24. Eclipse Leshan Java implementation of OMA LWM2M Sandbox hosted at http://leshan.eclipse.org
  25. 25. Eclipse hawkBit
  26. 26. OS Stack for IoT Cloud CLOUD PLATFORM MessageRouting
  27. 27. OS Stack for IoT Cloud CLOUD PLATFORM C implementation of an MQTT server MQTT 3.1.1 compliant Scalable (1000 clients = 3MB RAM) Extensible (e.g authentication plug-ins) MessageRouting
  28. 28. 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? ↳…
  29. 29. OS Stack for IoT Cloud Platform Abstract the actual communication protocols via “protocol adapters” Deploy on: CLOUD PLATFORM Device Management Data Management Event Management & Analytics Connectivity MessageRouting Device Registry Application Enablement App 1 App 2 … Kapua Integration platform for IoT Services Kapua NoSQL data store Kapua REST API
  30. 30. Eclipse Hono Eclipse Hono provides a uniform API for interacting with millions of devices connected to the cloud via arbitrary protocols Example: <<Protocol Adapter>> MQTT <<Application>> Track my Tools BT LE AMQP 1.0AMQP 1.0MQTT
  31. 31. Eclipse Kapua
  32. 32. Future EclipseIoT stack on Cloud FoundryRouter Eclipse ACS <<Hono Adapter>> <<Hono Adapter>> UAA Kapua Web Console Kapua
  33. 33. Cross-layer concerns SECURITY ONTOLOGIES TOOLS
  34. 34. Cross-layer concerns SECURITY ONTOLOGIES TOOLS
  35. 35. Eclipse ACS (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 platform See http://tinyurl.com/eclipse-acs-proposal
  36. 36. Cross-layer concerns SECURITY ONTOLOGIES TOOLS
  37. 37. Eclipse Vorto
  38. 38. Cross-layer concerns SECURITY ONTOLOGIES TOOLS
  39. 39. Eclipse IoT Community 2.2 26* 170+ 110K million lines of code projects developers monthly visitors * and counting!
  40. 40. Virtual IoT Meetup Bi-weekly webinars with IoT experts 1,200 members http://www.meetup.com/Virtual-IoT
  41. 41. Get Involved! Use Eclipse IoT Technology in your products Open bugs / fix bugs Request new features Write articles, tutorials Participate on the mailing lists Come to EclipseCon/IoT! Propose your project! iot.eclipse.org
  42. 42. Learn more on Wednesday Dr. Steffen Evers, Bosch Software Innovations “Building an Open Framework for Cloud-based IoT Solutions” Wednesday, September 28 • 11:10 - 11:40 43
  43. 43. Thank you! @mmilinkov mike@eclipse.org

×