Build High-Performance IoT apps using NodeJS

Agenda

NodeJS & IoT working together

Designing robust NodeJS IoT solution

Demo

Edge Computing - Azure IoT Edge

   Hello👋

I'm Siva

Architect @ Computer Enterprises Inc

#Mobile #IoT #Cloud

Orlando

@ksivamuthu

IoT is the concept of connecting any device to the Internet and to other connected devices.

Sensors / Actuators

Connectivity

Application

Custom-made by certified hardware partners

Stable and robust IoT environment

Use the collected data to optimize your processes

It is predicted that there will be 41.6 billion connected IoT devices, or "things," generating 79.4 zettabytes (ZB) of data in 2025

Node.js + IoT

Empowering everyone to build a more connected world... 

Node.js

Node.js is built on Google’s V8 open source JavaScript engine and widely known for its impressive scalability and efficiency.

  • Low resource requirements. Thus, system processor and memory are not overburdened.
  • Support for building scalable applications, which is really important for every company today.
  • Great compatibility with JSON, a popular format that allows for an easy and quick exchange of information across a network.

Why is Node.js perfect for IoT ?

  • Node.js is simple and easy to understand compared to low-level languages like C++ etc.
  • Node.js has an excellent support for streams which offer readable and writeable channels. Since the IoT devices viz. sensors, motors, transmitters, etc. generate large volumes of data and a large number of requests, Node.js is apt for handling these.

  • A large number of IoT applications use MQTT protocol and the standard Sockets which have a great support in Node.js

  • Johnny-Five

  • CylonJs

  • NodeRed

  • Node Serial Port

  • Noduino

  • Nodebots

  • Jerryscript

  • NodeMCU

Designing IoT solutions

Prototype into Production ...

Three Layer IoT Architecture

Requirements

  • Device Management
  • Connectivity & Communications
  • Scalable & Security
  • Availability
  • Concurrent data collection
  • Efficient data handling
  • Modular, Flexible and Platform Independent
  • Open Standards and Interoperable

Azure IoT Hub

Azure IoT Hub

Bi-directional communication with billions of IoT devices

Device-to-cloud telemetry data, cloud-to-device command, track message delivery

Work with familiar platform and protocols

SDKS for multi platforms HTTP, AMQP, MQTT

Security Enhanced Solutions

Individual identities and credentials for each of connected devices.

Automate device provisioning to accelerate IoT deployment

Register and provision devices with zero touches, in a highly secure and scalable way.

Microsoft Azure IoT Services

Device Twins

Azure IoT Edge

IoT in the Cloud

IoT on the Edge

  • ​Remote monitoring and management

  • Infinite compute and storage

  • Advanced AI Tools & ML

  • ​Low latency tight control loops - near real time response

  • Intelligence at the Edge

  • Offline operations

  • Protocol translation and data normalization

  • Privacy of data

Azure IoT Edge Concepts

Azure IoT Edge

  • A module image is a package containing the software that defines a module.

  • A module instance is the specific unit of computation running the module image on an IoT Edge device.

    The module instance is started by the IoT Edge runtime.

  • A module identity is a piece of information (including security credentials) stored in IoT Hub, that is associated to each module instance.

  • A module twin is a JSON document stored in IoT Hub, that contains state information for a module instance, including metadata, configurations, and conditions.

  • SDKs to develop custom modules in multiple languages (C#, C, Python, Java, Node.JS)

Azure IoT Edge - Module

  • Installs and updates workloads on the device.

  • Maintains Azure IoT Edge security standards on the device.

  • Ensures that IoT Edge modules are always running.

  • Reports module health to the cloud for remote monitoring.

  • Facilitates communication between downstream leaf devices and the IoT Edge device.

  • Facilitates communication between modules on the IoT Edge device.

  • Facilitates communication between the IoT Edge device and the cloud

Azure IoT Edge - RunTime

Demo

Reference

Action Items

- Explore Azure IoT Hub & IoT Edge

- Try Azure IoT NodeJS SDK

- Be Kind & Spread Your Awesomeness ...

- Let's break and build

 

ksivamuthu

ksivamuthu

Thank you !!!

Build High-Performance IoT apps using NodeJS

By Sivamuthu Kumar

Build High-Performance IoT apps using NodeJS

Building High-Performance IoT applications using NodeJS

  • 69

More from Sivamuthu Kumar