cmmc - cnx - community of practice 1

59

Upload: nat-weerawan

Post on 22-Jan-2018

212 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: CMMC - CNX - Community of Practice 1
Page 2: CMMC - CNX - Community of Practice 1

ณัฐ วีระวรรณ์

Software Developer (Maker / Mobile / Website / Game)

Page 3: CMMC - CNX - Community of Practice 1

IoT Technology Review for building a community

Page 4: CMMC - CNX - Community of Practice 1

The internet of things?

Page 5: CMMC - CNX - Community of Practice 1

The “Internet of things” elements • Things

• Small Computer (MCU) +Sensors

• Connectivity & Communication

• Data

• Cloud Service (Intelligence)

Page 6: CMMC - CNX - Community of Practice 1
Page 7: CMMC - CNX - Community of Practice 1

HAPIfork

http://www.hapi.com/products-hapifork.asp

The HAPIfork is an electronic fork that helps you monitor and track your eating habits. It also alerts you with the help of indicator lights and gentle vibrations when you are eating too fast.

Page 8: CMMC - CNX - Community of Practice 1

Smart Tooth Brush

http://www.beamtoothbrush.com/toothbrush/

The Beam Brush is a connected toothbrush that engages users with their daily hygiene routine.

Page 9: CMMC - CNX - Community of Practice 1

Smart A/CAros learns from your budget, location, schedule, and usage to automatically maintain the perfect temperature and maximize savings for your home.

https://www.quirky.com/shop/752-aros-smart-window-air-conditioner

Page 10: CMMC - CNX - Community of Practice 1

Smart BikeValour by Vanhawks gives directions, reroutes to avoid traffic, and tracks riding metrics.

http://www.vanhawks.com/

Page 11: CMMC - CNX - Community of Practice 1

Hydroponic SystemNiwa is the first fully automated hydroponic system that attends to all of your plants’ needs and water them, feed them and make sure they have optimal growing conditions 24/7.

http://getniwa.com/

Page 12: CMMC - CNX - Community of Practice 1
Page 13: CMMC - CNX - Community of Practice 1
Page 14: CMMC - CNX - Community of Practice 1

-Smart Garbage CansBigBelly alerts when it needs to be emptied so smarter collection decisions can be made.

http://www.bigbelly.com/solutions/stations/smartbelly/

Page 15: CMMC - CNX - Community of Practice 1
Page 16: CMMC - CNX - Community of Practice 1
Page 17: CMMC - CNX - Community of Practice 1
Page 18: CMMC - CNX - Community of Practice 1
Page 19: CMMC - CNX - Community of Practice 1
Page 20: CMMC - CNX - Community of Practice 1
Page 21: CMMC - CNX - Community of Practice 1
Page 22: CMMC - CNX - Community of Practice 1

The Protocols

Page 23: CMMC - CNX - Community of Practice 1

HTTP / MQTT / CoAP

Page 24: CMMC - CNX - Community of Practice 1

HTTP: GET, POST, PUT, DELETE

Page 25: CMMC - CNX - Community of Practice 1

CoAP: GET, POST, PUT, DELETE

Page 26: CMMC - CNX - Community of Practice 1

MQTT

Page 27: CMMC - CNX - Community of Practice 1

MQ-TelemetryTransport

Page 28: CMMC - CNX - Community of Practice 1

MQTT: PUBLISH, SUBSCRIBE

Page 29: CMMC - CNX - Community of Practice 1

LOW Bandwidth HIGH Latency UNRELIABLE HIGH Cost

NETWORK

Page 30: CMMC - CNX - Community of Practice 1

MQTTA practical protocol for the Internet of Things

Bryan Boyd (IBM) @bryanboyd

VehiclesCows

OvensPacemakersChildren

Smartphones

Page 31: CMMC - CNX - Community of Practice 1

The Internet is (in) everything- vehicles!

- children!

- cows!

- smartphones!

- ovens!

- pacemakersData source: IDC

212 BILLION

By the year 2020…

Total number of available sensor enabled objects

30 BILLIONsensor enabled objects connected to networks

57,000 /secnew objects connecting

Page 32: CMMC - CNX - Community of Practice 1

- open open spec, standard 40+ client implementations !- lightweight minimal overhead efficient format tiny clients (kb) !- reliable QoS for reliability on unreliable networks !- simple 43-page spec connect + publish + subscribe

MQTT

Late 1990s Aug 2010 Nov 2011 Sep 2014

Invented Published Eclipse M2M Standard

a lightweight protocol for IoT messaging

Page 33: CMMC - CNX - Community of Practice 1

MQTT bi-directional, async “push” communication

MQTT!Broker

CONNECT to MQTT broker SUBSCRIBE to thing3/data

CONNECT to MQTT broker PUBLISH to thing3/data

recv

recv

pub

thing #3

thing #1

thing #2

TCP/IP

WebSocket

Page 34: CMMC - CNX - Community of Practice 1

MQTT pub/sub decouples senders from receivers

MQTT!Broker

Analytics

Mobile App

Database

car telemetry

tennis scores

sensor dataHTML5 App

Logger

group chat

publish subscribe

Page 35: CMMC - CNX - Community of Practice 1

MQTT agnostic payload for flexible delivery

MQTT!Broker

CONNECT

0101pub

01010100110011100PUBLISH to thing1/myBinary

{“id”:”thing1”,”lon”:-97.135198, ”lat”:94.19384,”status”:”I’m alive!”}

PUBLISH to thing1/myJSON

data:image/png;base64,A908SFIkjdf…

PUBLISH to thing1/myPicture

{ }pub

:-)pub

Page 36: CMMC - CNX - Community of Practice 1

MQTT retained messages for last value caching

MQTT!Broker

CONNECT,ID=thing1PUBLISH,thing1/battery,{“value”:95},,RETAIN,,,PUBLISH,thing1/battery,{“value”:94},,RETAIN,,,PUBLISH,thing1/battery,{“value”:93},,RETAIN,,,

CONNECT,ID=thing2SUBSCRIBE,thing1/battery

RETAIN,thing1/battery,{“value”:93},PUBLISH

DISCONNECT

Page 37: CMMC - CNX - Community of Practice 1

MQTT last will and testament for presence

MQTT!Broker

CONNECT,ID=thing2SUBSCRIBE,thing1/status2

thing1/status,“Goodbye!”,PUBLISH

CONNECT,ID=thing1,LWT=thing1/status,“Bye!”1

2

(client has network problem)

PINGREQ

PINGREQPINGRESP

PINGRESP

(KEEP_ALIVE seconds pass)

Page 38: CMMC - CNX - Community of Practice 1

MQTT security

MQTT!Broker

CONNECT with username / password

SSL/TLS TCP/IP

- MQTT spec doesn’t define security model aside from username/password authorization on connection

- Brokers *can* implement support for SSL/TLS and policies for connection and messaging

ex. organize topic space by “group” username associated with a group

bboyd is in group “IBM” and can pub/sub IBM/bboyd/#

Page 39: CMMC - CNX - Community of Practice 1

Resources - MQTT home - Eclipse Paho MQTT clients - Mosquitto broker - IBM MessageSight - IBM IoT Foundation - MQTT demos - IBM Messaging Github - IBM Redbook + PickMeUp

!

- Me!

MQTT.org eclipse.org/paho mosquitto.org ibmdw.net/messaging/messagesight internetofthings.ibmcloud.com m2m.demos.ibm.com github.com/ibm-messaging github.com/ibm-messaging/mqtt-PickMeUp !

Bryan Boyd (IBM) @bryanboyd

(coming soon)

Page 40: CMMC - CNX - Community of Practice 1
Page 41: CMMC - CNX - Community of Practice 1

thaiopensource.org

Page 42: CMMC - CNX - Community of Practice 1
Page 43: CMMC - CNX - Community of Practice 1

fcfd18fe34db3b985ccf7f09cb3f30fffa010103c4090000540b0000e703000031050000086275646479303031000000000000000000000000000000000090d0a

Page 44: CMMC - CNX - Community of Practice 1
Page 45: CMMC - CNX - Community of Practice 1
Page 46: CMMC - CNX - Community of Practice 1
Page 47: CMMC - CNX - Community of Practice 1
Page 48: CMMC - CNX - Community of Practice 1
Page 49: CMMC - CNX - Community of Practice 1

Thingspeak

Page 50: CMMC - CNX - Community of Practice 1
Page 51: CMMC - CNX - Community of Practice 1
Page 52: CMMC - CNX - Community of Practice 1
Page 53: CMMC - CNX - Community of Practice 1
Page 54: CMMC - CNX - Community of Practice 1
Page 55: CMMC - CNX - Community of Practice 1
Page 56: CMMC - CNX - Community of Practice 1
Page 57: CMMC - CNX - Community of Practice 1

open-source embedded operating system for low-power connected microcontrollers.

Page 58: CMMC - CNX - Community of Practice 1
Page 59: CMMC - CNX - Community of Practice 1

Thank you ( :