Introduction To Azure IoT Hub

Introduction

In my last article, we learned about the Azure device provisioning service, which allows us to manage IoT devices. If you have not read my previous article about Azure device provisioning service yet, then please read it using the following link.

Understanding The Azure IoT Hub Device Provisioning Service

Now we have a platform to manage the IoT devices, but what about connecting the devices to some platform and getting the data from those connected devices? We must connect the device to some gateway platform to establish a secure connection between the cloud and the device to exchange the data. So, in this article, we will learn about the Azure IoT hub and the role of the IoT Hub in managing the IoT device's communication and telemetry data, that is messages.

What is IoT?

IoT Stands for Internet of Things, which is a network of internet-connected hardware devices that give some insightful information about things such as a car, bike, truck, factory, etc.

What is the use of IoT?

You might have heard the words digital and smart multiple times such as digital services or smart cities etc. A real-world example is Indian Prime Minister Narendra Modi who always talks about digital India and smart cities.

So, what does digital mean? Simply the access of the services to an individual over the internet in the form of web applications, mobile applications, etc. which helps to minimize the presence of humans at particular facilities in order to get work done from the location where the person resides with the help of mobile apps or web applications.

A smart city is also a part of a digital service in which citizens can see the temperature and humidity of their cities and it automatically generates alerts to their citizens regarding sudden changes in the environment and specific precautions to take. Citizens can even track the live location of specific bus routes so he or she can plan accordingly. Streetlight management is another example of a smart city service in which streetlights are automatically managed by a digital service that is responsible for turning on or off lights based on surrounding visibility and generates alerts if any light bulb has a problem, so servicemen can fix it immediately.

The preceding scenarios are just a few examples:

Benefits of IoT

Consider just one of the scenarios that I have explained in the preceding paragraphs, let’s assume we have implemented smart streetlight management using IoT, the benefits are:

  • Monitor the network of streetlights in one place using the web application or mobile application.
  • Turn the lights on or off automatically based on the surrounding visibility such as sunrise and sunset which help to save a huge amount of electricity consumption.
  • Consider some lights are turned off due to some problem, then IoT generates an alert with details which helps servicemen to fix it immediately without going in person at sites.

By considering just a few examples above, you can imagine how IoT helps to give meaning to things that save time, cost, and effort. The IoT will play a very important role in shaping the future of the world. In the coming years, we will see the IoT in everything, which will make human life much easier and faster.

How does IoT work?

To understand how IoT works, understand the following basic terminology of IoT.

  • Things
  • Device
  • Sensor
  • Network
  • IoT Gateway
  • Communication Protocol

Things

Any object around us that we use in our daily life such as a car, truck or any vehicle, water taps, pumps, machines, house, factory or room, AC, fan, etc.

Device

This is the hardware installed on the things to get the data.

Sensor

The sensor is situated on the device to monitor the intended information such as temperature, speed, humidity, visibility, etc.

Examples

  • Temperature and humidity sensor
  • Pressure sensor
  • Visibility sensor
  • Magnetometer sensor
  • Accelerometer sensor

Network

This is the way of communicating how device sensors and data collection platforms are connected to each other, such as Bluetooth, LAN, Wi-Fi, WAN, Internet, etc.

IoT Gateway

The IoT gateway is the platform or mediator between devices to cloud or cloud-to-device communication which is responsible for collecting the messages from IoT devices and sending messages back to the devices.

The IoT gateway provides the features to collect and process the IoT device's data and upgrade the IoT devices. The most common example of an IoT gateway is Microsoft Azure IoT.

Communication Protocol

The communication protocols are the medium that is responsible for establishing the communication between IoT devices and IoT gateways to send and receive messages between them.

Examples of the most common protocols are.

  • AMQP
  • MQTT
  • HTTPS
  • TCP
  • UDP
  • DDS
  • XMPP
  • LwM2M
  • ZigBee

Devices

Now we have seen what IoT is in brief and the advantages it gives. We can achieve these preceding scenarios with the help of Microsoft Azure IoT. Let’s see about Azure IoT.

What is Microsoft Azure IoT?

Azure IoT is the IoT gateway for IoT devices which allows bi-directional communication between IoT devices to the cloud and cloud to IoT devices. Azure IoT can process millions of IoT devices and route the messages to specific data storage platforms.

Key Advantages of Azure IoT

  • Built-in UI to manage and monitor the IoT devices.
  • Allows us to capture entire device lifecycle events using the device life cycle change event feature.
  • Allows us to upgrade the firmware of single or bulk devices using the automatic device management feature.
  • Allows the bi-directional communication between IoT devices to the cloud and cloud to IoT devices.
  • The IoT hub allows us to connect the edge devices and IoT devices which means the IoT hub is capable of connecting low-powered and high-processing devices.
  • IoT devices can send telemetry data as well as connect devices over a network using AMQP, MQTT, and HTTPS protocol to the Azure IoT hub.
  • Azure IoT hub supports a wide range of IoT device authentication mechanisms such as X509, tpm, and symmetric keys.
  • Azure IoT hub allows routing the messages to the specific data store and data process platform using the message routing feature.
  • Azure IoT hub allows uploading the file for a specific device which can be used for device upgradation for storing device process-related information.
  • Azure IoT hub allows us to send commands to the device which can help to change the behavior of the device using the Cloud to Device message feature.
  • Provides the device twin feature to store the metadata or any specific information about the IoT devices.
  • Azure IoT hub is supposed to be a secure platform for communication and authentication for the devices with the help of communication protocol AMQP, MQTT, and HTTPS and authentication mechanisms such as X509, TPM, and symmetric key.
  • Provides a wide range of SDK that helps to connect to the IoT hub and devices programmatically C#, java, python, C, Node.js, and android SDK also IoT hub supports API.
  • Provides the feature to enable or disable the connected IoT devices.

Now let's learn more about the Azure IoT hub.

Creating an Azure IoT hub using Azure Portal

Azure IoT Hub can be created using.

  • Azure CLI
  • SDK
  • API
  • ARM
  • Azure portal

In this article, we will be creating an IoT hub using the portal so we can avoid confusion for beginners. Now let’s start creating the Azure IoT hub step-by-step via the Azure portal.

Prerequisites

To create any Azure service, we need an active Azure subscription, whether it’s a paid or trial subscription. I am assuming you have an active Azure subscription

Step 1. Go to the Azure Portal

Navigate to portal.azure.com using your browser and log into the portal with valid credentials, as shown in the following image.

Azure Portal

After a successful login, the page will be redirected to the Azure portal, by default, the dashboard page is set as.

Dashboard page

Step 2. Create Azure IoT

Find the create resource option which can be found on the left top side of the portal as shown in the following image or follow any other option that you may know to create the resource (service) in the Azure portal.

 Azure IoT

Click on the left-side option to create a resource & type IoT hub into the populated search box, it will pop up the following screen.

LoT hub

As shown in the preceding image click on the create button, and it will show the following screen.

Create button

Provide the required details as shown in the preceding image.

  • Subscription: Choose the available Azure subscription that you want to use for creating a service from the drop-down list
  • Resource Group: Choose an existing resource group or create a new resource group that you may want to use.
  • Region: Choose the deployment location for IoT hub device provisioning from the given list. However, the device provisioning service is global and associated with any specific location, but you must specify a location for the resource group where the metadata associated with the service profile will reside.
  • IoT Hub Name: Name of the IoT hub service which must contain only alphanumeric characters or a hyphen.

After providing all the basic required details, click to review and create the IoT hub, which skips the remaining steps, or click to choose the next step, networking. It shows the following screen to configure networking.

Configure networking

In the above image, we choose the connectivity method for the IoT hub which decides which network the devices can connect to the IoT hub, there are three methods.

  1. Public EndPoint all Network: This option allows us to connect devices to the IoT hub on all public networks for whoever has access to public URI and the required credentials.
  2. Public Endpoint selected IP addresses: Even if you have a public endpoint (URI) but want to restrict devices, you should connect from a specific IP address. Then you can define the range of IP addresses. The IoT hub allows you to connect only to devices that fall within the defined IP address range. This option gives the useful feature of allowing only known networks to connect to the devices.
  3. Private EndPoint: This is the URI or endpoint that allows us to connect devices over the private network, which gives robust security between devices and IoT hub communication.

Once you choose your intended connectivity method, click on the next step which shows the step to configure the scalability of the IoT hub.

 EndPoint 

The preceding management step allows us to define the scalability and security of the IoT hub with the help of the following options.

  • Pricing and Scale Tier
  • IoT Hub Units
  • Defender

Pricing and Scale Tier

There are different types of pricing and scale tiers that decide how many messages the device sends to the IoT hub per day and what features it supports. The features and message frequency of IoT hubs can differ based on the pricing and scale tier. The pricing tiers are categorized as.

Free Tier: The F1 is the free tier you can use the free tier of the IoT hub for your learning and check how the IoT hub works. it allows 8000 messages per day with limited feature

Basic Tier: The basic tier is sub-categorized into the three types.

  • B1
  • B2
  • B3

Basic tiers are suitable for development activities but you can not get all the features in this pricing and scale tier.

Standard Tier: The standard pricing and scale tier provides the most advanced features and scales for the incoming IoT messages, The standard tier is subcategorized into three types as.

  • S1
  • S2
  • S3

These tiers are most suitable for a production environment where hyper scalability and advanced security are required. Once you choose the configuration for the IoT hub, click on the next step tags, which show the following screen.

Hyper scalability

The tagging helps to identify or categorize the services across the line of applications, after providing tags details, click on the next step review and create, it will show the following screen to review the details before creating the service.

Services

After reviewing the details, click on the Create button, it will take some time to create the service. Once the service is created, the status can be notified on the notification icon as shown in the following image.

Resource

Now click on the Go to resource button, and you will be redirected to the newly created IoT hub service as shown in the following image.

LoT hub service

Let’s learn about the preceding Azure IoT hub key sections, in brief, listed below.

  • Overview: The overview section of the IoT hub is like a dashboard where you can see an overview of the service details, including the charts for incoming messages, status, etc.
  • Certificates: This section allows to addition and saving the device certificates which can be assigned to the devices during creation or adding the devices to the IoT hub.
  • Built-in Endpoints: This section contains the details that allow us to use the IoT hub as an event hub. The event hub compatible connectionString gives almost the same functionality as an event hub without creating any instance of the event hub.
  • Query Explorer: This section allows us to query devices that reside in the IoT hub. This feature is useful to query any device from the millions of devices in the IoT hub.
  • IoT Devices: This section lets you add the different types of IoT devices and related configurations.
  • Automatic Device Management: This section allows us to upgrade the firmware of individual or bulk IoT devices based on the properties of the device such as tags or deviceId.
  • Messaging: This feature allows you to capture the IoT device messages and their related events also you can route the messages to any other service such as a data store etc.
  • Security: This section allows us to secure the IoT devices using the IoT Defender feature and create security-related alerts.
  • Monitoring: This section allows you to monitor the logs related to the IoT hub, you can set any filter or rule for monitoring and create alerts.

Summary

I hope this article was useful for understanding the basics of the Azure IoT hub service. In this series of Azure IoT, next, we will learn about the device enrollments using Azure IoT hub device provisioning service.

Read more articles on ASP.NET,

Next Recommended Article: Introduction To Azure IoT Hub Device Provisioning Service