Microsoft Azure IoT Suite: Benefits and Features

Microsoft Azure IoT Suite: Benefits and Features

Table of Contents

Smart is a household word for Internet of Things and it implies the interconnectivity between various devices and users. This leads us to infrastructure of any IoT solution — hardware, firmware, and software parts. While hardware and its associated firmware is vastly diverse, there are a few powerful IoT service providers such as Microsoft, Amazon, and IBM.

Indeed, there is also quite a number of small and middle-sized custom solutions for IoT, but the majority still uses one of the above platforms as their IoT development basis. And that’s logical — why reinvent the wheel if these IoT-as-a-Service solutions are reliable and backed by digital giants.

The question is how to choose between major service providers to satisfy the demands of a particular project best. That is, frankly, determining if the service has the features and capabilities needed. This time, let’s take a close look at Microsoft Azure IoT Suite.

1. MS Azure IoT at a Glance

Microsoft is rightfully considered as one of the major IoT service market players. It’s Azure IoT Suite helps to develop various custom IoT products and easily evaluate their final cost. The deployment of any architecture is also fast and simple.

Microsoft Azure IoT services include:

IoT-Specific

Common Azure

Hub

Edge

Central

Solution Accelerators

Hub Device Provisioning

Time Series Insights

Maps

Functions

Event Grid

Machine Learning

Machine Learning Service

Machine Learning Studio

Stream Analytics

Logic Apps

Notification Hubs

Cosmos DB

API Management

You can integrate these services to most operating systems and devices; collect and analyze torrents of data and then use it for real-time predictive analytics. Sounds impressive, doesn’t it?

To see for ourselves if that’s really the case, let’s examine the services one by one.

Azure IoT Suite Infographic

2. IoT Hub

Any IoT solution has central communication node. With Microsoft Azure IoT platform, that’s IoT Hub. It provides two-way device-to-device communication— telemetry between all available devices and Azure platform. Using advanced hub capabilities, you can create complex IoT solutions at scale. For example, complex software for managing industrial machinery, monitoring premises in offices, and maintaining smart homes.

You can monitor your connected network, track various events, and receive alarms in case of any issues. To securely transfer data, Azure IoT Hub uses SAS token-based authentication of two basic standards-based types:

  • For secure authentication —Individual X.509 certificate
  • For simple enrollment — X.509 CA authentication

Besides, inbuilt routing functions of Azure IoT provide flexible messaging adjustment.

2.1 Azure IoT device SDK supports:

  • Linux, Windows, and real-time operating systems
  • C, C#, Java, Python, Node.js
  • HTTPS, AMQP, AMQP over WebSockets, MQTT, MQTT over WebSockets protocols
  • For devices that don’t support these protocols, you can configure the hub to work with custom protocols using Edge and Azure IoT protocol gateway.

2.2 Combining IoT Hub with Other MS Azure Services

You can use IoT Hub as a basis for various project architectures and:

  • Get fast responses on critical events using Azure Event Grid
  • Automate business processes with Azure Logic Apps
  • Add ML and AI models using Azure Machine Learning
  • Stream transferring data from connected devices and compute logical analysis in real time using Azure Stream Analytics

Azure IoT Hub explanation

Read also - The non-primitive approach of Amazon: How AWS IoT meets IoT challenges

3. IoT Edge

Use cloud-based AI service from Azure to fully manage your cross-platform projects. The main point is that devices are always on regardless if cloud is enabled or not. Azure IoT device management automatically synchronizes with latest state of devices when they are connected to the cloud thus providing seamless functioning of any related solution.

The MS Azure IoT Edge consists of:

  • IoT Edge Modules — Containers that run Azure and 3rd-party services, custom code. Deploying those on the connected devices allows to run them locally.
  • IoT Edge Runtime — Controls the deployed modules at every device.
  • Cloud-based interface —UI for remote monitoring and management of devices.

Indeed, when monitoring and data collection run locally, handling analytics partially on the edge is really useful. This feature allows reacting on incoming data as well as making relevant decisions faster even with cloud disabled. Besides, the data transfers cost can be significantly reduced since data filtering occurs locally.

4. IoT Central

Azure IoT Central Software-as-a-Service helps to build and manage any kind of IoT-based projects. At its core, any Azure IoT solution consist of:

  • A program that receives telemetry from and operates the devices.
  • A certain number of devices connected to the program on which a particular code runs.

Azure IoT Central helps create a new application (program) quickly. You can easily customize application to your requirements directly in browser.

4.1 MS IoT Central Roles

This service shares the operational authorizations between the following user roles:

Builder

Specifies what types of devices to connect. Sets up the program for Operators.

Operator

Runs the associated program.

Administrator

Performs administrative tasks such as controlling users and their access level.

Device Developer

Creates code for running connected devices.

Using this hierarchy, a lot of mundane tasks can be simplified. For example, as a Builder, you can create templates for connecting devices to your program and reuse it for adding new similar devices.

4.2 Azure IoT Solution Accelerators

These accelerators imply a set of ready-to-deploy solutions for general scenarios such as remote monitoring, connection arrangements, and maintenance of devices. The deployment of solution accelerators encompasses all necessary services of a cloud infrastructure along with any related program code.

4.3 Remote Monitoring Accelerator

Useful for collecting telemetry from, and setting up management of, remote devices such as smart home climate control sensors and industrial sensors at assembly lines.

Using dashboard, you can track measurements from connected devices, set up new edge points, and update devices firmware.

4.4 Connected Factory Accelerator

Collecting and managing remote readings from industrial assets with OPC Unified Architecture interface via informative dashboard. The assets can include assembly stations and test areas on a factory production line.

4.5 Predictive Maintenance Accelerator

Forecasting and preventing failures of remote devices using machine learning algorithms. You can apply this accelerator on solutions to operate various important moving mechanisms such as aircraft engines.

The Predictive Maintenance dashboard displays analytics based on the information received from the predicting system.

4.6 Device Simulation Accelerator

Simulators. This accelerator is great at imitating the devices by creating realistic telemetry. It’s a great service to mitigate real-life risks in real life by checking and adjusting the behavior of other accelerators along with custom IoT solutions.

You can use a web application for modeling various systems.

The most awesome thing is that the source code of all solution accelerators is open and available on GitHub. You can download, set up and integrate them to your project’s requirements.

Read Also -  How Much Does It Cost To Create IoT Solution?

5. Azure IoT Hub Device Provisioning

This supporting service provides remote access to the necessary IoT Hub without user interaction. Using this complementary service, you can securely connect and set up the devices in IoT Hub at scale.

As with all other Microsoft Azure IoT platform services, the Device Provisioning supports:

  • Various operating systems and platforms
  • HTTPS, AMQP, AMQP via WebSockets, MQTT, MQTT via WebSockets protocols for device connection
  • HTTPS connections for service operations

There are multiple scenarios available such as:

Scenario

Description

Initial Setup

Connect IoT Hub information using zero touch provisioning (ZTP) that requires no factory hardcoding

Multihub Mode

Load the devices to balance across multiple hubs

Multitenancy Mode

Use sales transaction data to connect devices to their owner’s IoT solution

Solution Isolation

Connect devices to a specific project depending on scenario

Geosharding Configuration

Connect a device to the lowest latency hub

Update Setup

Reprovision due to changes in the device

No-Certificate Connection

When not using X.509 authentication certificates, roll the keys used by the device to connect to the hub

Below you can find a scheme of how Azure IoT Hub Device Provisioning can work:

How Azure IoT Hub Device Provisioning can work

Explore step-by-step scheme of Azure IoT Hub Device Provisioning performance:

  1. In the Azure portal, the manufacturer adds the device to the enrollment list for registration.
  2. The factory’s provisioning set receives and passes the necessary identification info about device to the service.
  3. The device’s identity is validated using registration ID and key against the enrollment list with either standard X.509 verification or nonce challenge (Trusted Platform Module).
  4. The service registers the device to the hub and fills in its desired twin state.
  5. Provisioning service receives the device ID from and sends connection information to the hub.
  6. Not the device can send data to the associated hub.
  7. Upon connection, the device receives the desired state from its twin.

If you want to Connecting Raspberry PI via MS Azure IoT then read our step-by-step guide - Connecting Raspberry PI via Azure IoT: Step-By-Step Tutorial

Yevhen Fedoriuk

Written by

Yevhen Fedoriuk

VP of Delivery at Indeema Software Inc.

In his role as VP of Delivery, Yevhen Fedoriuk places a strong emphasis on prioritizing client needs, drawing upon his extensive experience of over a decade in both technology and management.