owf12/java building an open m2m community
TRANSCRIPT
![Page 2: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/2.jpg)
Who I am
• Benjamin Cabé • Open Source guy
at Sierra Wireless • Long-time Eclipse lover
![Page 3: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/3.jpg)
� What is M2M?
Technology that supports wired or wireless communication between devices
![Page 4: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/4.jpg)
50
bill ion devices by 2020
![Page 5: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/5.jpg)
50
bill ion devices by 2020
![Page 6: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/6.jpg)
![Page 7: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/7.jpg)
![Page 8: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/8.jpg)
![Page 9: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/9.jpg)
![Page 10: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/10.jpg)
![Page 11: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/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: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/12.jpg)
Ready then?
![Page 13: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/13.jpg)
…Not quite!!
![Page 14: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/14.jpg)
M2M market = fragmented
![Page 15: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/15.jpg)
M2M development = complex
![Page 16: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/16.jpg)
M2M vendors = lock-in
![Page 17: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/17.jpg)
?
![Page 18: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/18.jpg)
![Page 19: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/19.jpg)
• $3000 bounty • Open Source
driver • 1 week
![Page 20: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/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: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/21.jpg)
![Page 22: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/22.jpg)
![Page 23: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/23.jpg)
Interoperability
Tools
3 pillars
Experience
![Page 24: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/24.jpg)
Framework
Tools
3 projects
Protocols
![Page 25: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/25.jpg)
I/O manipulation data consolidation
application management dev-friendly API
framework =
![Page 26: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/26.jpg)
M2M programming
• low-level C • memory
management • multithreaded
programming
• read sensor values • control actuators • consolidate data • communicate
![Page 27: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/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: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/28.jpg)
Simplify M2M programming
• powerful • fast • lightweight • embeddable • scripting • C integration
![Page 29: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/29.jpg)
open multi-language
clients and servers MQTT
protocols =
![Page 30: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/30.jpg)
• Low-bandwidth • Low-power • Payload agnostic • Adjustable QoS • Large ecosystem
![Page 31: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/31.jpg)
broker broker
(optional) bridge
publishsubscribe
keepalivelast will & testamentusername/password
topic/subtopic
topic/#
![Page 32: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/32.jpg)
develop simulate debug deploy
tools =
![Page 33: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/33.jpg)
Lua Development Tools
OMA-DM Simulator
Next: Mihini tooling, M2M modeling
![Page 34: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/34.jpg)
M2M IDE
• June 2013 • Ready-to-use • Market Place
![Page 35: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/35.jpg)
M2M Developer Kit
Affordable! Simple! Industrial!
![Page 36: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/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: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/37.jpg)
M2M Developer Portal
![Page 38: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/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: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/39.jpg)
H/W differentiation
• ruggedness • radio certification • add-ins • services
![Page 40: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/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: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/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: OWF12/Java Building an Open M2M community](https://reader034.vdocuments.us/reader034/viewer/2022052619/55701a29d8b42aa8558b45cc/html5/thumbnails/42.jpg)
Join us!