Getting Started with Azure IoT Hub


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: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 IoT Hub in managing the IoT devices communication and telemetry data.

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 word 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.

Benefits of IoT

Consider just one of the scenarios which 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 at 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 the 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 to shape 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 IoT works

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 communication 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 to establish the communication between IoT devices and IoT gateways to send and receive the messages between them.

Examples of the most common protocols are:
  • AMQP
  • MQTT
  • Https
  • TCP
  • UDP
  • DDS
  • XMPP
  • LwM2M
  • ZigBee
Azure IoT Hub Supported Protocols
  • AMQP
  • AMQP Over WebSockets
  • MQTT
  • MQTT Over WebSockets
  • HTTPS


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 cloud and cloud to IoT devices. Azure IoT can process the 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 of devices using the automatic device management feature
  • Allows the bi-directional communication between IoT devices to cloud and cloud to IoT devices
  • IoT hub allows us to connect the edge devices and IoT devices its means IoT hub capable to connect low powered and high processing devices
  • IoT devices can send telemetry data as well as can connect devices over a network using AMQP, MQTT, and HTTPS protocol to the Azure IoT hub
  • Azure IoT hub supports the wide range of IoT device authentication mechanisms such as X509, tpm, and symmetric key
  • 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 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 the wide range of SDK which help to connect to the IoT hub and devices programmatically C#, java, python, C, Node.js, android SDK also IoT hub supports api
  • Provides the feature to enable or disable the connected IoT devices

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 the portal.azure.com using your browser and login into the portal with valid credentials, as shown in the following image:


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


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 which you may know to create the resource (service) in the Azure portal:



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 as:



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



Provide required details as shown in the preceding image:
  • Subscription: Choose the available azure subscription which you want to use for creating service from 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:



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:
  • Public Endpoint all Network
  • Public Endpoint selected IP addresses
  • Private Endpoint 

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.

Public Endpoint selected IP addresses

Even 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 to allow only known networks to connect to the devices

Private Endpoint 

This is the URI or endpoint which allows us to connect devices over the private network, which gives the 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 as:


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 feature does it supports. The features and message frequency of IoT hub can differ based on the pricing and scale tier. The pricing tiers are categorized as:

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

Basic Tier

The basic tier is sub-categorized into the three types as
  • 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 subcategorized into the 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 shows the following screen:



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:


After reviewing 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: 


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


Let’s learn about the preceding Azure IoT hub key sections in brief, listed below:
  • Overview
  • Certificates
  • Built-in Endpoints
  • Query Explorer
  • IoT Devices
  • Automatic Device Management
  • Messaging
  • Security
  • Monitoring
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 add and save the device certificates which can be assigned to the devices during creating or adding the devices to the IoT hub.

Built-in Endpoints
 
This section contains the details which 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 from the IoT hub.

IoT Devices
 
This section lets you add the different types of IoT devices and related configuration.

Automatic Device Management
 
This section allows us to upgrade the firmware of individual or bulk of IoT devices based on the properties of the device such as tags or deviceId.

Messaging
 
This feature allows to capture the IoT device messages and their related events also you can route the messages to any other service such as data store etc.

Security
 
This section allows to secure the IoT devices using the IoT defender feature and create the security-related alerts

Monitoring

This section allows to monitor the logs related to the IoT hub, you can set any filter or rule for monitoring and create the 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.

Articles you may interested 

Post a Comment

www.CodeNirvana.in

Protected by Copyscape
Copyright © Compilemode