96
IoT prototyping made simple

IoT prototyping made simple

Embed Size (px)

Citation preview

IoT prototyping made simple

● Developer Evangelist @ PubNub

● @bhavana1110

● Electrical engineer

Internet of Many things

Moore’s Law

● ARM processor

● Sensors

● Boards

Cheaper “Capable” Computing

C.H.I.P

Raspberry Pi Zero

ESP8266

Your first IoT prototype

Simple IoT example

Send & Receive Data to/from Data Center via Internet

In reality...Mobile devices

Mobile devices

Mobile devices

Smart Hardware

Smart Hardware

What are the different components?● Hardware

● Software

● Network

● Security

● Realtime

Which board do I use?

Courtesy : Make magazine

What are you building?

Withings: Smart Body Analyzer

GE Link

Cinder Sensing Cooker

Nest: Learning Thermostat

Whistle: Connected pet collar

Amazon Dash Button

Education

Arduino Uno Raspberry Pi 2, Model B

Home Automation

Photon, Particle ESP8266 WiPy

Software

C based

JavaScriptPython/C

Arduino compatible

Communication protocols

REALTIME

How can they talk in real time?

How was real time achieved?

How is it done today?

HTTP Long Polling

Presencedetection

Decreased time to market

Storing offlinemessages

Minimum bandwidth

usage

Cross platform supportsecurity

Read/writeAccess to Individual devices

Bidirectional data flow

Power drain

How do you detect different devices on the network?

Security

Home Network IoT device Data Cloud

Open ports Firmware upgrades Encryption Cloud storage

Access to the devices

Open ports from devices

TLS/AES Access to devices

PubNub Confidential © 2015

• Realtime communication• Analytics• Message Routing• Scalability

Mobile/IoT/web

What is PubNub?

Data Stream Network to build scalable realtime

applications for mobile, web and IoT

Real time Applications

Instant Chat

Taxi Dispatch

Controlling devices

Multiplayer game

Mobile, Web and IoTMultiple verticals

// publishpubnub.publish({

channel : “hw_test”, message : “Hello World!” });

// subscribepubnub.subscribe({ channel : "hw_test", message : receiver })

Remote-Controlled LED

publish data subscribe data

Publisher Subscriber

// presencepubnub.subscribe({ channel : “hw_test", presence : pres_reciever, message : receiver});

// storage and playbackpubnub.history({ channel : “hw_test", callback : sp_reciever })

// Key Authorizationvar pubnub = PUBNUB.init({ publish_key : "pam", subscribe_key : "pam", auth_key : "3y8uiaj"})

ESP8266

Data, data, dataWe’re collecting more data than ever.

Every connected device needs a partner app.

(which is just a dashboard)

PubNub EON

Charts + MapsA framework to build dashboards

Runs on the front end

Dashboards for all devices

Publish from any device

Applications

Transportation

Distributed Systems

Statistics Dashboards

Connected Cars

Internet of Things

Fitness trackers

Drones

eon-chart.js

pubnub.jsc3.js

d3.js

eon-map.js

pubnub.jsMapBox.js

leaflet.js

PubNub Blocks

PubNub Blocks

Example Blocks

MQTT Message Queuing Telemetry Transport

● Lightweight Publish/Subscribe

● Resource constrained devices

○ Unreliable networks○ High latency○ Low bandwidth

How does it work?

● Publishers/Subscribers

● Pub/Sub decouples clients

● Topics

● TCP/IP

● QoS

Applications

PubNub vs MQTT

MQTT● Low power embedded devices

● Low bandwidth

● QoS

● No in built security

● Low-high Latency

● Mobile, web and IoT

● High reliability - message delivery

● Security in built

● Real time message delivery

● Highly scalable applications

MQTT PubNub

September 28, 2016

Thank [email protected]