Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

3 Software Stacks for IoT Solutions

4 300 vues

Publié le

The LAMP (Linux/Apache HTTP Server/MySQL/PHP) stack has dominated web infrastructures, in the IoT it is believed a similar open source stack will dominate IoT deployments. This presentation will look at the new technology requirements and architectures required for IoT solutions. It will identify three stacks of software required by any IoT solution, and finally present how open source communities, such as the Eclipse IoT community, are already supplying the critical software technology needed by IoT solution providers.

Presented at IoT Evolution, Feb 8 2017

Publié dans : Technologie
  • Soyez le premier à commenter

3 Software Stacks for IoT Solutions

  1. 1. 3 Software Stacks for IoT Solutions Ian Skerrett Eclipse Foundation @ianskerrett
  2. 2. 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
  3. 3. Copyright © 2016 The Eclipse Foundation. All Rights Reserved IoT? Applications Collect, exchange & analyze data
  4. 4. Copyright © 2016 The Eclipse Foundation. All Rights Reserved IoT? Applications Sensing / Actuating Interact with the physical world Collect, exchange & analyze data
  5. 5. 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
  6. 6. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Typical IoT Architecture Devices (sensors & actuators) Applications telemetry commands telemetry commands IoT Cloud Platform Gateways
  7. 7. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Role & Characteristics DEVICE GATEWAY / SMART OBJECT CLOUD PLATFORM constrained low-power specialized connectivity messaging edge computing scale out integration data analytics
  8. 8. Copyright © 2016 The Eclipse Foundation. All Rights Reserved The 3 IoT Software Stacks TOOLS & SDKsONTOLOGIESSECURITY CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication Remote Management Field protocols IoT protocols IOT CLOUD PLATFORM Connectivity MessageRouting OS / PaaS Device Management Data Management Event Management, Analytics & UI Device Registry Application Enablement GATEWAYS AND SMART DEVICES RemoteManagement Application Runtime Data Management & Messaging OS / RTOS Connectivity Field protocols IoT protocols Network Management
  9. 9. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Communication IoT Device Stack 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, … OS / RTOS Hardware Abstraction Layer (HAL) Remote Management Hardware Abstraction Layer (HAL) OS / RTOS Communication Remote ManagementField protocols IoT protocols CONSTRAINED DEVICES
  10. 10. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Application Runtime Network Management Data Management & Messaging IoT Gateway Stack connect to different types of networks ensure reliability, security (VPN, firewall, …) local persistence (network latency) offline mode data analytics at the edge Virtual Machine / Application container GATEWAYS AND SMART DEVICES RemoteManagement Application Runtime Data Management & Messaging OS / RTOS Connectivity Field protocols IoT protocols Network Management
  11. 11. 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 series IOT CLOUD PLATFORM Connectivity MessageRouting OS / PaaS Device Management Data Management Event Management, Analytics & UI Device Registry Application Enablement Connectivity Message Routing Device Registry Device Management Data Management
  12. 12. Copyright © 2016 The Eclipse Foundation. All Rights Reserved IoT Cloud Platform Stack (cont’d) scalable event processing create reports, graphs, dashboards, … make decisions based on the data expose API for application integration Event Management, Analytics & UI Application Enablement IOT CLOUD PLATFORM Connectivity MessageRouting OS / PaaS Device Management Data Management Event Management, Analytics & UI Device Registry Application Enablement
  13. 13. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Cross-layer concerns SECURITY ONTOLOGIES TOOLS
  14. 14. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Characteristics of Open IoT Stacks loosely coupled modular platform-independant based on open standards API
  15. 15. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Eclipse IoT? Eclipse IoT is an open source community aimed at building and promoting open source software, open standards & open collaboration models needed to create an Open Internet of Things
  16. 16. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Our members
  17. 17. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Eclipse IoT… from building blocks … to stacks …
  18. 18. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Hardware Abstraction Layer (HAL) OS / RTOS Communication Remote Management Field protocols IoT protocols CONSTRAINED DEVICES OS Stack for IoT Devices 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” Hardware Abstraction Layer (HAL) OS / RTOS Communication Remote Management Field protocols IoT protocols CONSTRAINED DEVICES OS Stack for IoT Devices 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”
  19. 19. Copyright © 2016 The Eclipse Foundation. All Rights Reserved 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
  20. 20. Copyright © 2016 The Eclipse Foundation. All Rights Reserved 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
  21. 21. Copyright © 2016 The Eclipse Foundation. All Rights Reserved OS Stack for IoT Gateways OSGi implementation Native support for MQTT Serial, RS-485, BLE, MODBUS, OPC-UA, CAN Bus, … NAT, firewall, modem configuration, … Remote Management over MQTT Milo GATEWAYS AND SMART DEVICES RemoteManagement Application Runtime Data Management & Messaging OS / RTOS Connectivity Field protocols IoT protocols Network Management
  22. 22. Copyright © 2016 The Eclipse Foundation. All Rights Reserved 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
  23. 23. Copyright © 2016 The Eclipse Foundation. All Rights Reserved GATEWAYS AND SMART DEVICES RemoteManagement 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 as Belkin WeMo, LIFX, Philips Hue, … Remote firmware update through the GW Web UI and API for remote control
  24. 24. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Eclipse SmartHome Extension Points
  25. 25. Copyright © 2016 The Eclipse Foundation. All Rights Reserved OS Stack for IoT Cloud IOT CLOUD PLATFORM
  26. 26. Copyright © 2016 The Eclipse Foundation. All Rights Reserved OS Stack for IoT Cloud Device Management Device Registry IOT CLOUD PLATFORM
  27. 27. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Device Management Device Registry OS Stack for IoT Cloud OMA LWM2M implementation in Java built on top of Eclipse Californium (CoAP) Manage software upgrade campaigns independently of the actual DM protocol IOT CLOUD PLATFORM
  28. 28. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Eclipse Leshan Java implementation of OMA LWM2M Sandbox hosted at http://leshan.eclipse.org
  29. 29. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Eclipse hawkBit
  30. 30. Copyright © 2016 The Eclipse Foundation. All Rights Reserved IOT CLOUD PLATFORM Connectivity OS Stack for IoT Cloud C implementation of an MQTT server MQTT 3.1.1 compliant Scalable (1000 clients = 3MB RAM) Extensible (e.g authentication plug-ins)
  31. 31. Copyright © 2016 The Eclipse Foundation. All Rights Reserved IOT CLOUD PLATFORM Connectivity MessageRouting 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
  32. 32. 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 protocols Example: <<Protocol Adapter>> MQTT <<Application>> ‘Track my Tools’ BT LE AMQP 1.0AMQP 1.0MQTT
  33. 33. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Eclipse Kapua
  34. 34. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Cross-layer concerns SECURITY ONTOLOGIES TOOLS
  35. 35. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Cross-layer concerns SECURITY ONTOLOGIES TOOLS
  36. 36. 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 platform See http://tinyurl.com/eclipse-acs-proposal
  37. 37. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Cross-layer concerns SECURITY ONTOLOGIES TOOLS
  38. 38. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Eclipse Vorto
  39. 39. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Cross-layer concerns SECURITY ONTOLOGIES TOOLS
  40. 40. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Eclipse Paho – mqtt-spy
  41. 41. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Eclipse Paho – mqtt-spy
  42. 42. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Eclipse IoT Community 2.2 26* 210+ 110K million lines of code projects developers monthly visitors * and counting!
  43. 43. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Join us! 2.2 26* 210+ 110K million lines of code projects developers monthly visitors * and counting! http://iot.eclipse.org
  44. 44. Thank you! @ianskerrett ian.skerrett@eclipse.org
  45. 45. Backup slides
  46. 46. Copyright © 2016 The Eclipse Foundation. All Rights Reserved The 3 IoT Software Stacks TOOLS & SDKsONTOLOGIESSECURITY CONSTRAINED DEVICES Hardware Abstraction Layer (HAL) OS / RTOS Communication Remote Management Field protocols IoT protocols IOT CLOUD PLATFORM Connectivity MessageRouting OS / PaaS Device Management Data Management Event Management, Analytics & UI Device Registry Application Enablement GATEWAYS AND SMART DEVICES RemoteManagement Application Runtime Data Management & Messaging OS / RTOS Connectivity Field protocols IoT protocols Network Management
  47. 47. Copyright © 2016 The Eclipse Foundation. All Rights Reserved Eclipse IoT stack on Cloud FoundryRouter Eclipse ACS <<Hono Adapter>> <<Hono Adapter>> Kapua Web Console Kapua UAA
  48. 48. 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? ↳…

×