Transcript
Page 1: Building an Open M2M community one step at a time

Building an Open M2M community

… one step at a time

Benjamin Cabé [email protected] — @kartben

Page 2: Building an Open M2M community one step at a time

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

� What is M2M?

Technology that supports wired or wireless communication between devices

Page 4: Building an Open M2M community one step at a time

50

bill ion devices by 2020

Page 5: Building an Open M2M community one step at a time

50

bill ion devices by 2020

Page 6: Building an Open M2M community one step at a time
Page 7: Building an Open M2M community one step at a time
Page 8: Building an Open M2M community one step at a time
Page 9: Building an Open M2M community one step at a time
Page 10: Building an Open M2M community one step at a time
Page 11: Building an Open M2M community one step at a time

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

Ready then?

Page 13: Building an Open M2M community one step at a time

…Not quite!!

Page 14: Building an Open M2M community one step at a time

M2M market = fragmented

Page 15: Building an Open M2M community one step at a time

M2M development = complex

Page 16: Building an Open M2M community one step at a time

M2M vendors = lock-in

Page 17: Building an Open M2M community one step at a time

?

Page 18: Building an Open M2M community one step at a time
Page 19: Building an Open M2M community one step at a time

•  $3000 bounty •  Open Source

driver •  1 week

Page 20: Building an Open M2M community one step at a time

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
Page 22: Building an Open M2M community one step at a time
Page 23: Building an Open M2M community one step at a time

Interoperability

Tools

3 pillars

Experience

Page 24: Building an Open M2M community one step at a time

Framework

Tools

3 projects

Protocols

Page 25: Building an Open M2M community one step at a time

I/O manipulation data consolidation

application management dev-friendly API

framework =

Page 26: Building an Open M2M community one step at a time

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

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

Simplify M2M programming

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

Page 29: Building an Open M2M community one step at a time

open multi-language

clients and servers MQTT

protocols =

Page 30: Building an Open M2M community one step at a time

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

Page 31: Building an Open M2M community one step at a time

broker broker

(optional) bridge

publishsubscribe

keepalivelast will & testamentusername/password

topic/subtopic

topic/#

Page 32: Building an Open M2M community one step at a time

develop simulate debug deploy

tools =

Page 33: Building an Open M2M community one step at a time

Lua Development Tools

OMA-DM Simulator

Next: Mihini tooling, M2M modeling

Page 34: Building an Open M2M community one step at a time

M2M IDE

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

Page 35: Building an Open M2M community one step at a time

M2M Developer Kit

Affordable! Simple! Industrial!

Page 36: Building an Open M2M community one step at a time

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

M2M Developer Portal

Page 38: Building an Open M2M community one step at a time

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

H/W differentiation

•  ruggedness •  radio certification •  add-ins •  services

Page 40: Building an Open M2M community one step at a time

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

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

Join us!


Recommended