simple things about internet of things

100
Simple Things about Internet of Things Muhammad Hassan Nasr Senior Software Engineer GISTIC April 2015

Upload: muhammad-hassan-nasr

Post on 15-Jul-2015

383 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Simple things about internet of things

Simple Things about

Internet of Things

Muhammad Hassan Nasr Senior Software Engineer

GISTIC

April 2015

Page 2: Simple things about internet of things

About Me!

Page 3: Simple things about internet of things
Page 4: Simple things about internet of things

muhammadhassan nasr.com

Page 5: Simple things about internet of things
Page 6: Simple things about internet of things

#Computer_Engineering @2004

Page 7: Simple things about internet of things

Technical Lead

@

Page 8: Simple things about internet of things

CoFounder

of

Page 9: Simple things about internet of things

Senior Software Engineer

@

Page 10: Simple things about internet of things

var experience = 10.years+

Page 11: Simple things about internet of things
Page 12: Simple things about internet of things

the network of physical objects or "uniquely identifiable things"

embedded with software, sensors and connectivity to enable it to

achieve greater value and service by exchanging data

without human interaction.

Internet of Things is…

Page 13: Simple things about internet of things

Shortly called IoT…

Page 14: Simple things about internet of things

Also called M2M(Machine to Machine)

Page 15: Simple things about internet of things

Agenda

Why IoT?

What is IoT?

How to build IoT?

Tips

Page 16: Simple things about internet of things

Why IoT?

Page 17: Simple things about internet of things

Internet is everywhere

like electricity

Page 18: Simple things about internet of things

wireless Internet is getting cheaper

Page 19: Simple things about internet of things

Connectivity chips

#wifi

#3G

getting more affordable

Page 20: Simple things about internet of things

On 2020

20-50 billion devices expected to be connected

7 devices per person!

Page 21: Simple things about internet of things

Huge Business Opportunity

Page 22: Simple things about internet of things

IoT Takes Over Big Data

As Technology

July 2014

Page 23: Simple things about internet of things

Gartner’s 2012 Hype Cycle

Page 24: Simple things about internet of things

Gartner’s 2013 Hype Cycle

Page 25: Simple things about internet of things

Gartner’s 2014 Hype Cycle

Page 26: Simple things about internet of things

What is IoT?

Page 28: Simple things about internet of things

Real Life Examples

Page 29: Simple things about internet of things

LG SMART THINQ

Page 30: Simple things about internet of things

Works with Smart Grid

Page 31: Simple things about internet of things

Works with

Page 32: Simple things about internet of things

What if Apple made a Car?

Page 33: Simple things about internet of things

Tesla Car

Page 34: Simple things about internet of things

Detect repairs

Schedule fix Autonomously

Connected Car

Page 35: Simple things about internet of things

IoT Components

Page 36: Simple things about internet of things

IoT ComponentsDevices

Sensors

MCUs

Small Computers/Smart Phones

Gateways

Network

Media and Protocols

Middleware / IoT Platforms

Cloud

Storage (SQL, NoSQL)

Web apps, APIs, analytics, …

Page 37: Simple things about internet of things
Page 38: Simple things about internet of things

Architecture of ARM mbed

Page 39: Simple things about internet of things

How to Build IoT?

Page 40: Simple things about internet of things

Devices

Page 41: Simple things about internet of things

MCUs

Arduino

Microduino

TI Launch Pad

Page 42: Simple things about internet of things

Spark Electron

Spark Electron

(IoT for folks)

Page 43: Simple things about internet of things

Spark ElectronArduino-like cellular development kit

Open Source HW & SW

$39/board

$3/Month Data plan

Page 44: Simple things about internet of things
Page 45: Simple things about internet of things

Monitor soil moisture

Page 46: Simple things about internet of things

Small ComputersRaspberry Pi 2

$35

900 MHZ quad-core

1 GB RAM

HDMI, …

Big community

Page 47: Simple things about internet of things

Small Computers

BeagleBone Black

Intel Galileo (Arduino based)

Page 48: Simple things about internet of things

OS for DevicesContiki-OS

Designed for IoT (Memory, Protocols, Battery)

Open Source

Raspbian

ARM mbed OS

Linux/*nix,…

Page 49: Simple things about internet of things

Network

Page 50: Simple things about internet of things

Network

Media and Protocols

Wired?

Wireless

Page 51: Simple things about internet of things

Everything is going wireless So is

The Internet of Things

Page 52: Simple things about internet of things

Wired Ethernet is almost obsolete!

Page 53: Simple things about internet of things

Wireless NetworkingWiFi (Battery Hungry)

BLE (Great for PAN)

GSM

Works for many use cases

$$ for large # of devices

Page 54: Simple things about internet of things

Other Wireless NetworkingZ-Wave

ZigBee

6LoWPAN

LoRa

Page 55: Simple things about internet of things

ZigBee Vs BLEZigBee

WLAN (Home Automation)

Mesh topology covers unlimited # of nodes

Sense & Control apps

BLE

PAN

Star topology covers limited # of nodes

Body and Peripherals

Page 56: Simple things about internet of things

LoRaLong Range

2+ Miles Range In Dense Urban (NLOS)

Low Power (Multi-Year Battery)

One Gateway support 10(s)K Nodes

Data Rates < 300 kbps

Page 57: Simple things about internet of things

Libelium's LoRa module

Non Line Of Sight (NLOS) Tests

Page 58: Simple things about internet of things
Page 59: Simple things about internet of things

Middleware

Page 60: Simple things about internet of things

Agenda for MiddlewareProtocols

Data Transfer

Device Management

IoT platforms

Standardization

Page 61: Simple things about internet of things

Data Protocols

Page 62: Simple things about internet of things

Data ProtocolsHTTP

MQTT

CoAP

AMQP, STOMP

WebSocket

Page 63: Simple things about internet of things

MQTTPublish/Subscribe

Lightweight (than HTTP)

IBM says “MQTT can send messages wirelessly using 10 times less battery power and 93 times faster"

Best for:

Low Bandwidth

Unreliable Network

Page 64: Simple things about internet of things

CoAP

RESTful design

Feels like HTTP

Lighters than HTTP

Best for: MCUs 10 KiB RAM

Page 65: Simple things about internet of things

Device Management Protocols

Page 66: Simple things about internet of things

Device Management Protocols

Manual Approach

TR-069

OMA-DM

OMA Lightweight M2M

OSGi

Page 67: Simple things about internet of things

Manual ApproachUpdate Device

SSH login/run script remote

Or Pull changes using git

Device monitoring

Send heartbeats to custom web service

Page 68: Simple things about internet of things

Manual Approach

Pros

very lightweight

Cons

reliable, scalable?

Page 69: Simple things about internet of things

OMA-DMProvisioning

Configuration of the device (including first time use)

Enabling and disabling features

Device Configuration (change device settings & parameters)

Software Upgrades

Fault Management (Report error, status)

Open Source implementations available

Page 70: Simple things about internet of things

OMA Lightweight M2MSimple, efficient protocol

Banking class security (DTLS, …)

Supports Cellular, 6LoWPAN, WiFi and ZigBee IP or any other IP-based devices

Open Source Implementation

Page 71: Simple things about internet of things

OSGiAn open standard service platform for Java

Enables dynamic component model (bundles)

Bundles can (remotely without a reboot) be:

installed/uninstalled

started/stopped

updated

Page 72: Simple things about internet of things

OSGi Other Features

Run on low power hardware 156 MHz and 8 MB RAM only

Many commercial/Open Source Implementations

Page 73: Simple things about internet of things

Middleware

IoT Platforms

Page 74: Simple things about internet of things

CommercialTelefonica $$$

Oracle IoT $$$

Bosch IoT Suite $$$

Temboo

ARM mbed

IBM IoT

Thingworx $$$

Xively $$$$

PubNub

Page 75: Simple things about internet of things

Open Source

Sentilo

Kura

Node-RED

Page 76: Simple things about internet of things

Kuraiot.eclipse.org project

Policy-driven publishing system

Abstracts developer from network complexity

Default Messaging lib:

Eclipse Paho (MQTT)

Page 77: Simple things about internet of things

KuraCloud Services - API to communicate with remote servers

OSGi Remote Management

Watchdog Service (Force system reset upon problem).

Web-based management for gateway

Page 78: Simple things about internet of things

Node-REDDeveloped by IBM

A tool for wiring hardware devices, APIs and online services.

Browser-based flow editing

Lightweight runtime built on Node.js

120,000+ modules

Page 79: Simple things about internet of things
Page 80: Simple things about internet of things

IBM IoTUsing Open Standards like MQTT

Part of IBM awesome cloud service Bluemix

Supporting many languages, VMs, Node-RED, …

Open/Affordable Prices with 30 days trial

Scalable

Page 81: Simple things about internet of things

Parse.comBackend as a Service (Baas)

Easy to use

SDKs for iOS, Android, JS, …

SDKs for Arduino and Embedded C

Generous free package

Page 82: Simple things about internet of things

ARM mbedARM approach to IoT, they have built

their own Device OS and Device Server (middleware)

Page 83: Simple things about internet of things
Page 84: Simple things about internet of things

ARM mbed Case Study

Page 85: Simple things about internet of things

mbed Smart City

Page 86: Simple things about internet of things

Case Study

Faheem Traffic Monitoring

Page 87: Simple things about internet of things
Page 88: Simple things about internet of things

TraffiCloud

(DriveTimes Feature)

Page 89: Simple things about internet of things

What is IoT?

Page 90: Simple things about internet of things

Standardization

Page 91: Simple things about internet of things

Standardization Fragmentation

Apple HomeKit

OData

AllJoyn

OneM2M

Open Interconnect Consortium

Page 92: Simple things about internet of things

Tips

Page 93: Simple things about internet of things

TipsThe IoT is Huge

Many challenges!

Many technologies/protocols

Design for Best Fit

Determine your hardest problem

Choose the primary protocol/tool to solve it

Page 94: Simple things about internet of things

Tips

A complex system can use more than one protocol/tool

Support standard IoT protocols

Use time series NoSQL/Big Data

Page 95: Simple things about internet of things

Tips

Security is not an option

Scalability & APIs

Sandbox/testing environment

Page 96: Simple things about internet of things

Software And Hardware Together

Page 97: Simple things about internet of things

iOS + iPhone

vs

Android + LG +Samsung + …

Page 98: Simple things about internet of things

Questions

Page 99: Simple things about internet of things

[email protected]

linkedin.com/in/muhammadhassan

Page 100: Simple things about internet of things

Thank you!