Azure IoT Hub

Azure IoT Hub is a fully managed service that enables reliable and secure bidirectional communication between your IoT devices and your cloud solution.

Azure IoT Hub is the foundational service for managing massive amounts of IoT devices. For a more complete SaaS solution, consider Azure IoT Central.

Key Features

Getting Started

To get started with Azure IoT Hub, you'll need to create an IoT Hub instance in the Azure portal. Here's a basic outline of the steps:

  1. Create an IoT Hub: Navigate to the Azure portal, search for "IoT Hub", and click "Create". Fill in the required details, including subscription, resource group, region, and pricing tier.
  2. Register a Device: Once your IoT Hub is created, you can register devices. Go to your IoT Hub, select "Devices" from the left-hand menu, and click "Add". Provide a device ID and choose an authentication type (symmetric key or X.509 certificate).
  3. Connect Your Device: Use the connection string provided for your registered device to connect your physical or simulated IoT device. You can use various SDKs provided by Azure for different programming languages.

Example: Connecting a device using Node.js SDK


const { Mqtt } = require('azure-iot-device-mqtt');
const { Client } = require('azure-iot-device');

const connectionString = 'YOUR_DEVICE_CONNECTION_STRING'; // Replace with your actual connection string

const client = Client.fromConnectionString(connectionString, Mqtt);

const connectHandler = (err) => {
    if (err) {
        console.error('Could not connect: ' + err);
    } else {
        console.log('Client connected');

        // Send telemetry
        const telemetryData = { messageId: 1, temp: 25 };
        client.sendEvent(telemetryData, (err, res) => {
            if (err) console.log('Send error: ' + err.toString());
            if (res) console.log('Send status: ' + res.constructor.name);
        });

        // Handle commands (example)
        client.on('message', (msg) => {
            console.log('Message received: ' + msg.data);
            client.complete(msg, (err, res) => {
                if (err) console.error('completion error: ' + err.toString());
                if (res) console.log('completion status: ' + res.constructor.name);
            });
        });
    }
};

client.open(connectHandler);
                

Use Cases

Learn More