Partager via


Développement d’appareils Azure IoT

Azure IoT est un ensemble de services managés et de plateforme qui connectent, surveillent et contrôlent vos appareils IoT. Azure IoT offre aux développeurs un ensemble complet d’options. Vous avez le choix entre les plates-formes d’appareils, la prise en charge des services cloud, les SDK, la prise en charge de MQTT et les outils de création d’applications cloud compatibles avec les appareils.

Cet article présente plusieurs considérations clés pour les développeurs qui débutent avec Azure IoT.

Chemins de développement de dispositifs

Cet article traite de deux voies courantes de développement de périphériques. Chaque chemin comprend un ensemble d’options et de tâches de développement associées.

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

    Remarque

    Si votre appareil est capable d’exécuter un système d’exploitation à usage général, nous vous recommandons de suivre le Chemin de développement général de l’appareil . Il offre un ensemble plus riche d’options de développement.

  • Développement de dispositifs embarqués : Décrit le développement ciblant les appareils à ressources limitées. Vous utilisez souvent un appareil aux 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 plate-forme matérielle sur laquelle ils s’exécutent.

Développement général de dispositifs

Certains développeurs adaptent des appareils à usage général existants pour se connecter au cloud et les 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 robuste à usage général tel que Windows ou Linux. Les appareils cibles courants sont les PC, les conteneurs, les Raspberry Pis et les appareils mobiles.

Plutôt que de développer des appareils limités à grande échelle, les 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 contraints pour leur solution cloud. Pour les développeurs qui travaillent avec des appareils à ressources limitées, consultez le chemin d’accès au développement de périphériques intégrés .

Important

Pour plus d’informations sur les SDK à utiliser pour le développement général d’appareils, consultez les SDK d’appareil.

Développement d’appareils intégrés

Le développement embarqué cible les appareils contraints qui disposent d’une mémoire et d’un traitement limités. Les appareils limités limitent ce qui peut être réalisé par rapport à une plate-forme de développement traditionnelle.

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

Les SDK intégrés actuels ciblent le langage C . Les SDK intégrés ne fournissent aucun système d’exploitation ou la prise en charge d’Eclipse ThreadX. Ils sont conçus avec des cibles intégrées à l’esprit. Les considérations de conception incluent la nécessité d’un encombrement minimal et d’une conception sans allocation de mémoire.

Important

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

Choisir son matériel

Les appareils Azure IoT sont les blocs de construction de base d’une solution IoT et sont responsables de l’observation et de l’interaction avec leur environnement. Il existe de nombreux types d’appareils IoT, et il est utile de comprendre les types d’appareils qui existent et comment ils peuvent affecter votre processus de développement.

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

Choix d’un SDK

En tant que développeur d’appareils Azure IoT, vous disposez d’un ensemble diversifié de kits de développement logiciel (SDK), de protocoles et d’outils pour vous 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 SDK Azure IoT. Dans la plupart des cas, nous vous recommandons d’utiliser les SDK Azure IoT plutôt que d’utiliser MQTT directement. Les SDK rationalisent vos efforts 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 directement MQTT présente certains avantages. Par exemple, une solution qui utilise MQTT directement sans les SDK peut être construite sur la norme MQTT ouverte. Une approche basée sur des normes rend la solution plus portable et vous donne plus de contrôle sur la façon dont les appareils se connectent et communiquent. Toutefois, IoT Hub n’est pas un broker 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 peser les compromis entre l’utilisation des SDK d’appareils IoT et l’utilisation directe de MQTT. Pour plus d’informations, consultez Communiquer avec un hub IoT à l’aide du protocole MQTT.

Il existe trois ensembles de SDK IoT pour le développement d’appareils :

  • SDK d’appareil (pour l’utilisation de langages d’ordre supérieur pour connecter des appareils à usage général existants à des applications IoT)
  • SDK d’appareils intégrés (pour connecter des appareils à ressources limitées à des applications IoT)
  • SDK de service (pour la création de solutions Azure IoT qui connectent les appareils aux services)

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

Sélection d’un service

Une étape clé du processus de développement consiste à sélectionner un service auquel connecter vos appareils. Il existe deux options principales 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 agit comme un hub de messages central pour la communication bidirectionnelle entre les applications IoT et les appareils connectés. IoT Hub peut évoluer pour prendre en charge des millions d’appareils. Par rapport à d’autres services Azure IoT, IoT Hub offre le meilleur contrôle et la meilleure personnalisation de la conception de votre application. Il offre également le plus grand nombre d’options d’outils de développement pour travailler avec le service, au prix d’une certaine augmentation de la complexité du développement et de la 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, mais garde la plupart des détails transparents pour l’utilisateur.

Outils de connexion et de gestion des appareils

Une fois que vous avez sélectionné le matériel et un SDK d’appareil à 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. Le tableau suivant récapitule les options d’outil courantes.

Outil Documentation Descriptif
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, notamment IoT Central.
Explorateur Azure IoT Explorateur Azure IoT Impossible de créer des hubs IoT. Se connecte à un hub IoT existant pour gérer les appareils. Souvent utilisé avec CLI ou Portal.
Azure CLI (Interface de ligne de commande Azure) Créer un hub IoT avec l’interface de ligne de commande 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 for VS Code Extension VS Code pour les applications IoT Hub.

Remarque

En plus des outils répertoriés précédemment, vous pouvez créer et gérer par programmation des applications IoT à l’aide d’API REST, de kits de développement logiciel (SDK) Azure ou de modèles Azure Resource Manager. Pour plus d’informations, consultez la documentation du service IoT Hub .

Étapes suivantes

Pour en savoir plus sur les SDK d’appareil que vous pouvez utiliser pour connecter des appareils à Azure IoT, consultez l’article suivant.

Pour commencer le développement pratique d’appareils, sélectionnez un tutoriel de développement d’appareils pertinent pour les appareils que vous utilisez. Les didacticiels suivants sont de bons points de départ pour le développement général de dispositifs ou le développement de dispositifs intégrés.