Développement d’appareil Azure IoT

Azure IoT est un ensemble de services gérés et de plateforme qui connectent, surveillent et contrôlent vos appareils IoT. Azure IoT offre aux développeurs un ensemble complet d’options. Vos options incluent des plateformes d’appareils, des services cloud, des Kits de développement logiciel (SDK), la prise en charge de MQTT et des outils pour créer des applications cloud compatibles avec les appareils.

Cet article présente plusieurs points essentiels à prendre en compte pour les développeurs qui débutent avec Azure IoT.

Chemins d’accès de développement des appareils

Cet article décrit deux chemins d’accès de développement d’appareils courants. Chaque chemin d’accès inclut un ensemble d’options et de tâches de développement associées.

  • Développement d’appareils généraux : s’aligne sur les pratiques de développement modernes, cible des langages d’ordre supérieur et s’exécute sur un système d’exploitation à usage général tel que Windows ou Linux.

    Notes

    Si votre appareil est en mesure d’exécuter un système d’exploitation à usage général, nous vous recommandons de suivre la voie du Développement d’appareils généraux. Cela offre un ensemble plus riche d’options de développement.

  • Développement d’appareils intégrés : Décrit le développement ciblant les appareils à ressources restreintes. Souvent, vous utilisez un appareil à ressources limitées pour réduire les coûts unitaires, la consommation d’énergie ou la taille de l’appareil. Ces appareils ont un contrôle direct sur la plateforme matérielle sur laquelle ils s’exécutent.

Développement d’appareils généraux

Certains développeurs adaptent des appareils existants à usage général pour qu’ils puissent se connecter au cloud et s’intégrer à leurs solutions IoT. Ces appareils peuvent prendre en charge des langages d’ordre supérieur, tels que C# ou Python, et prennent souvent en charge un système d’exploitation à usage général robuste, tel que Windows ou Linux. Les appareils cibles courants incluent les PC, les conteneurs, les ordinateurs Raspberry Pi et les appareils mobiles.

Au lieu de développer des appareils limités à grande échelle, des développeurs d’appareils généraux se concentrent sur l’activation d’un scénario IoT spécifique requis par leur solution cloud. Certains développeurs travaillent également sur des appareils limités pour leur solution cloud. Les développeurs qui travaillent avec des appareils aux ressources limitées sont invités à consulter le chemin d’accès Développement pour appareils intégrés.

Important

Si vous souhaitez obtenir des informations sur les Kits de développement logiciel (SDK) à utiliser pour le développement d’appareils généraux, consultez les Kits de développement logiciel (SDK) pour appareils.

Développement d’appareils intégrés

Le développement intégré cible des appareils limités qui ont une mémoire et un traitement restreints. Les appareils limités restreignent ce qui peut être réalisé par rapport à une plateforme de développement traditionnelle.

Les appareils intégrés utilisent généralement un système d’exploitation en temps réel (RTOS) ou aucun système d’exploitation. Les appareils intégrés ont un contrôle total sur leur matériel en raison de l’absence de système d’exploitation à usage général. De ce fait, les appareils intégrés constituent un bon choix pour les systèmes en temps réel.

Les Kits de développement logiciel (SDK) intégrés actuels ciblent le langage C. Les kits de développement logiciel (SDK) intégrés ne fournissent aucun système d’exploitation ou ne prennent pas en charge Eclipse ThreadX. Ils sont conçus avec des cibles intégrées à l’esprit. Les considérations relatives à la conception comprennent la nécessité d’une empreinte mémoire minimale et d’une structure sans allocation de mémoire.

Important

Pour plus d’informations sur les Kits de développement logiciel (SDK) à utiliser avec le développement d’appareils intégrés, consultez les Kits de développement logiciel (SDK) pour appareils intégrés.

Choix de votre matériel

Les appareils Azure IoT sont les éléments de base d’une solution IoT et sont chargés d’observer et d’interagir avec leur environnement. Il existe de nombreux types d’appareils IoT, et il est utile de comprendre les types d’appareils qui existent et la manière dont ils peuvent affecter votre processus de développement.

Pour plus d’informations sur la différence entre les types d’appareils abordés dans cet article, consultez À propos des types d’appareils IoT.

Choix d’un Kit de développement logiciel (SDK)

En tant que développeur d’appareils Azure IoT, vous disposez d’un ensemble diversifié de SDK, de protocoles et d’outils pour aider à créer des applications cloud compatibles avec les appareils.

Il existe deux options principales pour connecter des appareils et communiquer avec IoT Hub :

  • Utilisez les Kits de développement logiciel (SDK) Azure IoT. Dans la plupart des cas, nous vous recommandons d’utiliser les SDK Azure IoT plutôt que MQTT directement. Les SDK rationalisent votre effort de développement et simplifient la complexité de la connexion et de la gestion des appareils. IoT Hub prend en charge le protocole MQTT v3.1.1, et les SDK IoT simplifient le processus d’utilisation de MQTT pour communiquer avec IoT Hub.
  • Utilisez directement le protocole MQTT. La création d’une solution IoT Hub pour utiliser MQTT directement présente certains avantages. Par exemple, une solution qui utilise MQTT directement sans les SDK peut être générée sur la norme MQTT ouverte. Une approche basée sur des normes rend la solution plus portable et vous permet de mieux contrôler la façon dont les appareils se connectent et communiquent. Toutefois, IoT Hub n’est pas un répartiteur MQTT complet et ne prend pas en charge tous les comportements spécifiés dans la norme MQTT v3.1.1. La prise en charge partielle de MQTT v3.1.1 ajoute des coûts de développement et de la complexité. Les développeurs d’appareils doivent évaluer les compromis entre l’utilisation des SDK d’appareil IoT et l’utilisation directe de MQTT. Pour plus d’informations, consultez Communiquer avec un IoT Hub à l’aide du protocole MQTT.

Il existe trois ensembles de Kits de développement logiciel (SDK) IoT pour le développement d’appareils :

  • Kits de développement logiciel (SDK) pour appareils (pour utiliser des langages d’ordre supérieur afin de connecter des appareils d’usage général existants à des applications IoT)
  • Kits de développement logiciel (SDK) pour appareils intégrés (pour connecter des appareils à ressources limitées à des applications IoT)
  • Kits de développement logiciel (SDK) pour services, pour créer des solutions Azure IoT qui connectent des appareils aux services

Pour en savoir plus sur le choix d’un appareil Azure IoT ou d’un Kit de développement logiciel (SDK) pour services, consultez Kits de développement logiciel (SDK) Azure IoT.

Sélectionner un service

Une étape clé du processus de développement consiste à sélectionner un service auquel connecter vos appareils. Il existe deux principales options de service Azure IoT pour la connexion et la gestion des appareils : IoT Hub et IoT Central.

  • Azure IoT Hub. Utilisez Iot Hub pour héberger des applications IoT et connecter des appareils. IoT Hub est une application PaaS (platform as a service) qui fait office de hub de messages central pour la communication bidirectionnelle entre les applications IoT et les appareils connectés. IoT Hub peut être mis à l’échelle pour prendre en charge des millions d’appareils. Par rapport à d’autres services Azure IoT, IoT Hub offre le plus grand niveau de contrôle et personnalisation de la conception de votre application. Il propose également le plus grand nombre d’options d’outils de développement pour l’utilisation du service, au détriment d’une plus grande complexité de développement et de gestion.
  • Azure IoT Central. IoT Central est conçu pour simplifier le processus d’utilisation des solutions IoT. Vous pouvez l’utiliser comme preuve de concept pour évaluer vos solutions IoT. IoT Central est une application SaaS (software as a service) qui fournit une interface utilisateur web pour simplifier les tâches de création d’applications, de connexion et de gestion des appareils. IoT Central utilise IoT Hub pour créer et gérer des applications, tout en gardant la transparence de la plupart des détails pour l’utilisateur.

Outils pour la connexion et la gestion des appareils

Une fois que vous avez sélectionné le matériel et le Kit de développement logiciel (SDK) pour appareils à utiliser, vous disposez de plusieurs options d’outils de développement. Vous pouvez utiliser ces outils pour connecter votre appareil à IoT Hub et les gérer. Les options d’outil courantes sont décrites dans le tableau suivant.

Outil Documentation Description
Portail Azure Créer un hub IoT avec le Portail Azure Portail basé sur un navigateur pour IoT Hub et les appareils. Fonctionne également avec d’autres ressources Azure, y compris IoT Central.
Explorateur Azure IoT Explorateur Azure IoT Impossible de créer de hubs IoT. Établit une connexion à un hub IoT existant pour gérer des appareils. Souvent utilisé avec l’interface CLI ou le portail.
Azure CLI Créer un hub IoT avec l’interface CLI Interface de ligne de commande pour la création et la gestion d’applications IoT.
Azure PowerShell Créer un hub IoT avec Powershell Interface PowerShell pour la création et la gestion d’applications IoT
Azure IoT Tools pour VS Code Créer un hub IoT avec Tools pour VS Code Extension VS Code pour les applications IoT Hub.

Notes

Outre les outils précédemment mentionnés, vous pouvez créer et gérer par programmation des applications IoT avec des API REST, des Kits de développement logiciel (SDK) Azure ou des modèles Azure Resource Manager. Pour plus d’informations, consultez la documentation sur les services IoT Hub.

Étapes suivantes

Pour en savoir plus sur les Kits de développement logiciel (SDK) pour appareils que vous pouvez utiliser pour connecter des appareils à Azure IoT, consultez l’article suivant.

Pour commencer à développer des appareils pratiques, sélectionnez un tutoriel sur le développement d’appareils qui s’applique aux appareils utilisés. Les tutoriels suivants sont de bons points de départ pour le développement d’appareils généraux ou le développement d’appareils incorporés.