html5 powered internet of things products
Post on 01-Jul-2015
319 Views
Preview:
DESCRIPTION
TRANSCRIPT
Clickslide.coaaron@clickslide.co@clickslideCTO
Introduction
ActionScript
Cordova
JavaScript
PHP
• Ruby
• C++
• C#
• Java
AWS
Jelastic
• Heroku
Node.js
• Binary Packets
APIs!!!!!
Clickslide.coaaron@clickslide.co@clickslideCTO
HTML5 Powered IoT Products
JavaScript and the virtual API software stack.
Clickslide.coaaron@clickslide.co@clickslideCTO
What We’ll Cover
Part 1:
General Overview of infrastructure for Virtual
API Software Stack.
Part 2:
Breakdown of a practical example with
sample code and process overview.
Clickslide.coaaron@clickslide.co@clickslideCTO
What are IoT Products?
Clickslide.coaaron@clickslide.co@clickslideCTO
“Smart” vs. “Intelligence”
Smart and intelligent are not the same
Clickslide.coaaron@clickslide.co@clickslideCTO
Internet Connected
What does it take to get an object online?
Clickslide.coaaron@clickslide.co@clickslideCTO
Sensor Data
Quick Demo of using sensor data in
JavaScript using:
• Simply.js
• Pebble Watch
Clickslide.coaaron@clickslide.co@clickslideCTO
IoT Infrastructure
JavaScript everywhere!
Clickslide.coaaron@clickslide.co@clickslideCTO
JavaScript in the browser
• Data Analysis
• Business Logic
Clickslide.coaaron@clickslide.co@clickslideCTO
JavaScript in Cordova (Phonegap)
• Quick demo of App structure for Cordova
• Event Driven
• Templates
– Jsviews is awesome
• Plugins
Clickslide.coaaron@clickslide.co@clickslideCTO
JavaScript on Arduino
• Johnny Five
• Firmata
• Quick Demo of LED blinky
Clickslide.coaaron@clickslide.co@clickslideCTO
I APIs
Clickslide.coaaron@clickslide.co@clickslideCTO
HTTP
vs.
Web Hooks
vs.
Web Sockets
Clickslide.coaaron@clickslide.co@clickslideCTO
HTTPKeep it in the client!
Large packets of data all at once
Clickslide.coaaron@clickslide.co@clickslideCTO
Web Hooks
If This Then What?
Push notifications for servers
Clickslide.coaaron@clickslide.co@clickslideCTO
1 : 1
POST
Web Hooks
No chain of events
Clickslide.coaaron@clickslide.co@clickslideCTO
Web Sockets
“Real Time” messaging for Apps
ClientServer
Clickslide.coaaron@clickslide.co@clickslideCTO
Information Routing
Think of Node.js as a message router for Web Sockets and Web Hooks.
Node.js
API
Node.js
Service
Node.js
Service
Node.js
Service
TCP
TCP
TCP
Clickslide.coaaron@clickslide.co@clickslideCTO
Relieve Stress
Move business logic to the front-end
Clickslide.coaaron@clickslide.co@clickslideCTO
API Intelligence
Set it and forget it
Front End
API
APIAPI
IaaS
Social, Geo, SaaS, etc.Quantifiable Self
BaaS
Clickslide.coaaron@clickslide.co@clickslideCTO
Front-end Only
Business logic in a JavaScript client.
Front End
API
APIAPI
IaaS
Social, Geo, SaaS, etc.Quantifiable Self
BaaS
Web Socket
Router
Clickslide.coaaron@clickslide.co@clickslideCTO
Data Structuring
• Reusable Logic
• Reusable components
• Plug-’n’-play intelligence with APIs
• Focus on building beautiful front-ends
• 100% JavaScript applications
Clickslide.coaaron@clickslide.co@clickslideCTO
Software Stack
Client(HTML/CSS/J
avaScript)Serversdatabases
Traditional proprietary software stack
Programming required
Clickslide.coaaron@clickslide.co@clickslideCTO
Software Stack Using APIs
HTML5 Client
Server
databases
Traditional proprietary software stack leveraging APIs
APIs
Programming required
Clickslide.coaaron@clickslide.co@clickslideCTO
Virtual API Stack
Client(JS/HTML5)
API Powered JavaScript Client
APIs
Programming required
Clickslide.coaaron@clickslide.co@clickslideCTO
Virtual API Stack with
Datadipity
Datadipity
Front-end Only – JavaScript Everywhere
APIs
NML.js
Client
Programming required
No Programming required
Clickslide.coaaron@clickslide.co@clickslideCTO
Security
• No data stored on Client
• PCI Compliant
• Copyright Algorithms where needed
• SSL
• MD5/SHA Hash
Clickslide.coaaron@clickslide.co@clickslideCTO
Security Continued
Clickslide.coaaron@clickslide.co@clickslideCTO
BREAK TIME
Recap
• Virtual API Software Stack – No More
Backend!
• APIs Provide Intelligence to smart objects
• JavaScript Firmware
Clickslide.coaaron@clickslide.co@clickslideCTO
My Hardware Setup
Clickslide.coaaron@clickslide.co@clickslideCTO
The Firmware
• Johnny-five for Node.js
– Also, Cylon-js etc..
Clickslide.coaaron@clickslide.co@clickslideCTO
The Webhook
• Get data from M2X locally with Ngrok
Clickslide.coaaron@clickslide.co@clickslideCTO
The HTML
• Socket.io
• Bootstrap
• JSViews
• Jquery
• Modernizer
• NML.js
Clickslide.coaaron@clickslide.co@clickslideCTO
The App
Clickslide.coaaron@clickslide.co@clickslideCTO
APIs To Integrate
• AT&T M2X for real time sensor data
• AT&T In App Messaging for SMS
Clickslide.coaaron@clickslide.co@clickslideCTO
Mashup APIs
• SMS
Clickslide.coaaron@clickslide.co@clickslideCTO
Test The Integration
Clickslide.coaaron@clickslide.co@clickslideCTO
Structure The Data
Clickslide.coaaron@clickslide.co@clickslideCTO
Download NML.js
• https://github.com/clickslide/NML.js
Clickslide.coaaron@clickslide.co@clickslideCTO
Publish The API
• Generates XML, JSON, JSONP REST
endpoint for your mashup.
Clickslide.coaaron@clickslide.co@clickslideCTO
Create Cordova Ready App
Clickslide.coaaron@clickslide.co@clickslideCTO
Prepare App Views
• JSViews
– ./templates/jsviews/loading-progress.html
– ./temples/jsviews/login-register-auth.html
Clickslide.coaaron@clickslide.co@clickslideCTO
Instantiate NML.js
Clickslide.coaaron@clickslide.co@clickslideCTO
Take Away
• Firmware is JavaScript, which is a different
type of front-end
• JavaScript developer can now be founders
of hardware companies
• 2 man team to manage full IoT company
at scale; 1 firmware, 1 full-stack.
Clickslide.coaaron@clickslide.co@clickslideCTO
Where JavaScript Shines
• Web Hooks
– to Node.js Server
• Web Sockets
– Server to Client(s)
– Client to Client(s)
• Ajax
– Client to APIs
– APIs to Client(s)
Clickslide.coaaron@clickslide.co@clickslideCTO
Tools
• Server Frameworks– Meteor
– Express
– Percolate
– Keystone
– Actionhero
• BaaS– Parse
– Kinvey
– Firebase
• SaaS– Social
– Geolocation
– Gaming
• Scaling– AWS
– Heroku
– Joyent
– Nodejitsu
– MongoDB - the JavaScript of NoSQL dbs.
• IaaS– Datadipity
• Front-end– Angular
– Backbone
– NML.js
– Jquery
Clickslide.coaaron@clickslide.co@clickslideCTO
Things to Remember
• APIs are eventually consistent
• Leverage Services not Servers
• Up-front costs are minimally higher, but
save drastically in the long term
• Use Web Sockets to send events between
apps
• Use APIs to get Data into your Apps
• HTML5 is the future!
Clickslide.coaaron@clickslide.co@clickslideCTO
Sign Up Today
http://clickslide.co
top related