what is iot and how modulus and pacific can help - featuring node.js and rollbase
DESCRIPTION
Presentation at Progress Exchange 2014. The Internet of Things is everywhere, from the connected home to the connected car, from smart watches to smart glasses, from beacons to smart thermostats. In this session we will provide an updated view of the IOT space and we will show you how Pacific technology like Node.js and Rollbase can be used to build IOT applications. The presentation included a demo showing how Node.js and MongoDB can be used to process a GPS feed (from vehicles like snow plows), using MongoDB to store the data. The data is then presented to Rollbase as an external source where it can be combined with other sources in model-driven productivity applications. The content is also exposed via REST through a SPA using AngularJS and through an Apache Cordova (Phonegap)-based mobile app.TRANSCRIPT
What Is IoT, and How Modulus
and Pacific Can Help
Eduardo Pelegri-Llopart
Vice President, Technology
Progress Software
© 2014 Progress Software Corporation. All rights reserved. 2
Agenda
What Is IoT
What Is Node
Why Node.js and IoT
Two Examples
What Else? Samples, More Samples
© 2014 Progress Software Corporation. All rights reserved. 3
What Is IoT
© 2014 Progress Software Corporation. All rights reserved. 4
Computing Tomorrow
© 2014 Progress Software Corporation. All rights reserved. 5
Computing Today!
© 2014 Progress Software Corporation. All rights reserved. 6
Some IoT Applications
Beacons, (indoor) Location Based Services
Payments
Home / Office Automation
Smart Buildings
Industry Automation
Wearables – Secondary Notifications & Health / Fitness
Connected Cars
Smart Cities
….
Very fast moving space Brought to you by the economy
of scale of mobile devices
© 2014 Progress Software Corporation. All rights reserved. 7
Protocols
© 2014 Progress Software Corporation. All rights reserved. 8
IoT = Connected, Thus, Protocols
Many Protocols, in all layers
Physical: Z-Wave, Zigbee, Bluetooth LE, Wi-Fi, RFID, Thread (new),
Ethernet, Radios
• Radio frequency, range, power consumption
• IP support, Hub/Mesh topology
• Examples: iBeacon (BLE) and Philips Hue (Zigbee)
Session / Communication:
• HTTP, CoAP (doc transfer)
• XMPP, MQTT, AMQP (pub/sub)
What protocol to choose will vary on goals and application
(QoS, Industry/Consumer)
© 2014 Progress Software Corporation. All rights reserved. 9
Two Examples: iBeacons and Philips Hue
Apple iBeacon – notification protocol on BLE
• Signal 2/s – 10/s, 3-6months/2years battery
• Power (proximity) and UID (identity)
• Point-to-Point, no pairing, 50 meters
• Indoor microlocation, retail, etc…
Philips Hue
• Ethernet/IP (Bridge) + Zigbee/Mesh (Bulb)
• AC power
• REST interface (to bridge)
• Home automation
© 2014 Progress Software Corporation. All rights reserved. 10
Smart Glasses
© 2014 Progress Software Corporation. All rights reserved. 11
Display: Glass vs. BT-200
Monocular
Small FOV
Binocular
Large FOV
Glass
© 2014 Progress Software Corporation. All rights reserved. 12
Business Use Cases and Key Verticals – Smart Glasses
Business Use Cases
• Rich Communications – phone, messaging, video conferencing, video sharing
• Continuous data streaming – messages, tasks, alerts
• Augmented reality – Training, recording, next-step guideance, compliance
Key Verticals – Enable “Deskless Workers” 10% of workforce
• Military
• Healthcare
• Manufacturing
• Logistics
• Energy/Utilities
© 2014 Progress Software Corporation. All rights reserved. 13
Home Automation
© 2014 Progress Software Corporation. All rights reserved. 14
Home – Philips Hue,
Nest
Building Energy
Management –
Enlighted Inc
Commercial Appliance
Management
ESEV Charging
Infrastructure
Home & Building Automation / Industrial Management
© 2014 Progress Software Corporation. All rights reserved. 15
Business Use Cases
House – Remote control
and monitoring,
Automation, Energy
monitoring and savings…
Smart Buildings – Better
efficiency, Compliance
with new laws
(California Title 24)
Industry 4.0, Smart
Manufacturing
Business Use Cases – House, Office Automation, Smart Buildings
Recall Apple’s track record of moving from “consumer” to “enterprise”
© 2014 Progress Software Corporation. All rights reserved. 16
Wearables
© 2014 Progress Software Corporation. All rights reserved. 17
Health / Wearables / Secondary Displays
Fast moving field
Fitness bands
Smart watches
Smart clothing
Smart glasses
© 2014 Progress Software Corporation. All rights reserved. 18
Wearables – Telematics
© 2014 Progress Software Corporation. All rights reserved. 19
Connected Cars
Remote Access to Cars (Tesla, FIAT) and Chargers
OTA (Over-the-Air) Fixes pushed to Tesla Cars
Vehicle tracking, fleets, taxis….
© 2014 Progress Software Corporation. All rights reserved. 20
Beacons
© 2014 Progress Software Corporation. All rights reserved. 21
Beacons
© 2014 Progress Software Corporation. All rights reserved. 22
Business Use Cases – Beacons
Business Use Cases
• Retail – Targeted Advertising, Special Offers,
Loyalty Apps, Indoor Micro-location and Navigation
• Warehousing – Location, Inventory
• Electronic Payments
Some Ongoing Trials:
© 2014 Progress Software Corporation. All rights reserved. 23
Smart Cities
© 2014 Progress Software Corporation. All rights reserved. 24
Smart Cities
Garbage Trucks Lights Utilities Traffic Lights Government 2.0
So… How Can I Build These Apps?
© 2014 Progress Software Corporation. All rights reserved. 26
Enter Modulus
© 2014 Progress Software Corporation. All rights reserved. 27
What Is Node.js
© 2014 Progress Software Corporation. All rights reserved. 28
Node.js = V8 + libuv (+ xtras) + Community (NPM)
A JavaScript Runtime to run outside of the browser
Builds on the Javascript V8 engine and libuv library for async IO
Highly Efficient
Highly Portable
Event-Driven
Built-in package manager (NPM)
© 2014 Progress Software Corporation. All rights reserved. 29
Why Are JavaScript & Node Growing So Fast?
Why JavaScript?
Virtually all developers know it
Widest developer footprint of any language
Easy to learn, productive
Even business users learn it fast
Used for everything
Browser, Server-side, Mobile, Wearables, IoT
Used at all levels of the stack
Frontend, middleware and backend DB
Maximizes developer collaboration
All developers can contribute everywhere
Why Node?
Event-based model, highly scalable
Great for data-intensive, real-time apps
Web API Focused
Very good fit for API-first architectures
Extremely efficient
Requires few computational resources
Incredible Community and Ecosystem
Over 97,000 packages
Fast and easy setup
Passes the 5 minute test
© 2014 Progress Software Corporation. All rights reserved. 30
Why Is Node a Great Match for IoT
Why JavaScript?
Virtually all developers know it
Widest developer footprint of any language
Easy to learn, productive
Even business users learn it fast
Used for everything
Browser, Server-side, Mobile, Wearables, IoT
Used at all levels of the stack
Frontend, middleware and backend DB
Maximizes developer collaboration
All developers can contribute everywhere
Why Node?
Event-based model, highly scalable
Great for data-intensive, real-time apps
Web API Focused
Very good fit for API-first architectures
Extremely efficient
Requires few computational resources
Incredible Community and Ecosystem
Over 97,000 packages
Fast and easy setup
Passes the 5 minute test
© 2014 Progress Software Corporation. All rights reserved. 31
Roll Call Sample
© 2014 Progress Software Corporation. All rights reserved. 32
Roll Call Sample
Use iBeacons to detect presence in some space
Record this in our servers
Act on this by manipulating some smart lights
For extra credit smart lights are behind firewall
© 2014 Progress Software Corporation. All rights reserved. 33
Mongoose
BLE/iBeacon
iOS
Web
Node MongoDB
POST
request
Express
Roll Call and Node.js
Hue
Bridge
Local
Node
Server
Modulus
Node
Server
iOS
App
Bulb
Bulb
Bulb
Firew
all
© 2014 Progress Software Corporation. All rights reserved. 34
Snow Plow Sample
© 2014 Progress Software Corporation. All rights reserved. 35
Tracking and Managing Snow Plows … With Rollbase
Snow Plows (et al) have GPS unit
Based on Jungle Lasers’ App
Goal
s
Efficiently Managing GPS Stream Data
Exposing data to Rollbase
© 2014 Progress Software Corporation. All rights reserved. 36
End-to-End: Snow Plow / Geo Data Example Location-viewer
Rollbase App
Dashboards
Modulus
JSDO
Remote Objects
AngularJS SPA
App
Municipality Data
Rollbase Mobile
GPS
Data
Node and
MongoDB
OEM Data
(emergencies)
Current Data
Historical Data
Hospital Patients
(e.g. dialysis)
© 2014 Progress Software Corporation. All rights reserved. 37
jsdo-node – JDSO Remoting into Node.js Layer
Rollbase App
Node.js Layer
Node JSDO
server objects
Any
JSDO Client
© 2014 Progress Software Corporation. All rights reserved. 38
Snow Plow DEMO
© 2014 Progress Software Corporation. All rights reserved. 39
What Else?
© 2014 Progress Software Corporation. All rights reserved. 40
What Else Can We Do with Node?
Corticon 5.4
REST Interface
Node.js Layer
POST / JSON AngularJS
SPA
Rollbase
Node.js Layer
Invoke REST
AngularJS
SPA
Socket.io
or REST
Rollbase
Mobile
Angular Node OpenEdge REST JSDO
© 2014 Progress Software Corporation. All rights reserved. 41
Open Source Samples on Node.js and IoT at Github.com/Progress
ios-beacon-scanner
roll-call (4 apps)
angular-demo
corticon-angular-app
corticon-angular-insurance
angular-express-rollbase-seed
angular-rollbase-blog
jsdo-node
locations-viewer
Thanks to David Inglis, Keegan Mendonca and Reeti Banthia, and Jungle Lasers
http://dcinglis.wordpress.com & http://mendoncakeegan.wordpress.com
Get session details & presentation downloads
Complete a survey
Access the latest Progress product literature
www.progress.com/exchange2014
Visit the Resource Portal