node.js is made for iot - node.hh 07/16, hamburg by michael kuehne
TRANSCRIPT
Who are these IoT Developers?
Some Numbers Javascript = Prefered Language of ~ 58% IoT Developers
~ 56% IoT Developers = Hobbyists with Non-IoT Background
What are they develop? App for Existing Device (Smart Watch)
Standalone Device (Fitness Band)
Integ. Limited # of Sensors (Hub)
Integ. Devices in Network (Smart City)
Combining Data from Mult. Sources (Health App)
Data Aggreg. From Exisitng Devices (Air Quality)
Back-end Development
VisionMobile „IoT Developer Landscape 2015“
Cybus: A Middleware for the Industrial Internet of Things
Security Monitoring Maintenance Efficiency Sovereignty
Async
Why Node.js?
Single Threaded
Event-Driven, Non Blocking I/O Model
Speed, Scalability & Efficiency of JS and V8
Well-proven for APIs & Microservice Architecture
Well-developed IoT Modules
„The Node.js community made node.js THE platform for IoT“
MQTT Protocol
Open Industry Standard (by OASIS)
M2M connectivity Protocol
Lightweight Publish/Subscribe Protocol
Data Agnostic
Small Footprint
Low Bandwith (min. size 2 bytes)
TLS & Certificates
MQTT Basics
Topics
io/cybus/dobot/status/coordinates
io/cybus/dobot/command/coordinates
Messages
[io/cybus/dobot/status/coordinates] -0.4976327,13.7116192
Quality of Service Levels
0 – best effort
1 – deliver at least once
2 – deliver exactly once
io/cybus/+/status/coordinates
io/cybus/dobot/status/#
MQTT Publish/Subscribe
MQTT Broker
Monitoring
Maintenance
publish: -0.49...,13.71...
publish: -0.49...,13.71...
subscribe
subscribe
publish: -0.49...,13.71...
Topic: io/cybus/dobot/status/coordinates io/cybus/dobot/command/coordinates
MQTT & Node.js
Client
MQTT.js
Bridge
Ponte (MQTT <> REST API <> CoAP)
Broker
Mosca (written in node.js)
Mosquitto (open source)
VerneMQ (enterprise – open source)
HiveMQ (enterprise – commercial)
Node-RED
A visual tool for wiring the Internet of Things
created by IBM
Pulls different device APIs and online services together
Extendable with plugins written in node.js
Written in node.js
Rapid Prototyping for IoT
Wanna know more!? Checkout meetup.com/Node-RED-Hamburg
Conclusion
Node.js is made for industrial IoT
One Language for the whole plattform
Less Resources but Speed
Great for Microservice Architecture
Supports & Integrates different industrial protocols
Node-RED
Thx! ...and get connected!
cybus.io @cybus_io [email protected]
Pssst! We‘re hiring!
Michael Kuehne @michikuehne [email protected]
Appendix
MQTT
MQTT.js - https://www.npmjs.com/package/mqtt
Ponte http://www.eclipse.org/ponte
Mosca - https://github.com/mcollina/mosca
Mosquitto - https://mosquitto.org
VerneMQ - https://vernemq.com
HiveMQ - http://www.hivemq.com
IoT Stuff
Cylon.js - https://cylonjs.com
Johnny five - http://johnny-five.io
Tessel - https://tessel.io
Node-Red - http://nodered.org
Intel XDK IoT Edition - https://software.intel.com/en-us/intel-xdk-iot-edition-guide