Developing IoT Solutions With Azure - Part One - Getting Started IoT Hub

Nowadays, IoT is the hottest buzzword which every industry is talking about. Gartner described it as an over-hyped technology. In this series of articles, we are going to learn how Azure offerings enables us to create IoT solutions at a faster pace.

The key features we are going to focus on are as follows,
  • IoT Hub
  • IoT Hub Service and device SDKs
  • IoT Central (preview)

What is IoT?

In 1999, Kevin Ashton came up with a phrase m'Internet of Things'; which is a network of physical devices which are connected to the internet and can collect/share data with each other without human intervention. Electronic circuits (sensors, actuators) and software together make it happen.

What is Azure IoT?

Azure IoT is a solution offering of the Azure platform which boosts IoT app development. It offers SaaS as well as PaaS solutions. SaaS offerings include IoT solution accelerators and IoT Central - it simplifies the setup of IoT solution and reduces the device management and operational costs. PaaS offerings include IoT Hub, Azure Maps and Azure Time Series Insights. The Azure team provides SDKs for IoT Service - to create apps on top of IoT Hub data and IoT Device - for interaction between device and IoT hub.

IoT Hub

It is a central message hub which facilitates communication between IoT devices and applications. It supports secure and bi-directional communication. Other than messaging, devices can upload files to IoT Hub, using Azure Storage containers. Applications built on top of the IoT Hub can also call direct methods on devices and track device connection events.

As per Microsoft documentation, IoT Hub scales to millions of simultaneously connected devices and millions of events per second. It also supports per-device authentication with SAS based tokens or X.509 certificates.

SDKs supported protocols

HTTPS, AMQP, AMQP over WebSockets, MQTT, MQTT over WebSockets

SDKs supported languages

C, C#, Python, Node.js, and Java.

IoT Hub vs Event Hub - key points
  • Both are cloud services designed for a large amount of data ingestion.
  • Event hub is designed for big data streaming.
  • IoT Hub is designed for connecting a large number of devices along with device level identity for secure communication.
  • In the abstract, IoT Hub also uses event hub functionality for telemetry.

Integrating IoT events with business applications

IoT Hub provides 2 methods for integration.
  1. Message routing
    In this method, we can route messages to specified endpoints. Messages will be routed on the basis of rules. Rules are created on the basis of header and body of the message. Endpoints that can be used are - Event hubs, Service Bus topics/queues.

  2. Event Grid
    It can be used to integrate with non-Azure services also. It uses pub-sub model. It will be used for events happening inside IoT Hub like device creation and deletion. Event schema does not include a timestamp of the event and hence it will not guarantee for receiving events in same order of occurrence.

This is just starter information about IoT Hub. In the next article, we will create IoT Hub and dig more into IoT Hub settings. So stay tuned!