Building an Open M2M community one step at a time

Preview:

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!

Citation preview

Building an Open M2M community

… one step at a time

Benjamin Cabé bcabe@sierrawireless.com — @kartben

Who I am

•  Benjamin Cabé •  Open Source guy

at Sierra Wireless •  Long-time Eclipse lover

� What is M2M?

Technology that supports wired or wireless communication between devices

50

bill ion devices by 2020

50

bill ion devices by 2020

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

Ready then?

…Not quite!!

M2M market = fragmented

M2M development = complex

M2M vendors = lock-in

?

•  $3000 bounty •  Open Source

driver •  1 week

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

Interoperability

Tools

3 pillars

Experience

Framework

Tools

3 projects

Protocols

I/O manipulation data consolidation

application management dev-friendly API

framework =

M2M programming

•  low-level C •  memory

management •  multithreaded

programming

•  read sensor values •  control actuators •  consolidate data •  communicate

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’, )

Simplify M2M programming

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

open multi-language

clients and servers MQTT

protocols =

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

broker broker

(optional) bridge

publishsubscribe

keepalivelast will & testamentusername/password

topic/subtopic

topic/#

develop simulate debug deploy

tools =

Lua Development Tools

OMA-DM Simulator

Next: Mihini tooling, M2M modeling

M2M IDE

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

M2M Developer Kit

Affordable! Simple! Industrial!

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

M2M Developer Portal

New business models

Third Party Ecosystem

Open M2M communication protocols

Internet of Things

Open M2M application framework and runtimes

Open M2M development tools

…!

H/W differentiation

•  ruggedness •  radio certification •  add-ins •  services

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

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

Join us!

Recommended