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
- 1,116