1 IoT Fundamentals: Definitions, Architectures, Challenges, and Promises
23
patterns used to manage devices including file uploads from devices, device-tocloud telemetry, and request-reply methods. IoT hub monitoring is useful for
supporting solution health because it monitors events including device connections,
failures, and connections. The IoT hub provides a secure channel for devices to
communicate and send data [16]:
• Individual device authentication allows each device to connect to the hub
securely and to be controlled securely.
• The IoT hub provides total control over device access and can manage each perdevice connections.
• When a device initially boots up, the IoT Hub Device Provisioning Service
automatically provisions devices to the correct IoT hub.
• Various device capabilities are supported by multiple authentication types:
– SAS Token-Based Authentication
– Individual X.509 Certificate Authentication
– The X.509 CA Authentication IOT hub connects devices using the following
protocols: AMQP, AMQP over WebSocket, HTTPS, MQTT, MQTT over
WebSocket
IoT hub also includes built-in message routing which provides the flexibility to
create a rules-based, automated message fan-out. Additionally, the IoT hub can be
combined with additional Azure services to create comprehensive solutions such
as:
• Azure Logic Applications – Business process automation
• Azure Machine Learning – Adds AI models and machine learning to solutions
• Azure Stream Analytics – Provides real-time data analytics on data streaming
from devices
There are two available Software Development Kit (SDK) categories used with
the IoT hub:
• IoT Hub Device SDKs – Allow one to create IoT applications to be executed on
IoT devices. These applications can send telemetry to the IoT hub and include
the option to receive messages, method, job, or updates from the hub. Compatible
languages include Python, Node.js, Java, C#, and C/C++.
• IoT Hub Services SDKs – Allow a developer to create back-end applications that
manage the hub and schedule jobs, send messages, invoke other functions, or
send updates to IoT modules or devices.
1.3.4.2 Azure IoT Edge
Edge enables an organization to focus on business insights rather than focusing
on data management by transferring cloud analytics and some business logic from
cloud to edge. Azure IoT Edge has three main components (see Fig. 1.5) [16]:
23
patterns used to manage devices including file uploads from devices, device-tocloud telemetry, and request-reply methods. IoT hub monitoring is useful for
supporting solution health because it monitors events including device connections,
failures, and connections. The IoT hub provides a secure channel for devices to
communicate and send data [16]:
• Individual device authentication allows each device to connect to the hub
securely and to be controlled securely.
• The IoT hub provides total control over device access and can manage each perdevice connections.
• When a device initially boots up, the IoT Hub Device Provisioning Service
automatically provisions devices to the correct IoT hub.
• Various device capabilities are supported by multiple authentication types:
– SAS Token-Based Authentication
– Individual X.509 Certificate Authentication
– The X.509 CA Authentication IOT hub connects devices using the following
protocols: AMQP, AMQP over WebSocket, HTTPS, MQTT, MQTT over
WebSocket
IoT hub also includes built-in message routing which provides the flexibility to
create a rules-based, automated message fan-out. Additionally, the IoT hub can be
combined with additional Azure services to create comprehensive solutions such
as:
• Azure Logic Applications – Business process automation
• Azure Machine Learning – Adds AI models and machine learning to solutions
• Azure Stream Analytics – Provides real-time data analytics on data streaming
from devices
There are two available Software Development Kit (SDK) categories used with
the IoT hub:
• IoT Hub Device SDKs – Allow one to create IoT applications to be executed on
IoT devices. These applications can send telemetry to the IoT hub and include
the option to receive messages, method, job, or updates from the hub. Compatible
languages include Python, Node.js, Java, C#, and C/C++.
• IoT Hub Services SDKs – Allow a developer to create back-end applications that
manage the hub and schedule jobs, send messages, invoke other functions, or
send updates to IoT modules or devices.
1.3.4.2 Azure IoT Edge
Edge enables an organization to focus on business insights rather than focusing
on data management by transferring cloud analytics and some business logic from
cloud to edge. Azure IoT Edge has three main components (see Fig. 1.5) [16]:
