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.

Open Source Internet of Things 101 – EclipseCon 2016

393 views

Published on

IoT is the new black, and you sure want to be trendy and cool, and claim that you're doing IoT too! Open source initiatives like Eclipse IoT have your back covered by providing you with the building blocks needed for enabling IoT solutions.

We would like to welcome you to the IoT Summit by giving you an introduction to the key challenges of IoT and an overview of the approach undertaken by Eclipse IoT to develop an ecosystem of open-source technologies that will help you connect and manage your current and future IoT devices.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Open Source Internet of Things 101 – EclipseCon 2016

  1. 1. Open Source Internet of Things 101 Benjamin Cabé @kartben March 8, 2016 © Eclipse Foundation – Made available under the EPL v1.0
  2. 2. IoT?
  3. 3. In reality...
  4. 4. In reality... … Internet of Silos
  5. 5. fragmentation complexity lock-in
  6. 6. Technology Industry adoption Community Open Source IoT?
  7. 7. ● Founded in late 2011 by IBM Eurotech Sierra Wireless
  8. 8. ● 20 open-source projects* ● Lots of Java but also C, C++, Python, Go, .Net, … * and counting! → IoT Standards → Services & Frameworks
  9. 9. Eclipse IoT Technology
  10. 10. CONNECT MANAGE
  11. 11. ● CoAP ○ « HTTP over UDP » ○ Expose your device as a resource on the Internet of Things ● MQTT ○ Publish/Subscribe model ○ TCP-based Connecting things to the IoT
  12. 12. CoAP - RFC 7252 ● RESTful protocol designed from scratch ○ URIs, Internet Media Types ○ GET, POST, PUT, DELETE ● Transparent mapping to HTTP ● Additional features for M2M scenarios ○ e.g Observe
  13. 13. CoAP: The web-of-things /walk /hand/left/raise /eye/picture /on /red /green /blue /mtbf /on /on /buttons /buttons/1/push /bat-level /engine/status /position /fuel /CO2 /noise /lights/on
  14. 14. Eclipse Californium ● Focus on scalability and usability ● To be used in IoT cloud servers or M2M/IoT devices running Java ● Includes DTLS implementation (Scandium), HTTP/CoAP bridge, Plugtests, … http://eclipse.org/californium
  15. 15. MQTT: Publish & Subscribe Sub KETTLE232/#Pub KETTLE232/temp Payload: 21°C Pub KETTLE232/temp Payload: 21°C BROKER
  16. 16. Eclipse Paho ● Open-source MQTT clients ● Pick your language! ○ Java ○ JavaScript ○ C/C++, Objective C ○ Go, Lua, Python, .NET, WinRT, … http://eclipse.org/paho
  17. 17. Eclipse Mosquitto ● Open source MQTT broker ○ C implementation ○ MQTT 3.1.1 compliant ○ Scalable (1000 clients = 3MB RAM) ○ Extensible (e.g authentication plug-ins)
  18. 18. Sandboxes Eclipse IoT operates open sandboxes for IoT developers ● MQTT ● CoAP ● LWM2M http://iot.eclipse.org/getting-started#sandboxes
  19. 19. ✔ CONNECT MANAGE
  20. 20. ✔ CONNECT MANAGE ???
  21. 21. Yup, lots of aspects to manage ● Network → PPP cellular connection, WiFi hotspot, Zigbee coordination, VPN, firewall … → offline/online mode ● Applications → Remote install, start, stop, configure, … → Sandboxing ● Hardware
  22. 22. Gateways to the rescue!
  23. 23. Gateway
  24. 24. Gateway
  25. 25. 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
  26. 26. Kura features ● Network management ○ Cellular Modem, WiFi ○ Firewall ○ NAT ● OSGi and system administration ● IoT server communication settings
  27. 27. Kura features: Remote management UI
  28. 28. Kura features: Remote management UI
  29. 29. Kura features: Remote management UI
  30. 30. Kura features: Remote management UI
  31. 31. Device Management with LWM2M ● LWM2M is an Open Mobile Alliance Standard ● Device Management on top of CoAP ● Eclipse Leshan (Java) and Wakaama (C) are two implementations
  32. 32. Device Management with LWM2M
  33. 33. ✔ CONNECT MANAGE ✔
  34. 34. Eclipse IoT is also... Server Platform ● Software provisioning ○ https://projects.eclipse.org/projects/iot.hawkbit ● Uniform service interface for Telemetry and Command & Control ○ https://projects.eclipse.org/projects/iot.hono
  35. 35. Eclipse IoT is also... Information Models ● Eclipse Vorto allows to create and manage device descriptions + associated toolchains (code generators)
  36. 36. Eclipse IoT is also… Industrial IoT ● Open source implementations of IEC standards ○ Eclipse neoSCADA: Siemens S7 PLC, IEC 60870-4-105, … ○ 4DIAC: 61499 ○ Rise V2G: IEC 15118
  37. 37. Eclipse IoT is also… ● Flexible Framework ● Based on Java and OSGi ● Huge number of “bindings”: KNX, Nest, Philips HUE, …
  38. 38. http://iot.eclipse.org/projects and much more...
  39. 39. Industry Adoption
  40. 40. “MQTT” on Google Trends Can you guess what happened then?
  41. 41. What do Microsoft Azure IoT suite, AWS IoT, or IBM Watson IoT platform have in common?
  42. 42. What do Microsoft Azure IoT suite, AWS IoT, or IBM Watson IoT platform have in common?
  43. 43. We went with Eclipse SCADA because it gave us a ready made control system as an open source product “
  44. 44. Eclipse IoT Community
  45. 45. Eclipse IoT today 2 21 150+ 100K MLOC projects developers monthly visitors
  46. 46. 80 teams $20K+ in prizes http://iot.eclipse.org/open-iot-challenge
  47. 47. Virtual IoT Meetup ● Bi-weekly webinars with IoT experts ● 800 members http://www.meetup.com/Virtual-IoT
  48. 48. Get Involved! ● Open (or fix!) bugs ● Request new features ● Write articles, tutorials ● Participate on the mailing lists ● Share your success stories ● Propose your project!
  49. 49. Thank you! Questions? benjamin@eclipse.org @kartben http://blog.benjamin-cabe.com http://iot.eclipse.org

×