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
JavaScript
Python/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
Presence
detection
Decreased
time to
market
Storing
offline
messages
Minimum
bandwidth
usage
Cross
platform
supportsecurity
Read/write
Access 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 IoT
Multiple verticals
•
•
•
•
•
•
•
•
// publish
pubnub.publish({
channel : “hw_test”,
message : “Hello World!”
});
// subscribe
pubnub.subscribe({
channel : "hw_test",
message : receiver
})
Remote-Controlled LED
publish data subscribe data
•
•
•
•
•
Publisher Subscriber
•
•
•
// presence
pubnub.subscribe({
channel : “hw_test",
presence : pres_reciever,
message : receiver
});
•
•
•
•
// storage and playback
pubnub.history({
channel : “hw_test",
callback : sp_reciever
})
•
•
•
•
// Key Authorization
var pubnub = PUBNUB.init({
publish_key : "pam",
subscribe_key : "pam",
auth_key : "3y8uiaj"
})
ESP8266
Data, data, data
We’re collecting more data than ever.
Every connected device
needs a partner app.
(which is just a dashboard)
PubNub EON
Charts + Maps
A 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
Multi Hardware demo
P
u
l
i
s
h
e
r
s
Subscriber
Humidity
Temperature
Temperature
PubNub
Eon charting
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 you
support@pubnub.com

IoT prototyping made simple