IoT hub is the cloud-based device management service that lets you connect, monitor, and manage your IoT devices at scale. The IoT Hub interacts with IoT devices in two ways. For initially connecting a device to the IoT hub, and to securely send new configuration information and firmware updates over the air (OTA) when needed, you use an Azure service called Device Provisioning Service (DPS). DPS gives you a bunch of scalable out-of-the-box functionality to help you securely provision and manage your devices at scale.
A device can send messages to iot hub and receive messages from iot hub. IoT platform connects to the public cloud and other public endpoints using the Transport Layer Security (TLS) protocol. You can use IoT Hub to build IoT solutions with reliable and secure communications between millions of IoT devices and a cloud solution. IoT devices send messages, the IoT hub routes incoming messages to built-in endpoints or custom endpoints. Custom endpoints can use the routing query string to selectively receive messages from devices.
Iot hub routes the device-to-cloud messages that IoT devices send to your application using a cloud-side endpoint such as Event Hubs, Storage, and so on. All communication between devices and IoT Hub is through device-to-cloud messages, cloud-to-device messages, file upload from devices, and queries from the monitoring application. Devices can publish periodic messages that are sent to the cloud, or subscribe to receive periodic messages from the cloud. device-to-cloud messaging is typically used for data reporting and notifications. Cloud-to-device messaging allows you to asynchronously send commands and updates to your module. You can also upload files such as firmware updates to your theoretical device directly through the IoT hub.
This IoT Hub is used as a data aggregator. It can connect to edge devices and receive the data, analyze, filter, and react accordingly if needed. IoT Hub provides an MQTT endpoint that devices can use to send messages to IoT Hub. The device SDKs for Azure IoT Hub, available on GitHub, abstract most of the protocol-specific details away from the devices, allowing you to focus on business logic. The libraries for device management, security, and authentication are designed to be portable across operating systems and languages. We currently support a wide range of platforms and languages including Node.js, Java, and Python on Linux, Windows, and Android; C on Windows Embedded Compact and Linux; and C.
As a solution accelerator, the Azure IoT Hub offers a collection of services you can use to enable your devices and back-end services to communicate with each other. The following image shows how each of the services within the Azure IoT Toolkit works together. An IoT application is a set of devices, a hub, and one or more back-end services. The following diagram shows an example. You can use the iot hub to build IoT applications that process and react to messages sent from devices.
Your devices can interact with an iot hub in two ways: device-to-cloud and cloud-to-device messaging. device-to-cloud messages are sent from a device to an IoT hub. Cloud-to-device messages are sent from your application back to a device using the IoT Hub. An IoT platform is a cloud or local platform that acts as the gateway between IoT devices, or “things,” and other systems and services. Iot hubs allow you to manage your IoT devices from an interface, send them messages, and receive messages from them. IoT Hub enables reliable and secure bi-directional communications between your IoT application and your devices.
The IoT hub acts as a message routing agent between your back-end systems and the devices you manage. Using the device identity registry in IoT Hub, you create identities for each device that connects to your hub. You can use these identities to track which devices have connected to your hub and when they last connected. The IoT Hub is a cloud service that enables secure and reliable bi-directional communications between millions of IoT devices, hubs, and their back-end applications. The IoT Hub can process and route messages to and from billions of devices using a rich rules engine. You can use device-to-cloud analytics to generate insights from device data.