building an open m2m community one step at a time
DESCRIPTION
It is widely agreed that there will be devices in the range of billions communicating with each other by the end of this decade. From the alarm system in your house, to your power-meter being part of a smart grid, to the ATM around the corner, every object of your life will soon be connected to the Internet of Things, if not already. This connected world is at the crossroads of various ecosystems that the Eclipse M2M Industry Working Group aims at bridging. On one hand are the IT and telco industries, that already are connecting devices together by means of usually closed software platforms and communication protocols. These industries have an incredible experience at designing solutions tailored to their vertical businesses, but today's challenge is to break down the silos preventing the emergence of the true Internet of Things: every object should virtually be accessible from anywhere. On the other hand, there are many providers of great end-user services that are waiting for platforms allowing them to create their own applications using these services, that they can distribute on their own markets and via social networks. Lastly, the Open Hardware and hobbyists movements are a place where a lot of innovation happens: bleeding edge technologies, passionate developers that can, and will, make Internet of Things not only successful, but also fun. If you want to learn what is cooking at Eclipse in terms of tools and frameworks for M2M development, how we get the aforementioned communities actively involved, and the business models that this Open M2M stack is enabling, then this talk is for you!TRANSCRIPT
![Page 2: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/2.jpg)
Who I am
• Benjamin Cabé • Open Source guy
at Sierra Wireless • Long-time Eclipse lover
![Page 3: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/3.jpg)
� What is M2M?
Technology that supports wired or wireless communication between devices
![Page 4: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/4.jpg)
50
bill ion devices by 2020
![Page 5: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/5.jpg)
50
bill ion devices by 2020
![Page 6: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/6.jpg)
![Page 7: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/7.jpg)
![Page 8: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/8.jpg)
![Page 9: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/9.jpg)
![Page 10: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/10.jpg)
![Page 11: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/11.jpg)
Communication Infrastructure
Smart Pill Box
Heartbeat Sensor
Weight Scale
Blood Pressure
Medical Services Gateway
Near field
Blood Sugar
Internet of Things
Patient
Clinical Trial
Doctor
![Page 12: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/12.jpg)
Ready then?
![Page 13: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/13.jpg)
…Not quite!!
![Page 14: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/14.jpg)
M2M market = fragmented
![Page 15: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/15.jpg)
M2M development = complex
![Page 16: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/16.jpg)
M2M vendors = lock-in
![Page 17: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/17.jpg)
?
![Page 18: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/18.jpg)
![Page 19: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/19.jpg)
• $3000 bounty • Open Source
driver • 1 week
![Page 20: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/20.jpg)
Kinect sales
0
2
4
6
8
10
12
0 5 10 15 20 25 30
Mill
ion
s o
f un
its
sold
Weeks after launch
![Page 21: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/21.jpg)
![Page 22: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/22.jpg)
![Page 23: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/23.jpg)
Interoperability
Tools
3 pillars
Experience
![Page 24: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/24.jpg)
Framework
Tools
3 projects
Protocols
![Page 25: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/25.jpg)
I/O manipulation data consolidation
application management dev-friendly API
framework =
![Page 26: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/26.jpg)
M2M programming
• low-level C • memory
management • multithreaded
programming
• read sensor values • control actuators • consolidate data • communicate
![Page 27: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/27.jpg)
Example: Sending an SMS int main(){ unsigned char char1[10]; unsigned char char_buf[8]="AT+CSQ\n"; // unsigned char sms_buf[20] = "AT+CMGS="xxxxxxxxx"; int wc_fd; /********* Init of serial port ************/ wc_fd = init_wc(wc_fd); sleep(3); //writing to serial port write(wc_fd,char_buf,sizeof(char_buf)); usleep(40000); //reading from serial port read(wc_fd,char1,sizeof(char1)); sleep(2); close(wc_fd); return 0;} // end of main// initialization of serial portstruct termios options;ttys5_fd = open("/dev/ttyS5", O_RDWR );if (ttys5_fd < 0){ printf("\nFail to open serial port 2\n"); return 0;}init_tty( ttys5_fd ,BAUD_RATE);return ttys5_fd;-----------------------------------//initializing baud rateint init_tty( int fd ,long wBaud){ long baud; switch (wBaud) {
sms.send( '+33612345678’, 'My SMS’, )
![Page 28: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/28.jpg)
Simplify M2M programming
• powerful • fast • lightweight • embeddable • scripting • C integration
![Page 29: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/29.jpg)
open multi-language
clients and servers MQTT
protocols =
![Page 30: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/30.jpg)
• Low-bandwidth • Low-power • Payload agnostic • Adjustable QoS • Large ecosystem
![Page 31: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/31.jpg)
broker broker
(optional) bridge
publishsubscribe
keepalivelast will & testamentusername/password
topic/subtopic
topic/#
![Page 32: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/32.jpg)
develop simulate debug deploy
tools =
![Page 33: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/33.jpg)
Lua Development Tools
OMA-DM Simulator
Next: Mihini tooling, M2M modeling
![Page 34: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/34.jpg)
M2M IDE
• June 2013 • Ready-to-use • Market Place
![Page 35: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/35.jpg)
M2M Developer Kit
Affordable! Simple! Industrial!
![Page 36: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/36.jpg)
Standardization?
• Actively collaborate with standards organizations – OneM2M, Continua, …
• Combine both bottom-up and top-down approaches – Leverage existing, open, software stacks
– Foster compatibility with emerging standards
![Page 37: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/37.jpg)
M2M Developer Portal
![Page 38: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/38.jpg)
New business models
Third Party Ecosystem
Open M2M communication protocols
Internet of Things
Open M2M application framework and runtimes
Open M2M development tools
…!
![Page 39: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/39.jpg)
H/W differentiation
• ruggedness • radio certification • add-ins • services
![Page 40: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/40.jpg)
S/W differentiation
industrial protocols power optimization development tools
vertical applications real-time
professional services
…
24/7 3rd party services
security
billing carrier integration
professional services
…
embedded server
![Page 41: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/41.jpg)
Wrap-up
• A complete M2M stack – embedded framework – comm. protocols (client and server) – tools
• An open collaboration model • A de-facto standard M2M platform
for enabling new businesses
![Page 42: Building an Open M2M community one step at a time](https://reader035.vdocuments.net/reader035/viewer/2022081403/555a277ad8b42ab3088b4b33/html5/thumbnails/42.jpg)
Join us!