Mais conteúdo relacionado
Semelhante a Node.js as an IOT Bridge (20)
Mais de Eduardo Pelegri-Llopart (20)
Node.js as an IOT Bridge
- 1. Node.js as an IOT Bridge
Eduardo Pelegri-Llopart
Vice President, Technology
Progress Software
pelegri@progress.com / @pelegri
- 2. © 2014 Progress Software Corporation. All rights reserved.
2
Agenda
Progress
Why Progress cares about IOT
Why Node.js
iBeacons and Philips Hues
Snow Plows
- 4. © 2014 Progress Software Corporation. All rights reserved.
4
Progress Products
Progress OpenEdge
•RDBM, Multi-Tenant DB with 4GL Language (ABL)
•First commercial release in 1984; latest release 11.3
•ERP, CRM, back-end systems.
•Many Faithful ISV and end users
Rollbase – Object-based Productivity Platform (akin to Force.com)
Rollbase Mobile – Apache Cordova-based Mobile Platform
Corticon – Decision Service / Business Rules
Modulus – Node.js and MongoDB Platform
All w/ Flexible Deployment: Public Cloud, Private Cloud, On-Premises
- 5. © 2014 Progress Software Corporation. All rights reserved.
5
Computing Tomorrow
Today!
- 6. © 2014 Progress Software Corporation. All rights reserved.
6
Many 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
- 7. © 2014 Progress Software Corporation. All rights reserved.
7
Some Progress Partners
DMSi
GMT Macintosh Jungle Lasers
- 9. © 2014 Progress Software Corporation. All rights reserved.
9
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)
- 10. © 2014 Progress Software Corporation. All rights reserved.
10
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
- 11. © 2014 Progress Software Corporation. All rights reserved.
11 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
- 12. © 2014 Progress Software Corporation. All rights reserved.
12
Roll Call
- 13. © 2014 Progress Software Corporation. All rights reserved.
13
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
- 14. © 2014 Progress Software Corporation. All rights reserved.
14
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
- 15. © 2014 Progress Software Corporation. All rights reserved.
15
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
Firewall
- 16. © 2014 Progress Software Corporation. All rights reserved.
16 Snow Plow
- 17. © 2014 Progress Software Corporation. All rights reserved.
17
Tracking and Managing Snow Plows … With Rollbase
Snow Plows (et al) have GPS unit
Based on Jungle Lasers’ App
Goals
Efficiently Managing GPS Stream Data
Exposing data to Rollbase
- 18. © 2014 Progress Software Corporation. All rights reserved.
18
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)
- 19. © 2014 Progress Software Corporation. All rights reserved.
19
jsdo-node – JDSO Remoting into Node.js Layer
Rollbase App
Node.js Layer
Node JSDO server objects
Any JSDO Client
- 20. © 2014 Progress Software Corporation. All rights reserved.
20
Snow Plow DEMO
- 21. © 2014 Progress Software Corporation. All rights reserved.
21
What Else?
- 22. © 2014 Progress Software Corporation. All rights reserved.
22
What Else Can We Do with Node? Samples at http://github.com/progress
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
Thanks to David Inglis, Keegan Mendonca and Reeti Banthia, and Jungle Lasers http://dcinglis.wordpress.com & http://mendoncakeegan.wordpress.com