Upgrade to Pro — share decks privately, control downloads, hide ads and more …

node.js is made for IoT - node.HH 07/16, Hamburg by Michael Kuehne

node.js is made for IoT - node.HH 07/16, Hamburg by Michael Kuehne

Every device gets connected…from coffee machine to fridge over vibrator. It looks like that every hardware manufacturer wants to be part of the game. That’s great and this trend creates lots of cool opportunities for developers.But the rapid growth of different protocols and in particular proprietary implementations makes it hard to stay connected or to get connected in the first place.But lucky us! Node.js is a great solution for IoT.
In this talk I want to outline why node.js is an great choice for IoT projects and why non-blocking IO model is so important for IoT. Furthermore I want to show you what’s the easiest why to get started, if your home is a jungle of different devices.

More Decks by Michael Kuehne-Schlinkert

Other Decks in Technology

Transcript

  1. 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“
  2. Cybus: A Middleware for the Industrial Internet of Things Security

    Monitoring Maintenance Efficiency Sovereignty Async
  3. 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“
  4. 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
  5. 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/#
  6. 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
  7. 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)
  8. 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
  9. 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
  10. 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