Open Source
Internet of Things 101
Benjamin Cabé
@kartben
April 15, 2016
© Eclipse Foundation – Made available under the E...
IoT?
In reality...
In reality...
… Internet of Silos
fragmentation complexity lock-in
Technology
Industry adoption
Community
Open Source IoT?
● Founded in late 2011 by
IBM
Eurotech
Sierra Wireless
● 22 open-source projects*
● Lots of Java but also C,
C++, Python, Go, .Net, …
* and counting!
→ IoT Standards
→ Services ...
Eclipse IoT Technology
CONNECT MANAGE
● CoAP
○ « HTTP over UDP »
○ Expose your device as a resource on the Internet of
Things
● MQTT
○ Publish/Subscribe model
○...
CoAP - RFC 7252
● RESTful protocol designed from scratch
○ URIs, Internet Media Types
○ GET, POST, PUT, DELETE
● Transpare...
CoAP: The web-of-things
/walk
/hand/left/raise
/eye/picture
/on
/red
/green
/blue
/mtbf
/on
/on
/buttons
/buttons/1/push
/...
Eclipse Californium
● Focus on scalability and usability
● To be used in IoT cloud servers or M2M/IoT
devices running Java...
MQTT: Publish & Subscribe
Sub
KETTLE232/#Pub
KETTLE232/temp
Payload:
21°C
Pub
KETTLE232/temp
Payload:
21°C
BROKER
Eclipse Paho
● Open-source MQTT clients
● Pick your language!
○ Java
○ JavaScript
○ C/C++, Objective C
○ Go, Lua, Python, ...
Eclipse Mosquitto
● Open source MQTT broker
○ C implementation
○ MQTT 3.1.1 compliant
○ Scalable (1000 clients = 3MB RAM)
...
Sandboxes
Eclipse IoT operates open sandboxes for IoT
developers
● MQTT
● CoAP
● LWM2M
http://iot.eclipse.org/getting-star...
✔
CONNECT MANAGE
✔
CONNECT MANAGE
???
Yup, lots of aspects to manage
● Network
→ PPP cellular connection, WiFi hotspot, Zigbee
coordination, VPN, firewall …
→ o...
Gateways to the rescue!
Gateway
Gateway
Java VM
OSGi Application Container
Device Abstraction
Gateway Basic Services
Network Configuration
Network Management Fiel...
Kura features
● Network management
○ Cellular Modem, WiFi
○ Firewall
○ NAT
● OSGi and system administration
● IoT server c...
Kura features: Remote management UI
Kura features: Remote management UI
Kura features: Remote management UI
Kura features: Remote management UI
Device Management with LWM2M
● LWM2M is an Open Mobile Alliance Standard
● Device Management on top of CoAP
● Eclipse Lesh...
Device Management with LWM2M
✔
CONNECT MANAGE
✔
Eclipse IoT is also...
Server Platform
● Software provisioning
○ https://projects.eclipse.org/projects/iot.hawkbit
● Unifo...
Eclipse IoT is also...
Information Models
● Eclipse Vorto allows to create and manage
device descriptions + associated too...
Eclipse IoT is also…
Industrial IoT
● Open source implementations of IEC standards
○ Eclipse neoSCADA: Siemens S7 PLC, IEC...
Eclipse IoT is also…
● Flexible Framework
● Based on Java and OSGi
● Huge number of “bindings”:
KNX, Nest, Philips HUE, …
http://iot.eclipse.org/projects
and much more...
Industry Adoption
“MQTT” on Google Trends
Can you guess what
happened then?
What do Microsoft Azure IoT suite, AWS IoT, or
IBM Watson IoT platform have in common?
What do Microsoft Azure IoT suite, AWS IoT, or
IBM Watson IoT platform have in common?
We went with Eclipse SCADA
because it gave us a ready
made control system as an
open source product
“
Eclipse IoT Community
Eclipse IoT today
2 21 150+ 100K
MLOC projects developers monthly
visitors
80 teams $20K+ in prizes
http://iot.eclipse.org/open-iot-challenge
Virtual IoT Meetup
● Bi-weekly webinars with IoT experts
● 800 members
http://www.meetup.com/Virtual-IoT
Get Involved!
● Open (or fix!) bugs
● Request new features
● Write articles, tutorials
● Participate on the mailing lists
...
Thank you! Questions?
benjamin@eclipse.org
@kartben
http://blog.benjamin-cabe.com
http://iot.eclipse.org
Building the Internet of Things with open source and Eclipse IoT projects (Benjamin Cabé, Eclipse Foundation)
Building the Internet of Things with open source and Eclipse IoT projects (Benjamin Cabé, Eclipse Foundation)
Building the Internet of Things with open source and Eclipse IoT projects (Benjamin Cabé, Eclipse Foundation)
Building the Internet of Things with open source and Eclipse IoT projects (Benjamin Cabé, Eclipse Foundation)
Building the Internet of Things with open source and Eclipse IoT projects (Benjamin Cabé, Eclipse Foundation)
Building the Internet of Things with open source and Eclipse IoT projects (Benjamin Cabé, Eclipse Foundation)
Prochain SlideShare
Chargement dans…5
×

Building the Internet of Things with open source and Eclipse IoT projects (Benjamin Cabé, Eclipse Foundation)

548 vues

Publié le

IoT Meetup Athens, April 15th 2016

Publié dans : Technologie
0 commentaire
4 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
548
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
38
Commentaires
0
J’aime
4
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Building the Internet of Things with open source and Eclipse IoT projects (Benjamin Cabé, Eclipse Foundation)

  1. 1. Open Source Internet of Things 101 Benjamin Cabé @kartben April 15, 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. ● 22 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

×