Introduction

Effectué

La création et l’exécution d’une application sur des microcontrôleurs IoT (Internet des objets) sont des tâches qui peuvent présenter bon nombre de défis, qui peuvent aller de la difficulté du développement à la mise en place d’un processus sécurisé pour capturer les données et les transférer au serveur.

Avec Azure Sphere, vous pouvez créer des solutions IoT sécurisées par défaut garantissant la protection de votre appareil, de votre application, ainsi que de vos données lorsqu’elles sont en transit.

Vous pouvez créer des applications avec Visual Studio ou Visual Studio Code, ou les intégrer à vos chaînes d’outils existantes sur Windows et Linux. Les environnements de développement Visual Studio et Visual Studio Code fournissent des débogueurs de microcontrôleurs intégrés et un contrôle de code source complet, ainsi que des outils de collaboration et de productivité.

Qu’est-ce qu’Azure Sphere

Azure Sphere est une solution de sécurité IoT complète, incluant le matériel, le système d’exploitation et les composants cloud, pour protéger activement vos appareils, votre entreprise et vos clients.

Azure Sphere est constitué des composants suivants :

  • Les composants électroniques certifiés par Azure Sphere provenant de partenaires pour le matériel incluent une technologie de sécurité Microsoft intégrée pour assurer la connectivité et une racine matérielle fiable de confiance.
  • Le système d’exploitation Azure Sphere ajoute des couches de protection et des mises à jour de sécurité continues afin de créer une plateforme fiable pour de nouvelles expériences IoT.
  • Le service de sécurité Azure Sphere négocie la confiance pour la communication appareil-à-cloud, détecte les menaces et renouvelle la sécurité des appareils.

Ensemble, ces composants implémentent les sept propriétés des appareils hautement sécurisés.

Azure Sphere end-to-end.

Architecture Azure Sphere

L’unité de microcontrôleur (MCU) Azure Sphere comporte trois cœurs accessibles aux développeurs : un cœur Cortex-A7 qui exécute un noyau Linux et deux cœurs Cortex-M4 qui peuvent exécuter directement du code ou un système d’exploitation temps réel comme Azure RTOS ou FreeRTOS.

Les applications de haut niveau qui s’exécutent sur le noyau Linux Cortex-A7 sont utilisées pour des tâches moins sensibles au temps, comme l’établissement de connexions réseau, la négociation de la sécurité, la mise à jour de l’état de l’appareil, la communication avec les applications temps réel principales et l’envoi de messages de télémétrie aux passerelles cloud, comme IoT Hub.

Azure Sphere architecture.

Outils de développeur

Vous pouvez développer des applications Azure Sphere à partir de Windows et de Linux. Sur Windows, vous pouvez utiliser Visual Studio 2019 ou une version ultérieure (Community Edition gratuite ou une édition supérieure) ou Visual Studio Code. Sur Linux, vous utilisez Visual Studio Code. Vous pouvez développer et déboguer simultanément des applications qui s’exécutent sur les trois cœurs.

Ce module d’apprentissage prend en charge les développeurs sur Linux et Windows avec Visual Studio Code. Si vous êtes utilisateur de Windows à l’aise avec Visual Studio, utilisez Visual Studio en tenant compte de ce que les captures d’écran de l’IDE incluses dans ce module seront différentes.

Surveillance et contrôle de l’environnement d’un laboratoire pour des expériences de microbiologie sensibles

Prenons un exemple : vous travaillez en tant que scientifique dans un laboratoire de microbiologie et vous êtes chargé de stocker les échantillons de tests. Vous souhaitez créer un système capable de superviser en temps réel l’environnement du laboratoire et de ses équipements. Ce système supervisera les conditions suivantes dans la pièce :

  • Pression
  • Température
  • Humidité

Jusqu’à présent, ces données étaient mesurées par des capteurs et consignées manuellement par des assistants à intervalles réguliers. L’enregistrement manuel des conditions ambiantes est une tâche fastidieuse et propice aux erreurs humaines. Le moindre problème lié aux capteurs invaliderait les tests réalisés dans l’environnement du laboratoire.

Le maintien précis des conditions de la pièce est essentiel pour la gestion du laboratoire. Le laboratoire doit maintenir de bonnes conditions pour vous aider à obtenir des résultats plus précis. Toute variation des conditions peut affecter la température de l’équipement durant le stockage et la manipulation des échantillons, des spécimens et de l’équipement du laboratoire. Cela peut avoir une incidence sur la capacité à produire des résultats corrects et stables ainsi qu’un impact économique sur l’organisation.

Nouveau système proposé

Le nouveau système proposé comporte les facteurs suivants :

  • Les capteurs se trouvent en plusieurs points du laboratoire.
  • Le système doit être protégé contre les attaques, car certaines expériences sont coûteuses et commercialement sensibles.
  • Ces capteurs automatisent la lecture des conditions de pression d’air, de température et d’humidité à des intervalles définis.
  • Les données des capteurs des appareils sont transmises en toute sécurité et analysées dans le but de dégager des tendances.
  • Capacité à contrôler une unité de chauffage, de ventilation et de climatisation (HVAC - Heating, Ventilation, and Air Conditioning) pour ajuster automatiquement l’environnement en fonction de ce qui est requis pour les expériences du laboratoire.
  • Suffisamment flexible pour prendre en charge des capteurs d’environnement de laboratoire futurs plus sensibles.

La solution doit être créée sur une plateforme IoT hautement sécurisée, qui est protégée contre les attaques et les bogues logiciels. En outre, le système peut déclencher l’envoi d’un message d’alarme ou d’alerte à l’autorité concernée quand un des paramètres définis sort de la plage des valeurs attendues.

Diagram showing the Azure Sphere dashboard.

Objectifs d’apprentissage

Dans ce module, vous allez :

  • Créer un hub Azure IoT Hub et un service Device Provisioning Service (DPS)
  • Créer et déployer une application Azure Sphere
  • Afficher les données de l’environnement avec Azure IoT Explorer
  • Contrôler une application Azure Sphere à l’aide de jumeaux d’appareil et de commandes de méthode directe Azure IoT Hub
  • Déployer un nouveau capteur d’environnement plus sensible sur un cœur temps réel Azure Sphere exécutant Azure RTOS
  • Lire les données du nouveau capteur fonctionnant sur le cœur temps réel et envoyer les données à IoT Hub

Prérequis

  • Kit Azure Sphere
  • Visual Studio Code installé sur votre ordinateur
  • Savoir utiliser Visual Studio Code
  • Git installé sur votre ordinateur
  • Expérience d’utilisation de Git/GitHub
  • Connaître les bases d’Azure Sphere
  • Connaître les bases d’Azure IoT