owf12/java building an open m2m community

42
Building an Open M2M community … one step at a time Benjamin Cabé [email protected] — @kartben

Upload: open-world-forum

Post on 04-Jun-2015

423 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: OWF12/Java Building an Open M2M community

Building an Open M2M community

… one step at a time

Benjamin Cabé [email protected] — @kartben

Page 2: OWF12/Java Building an Open M2M community

Who I am

•  Benjamin Cabé •  Open Source guy

at Sierra Wireless •  Long-time Eclipse lover

Page 3: OWF12/Java Building an Open M2M community

� What is M2M?

Technology that supports wired or wireless communication between devices

Page 4: OWF12/Java Building an Open M2M community

50

bill ion devices by 2020

Page 5: OWF12/Java Building an Open M2M community

50

bill ion devices by 2020

Page 6: OWF12/Java Building an Open M2M community
Page 7: OWF12/Java Building an Open M2M community
Page 8: OWF12/Java Building an Open M2M community
Page 9: OWF12/Java Building an Open M2M community
Page 10: OWF12/Java Building an Open M2M community
Page 11: OWF12/Java Building an Open M2M community

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

Ready then?

Page 13: OWF12/Java Building an Open M2M community

…Not quite!!

Page 14: OWF12/Java Building an Open M2M community

M2M market = fragmented

Page 15: OWF12/Java Building an Open M2M community

M2M development = complex

Page 16: OWF12/Java Building an Open M2M community

M2M vendors = lock-in

Page 17: OWF12/Java Building an Open M2M community

?

Page 18: OWF12/Java Building an Open M2M community
Page 19: OWF12/Java Building an Open M2M community

•  $3000 bounty •  Open Source

driver •  1 week

Page 20: OWF12/Java Building an Open M2M community

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
Page 22: OWF12/Java Building an Open M2M community
Page 23: OWF12/Java Building an Open M2M community

Interoperability

Tools

3 pillars

Experience

Page 24: OWF12/Java Building an Open M2M community

Framework

Tools

3 projects

Protocols

Page 25: OWF12/Java Building an Open M2M community

I/O manipulation data consolidation

application management dev-friendly API

framework =

Page 26: OWF12/Java Building an Open M2M community

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

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

Simplify M2M programming

•  powerful •  fast •  lightweight •  embeddable •  scripting •  C integration

Page 29: OWF12/Java Building an Open M2M community

open multi-language

clients and servers MQTT

protocols =

Page 30: OWF12/Java Building an Open M2M community

•  Low-bandwidth •  Low-power •  Payload agnostic •  Adjustable QoS •  Large ecosystem

Page 31: OWF12/Java Building an Open M2M community

broker broker

(optional) bridge

publishsubscribe

keepalivelast will & testamentusername/password

topic/subtopic

topic/#

Page 32: OWF12/Java Building an Open M2M community

develop simulate debug deploy

tools =

Page 33: OWF12/Java Building an Open M2M community

Lua Development Tools

OMA-DM Simulator

Next: Mihini tooling, M2M modeling

Page 34: OWF12/Java Building an Open M2M community

M2M IDE

•  June 2013 •  Ready-to-use •  Market Place

Page 35: OWF12/Java Building an Open M2M community

M2M Developer Kit

Affordable! Simple! Industrial!

Page 36: OWF12/Java Building an Open M2M community

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

M2M Developer Portal

Page 38: OWF12/Java Building an Open M2M community

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

H/W differentiation

•  ruggedness •  radio certification •  add-ins •  services

Page 40: OWF12/Java Building an Open M2M community

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

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

Join us!