Azure IoT et le Project Lab de Wilderness Labs

Azure IoT et le Project Lab de Wilderness Labs

Sandro Bormolini

Sandro Bormolini
Créé le
Créé le

Sandro Bormolini

Sandro Bormolini

Concept

En me basant sur les connaissances théoriques de Microsoft Lean et sur l'expérience pratique du Project Lab de Wilderness Labs, j'ai conçu l'étude de cas suivante. Les données brutes des capteurs doivent être transférées du microcontrôleur vers Azure, où elles sont enregistrées, nettoyées et normalisées. Ensuite, ces données seront préparées pour une plateforme d'analyse afin d'obtenir un aperçu et un historique des données des capteurs. Le résultat final est un système de surveillance de la plante sélectionnée, basé sur la technologie la plus récente, c'est le nom du projet "PlantMonitor".
La technologie de l'information est un secteur qui évolue constamment et rapidement, et c'est particulièrement vrai dans le cloud. De nouvelles technologies, de nouveaux langages de programmation et de nouvelles normes apparaissent presque quotidiennement et ce qui est considéré aujourd'hui comme le dernier développement pourrait être obsolète demain. Face à ce paysage en constante évolution, l'apprentissage continu n'est pas un luxe, mais une nécessité.
Toutefois, l'apprentissage dans le domaine de l'informatique va au-delà de la connaissance des dernières technologies. Il s'agit également de comprendre comment ces technologies interagissent entre elles et comment elles peuvent être utilisées pour développer des solutions innovantes. Il s'agit d'apprendre de nouvelles approches et de nouvelles façons de penser qui nous aideront à travailler de manière plus efficace et efficiente.
Dans cette optique et par grand intérêt personnel, je me suis fixé comme objectif de me former dans le domaine de l'IoT et donc d'Azure IoT. Pour atteindre mon objectif, je me suis fixé comme objectif d'apprendre en autodidacte à l'aide des ressources disponibles sur le site Plate-forme en ligne Microsoft Learn d'afficher la théorie sur le sujet. J'essaie en outre de réaliser un petit projet à l'aide d'Azure et d'une carte IoT, ce qui m'offre un aperçu approfondi de cette thématique et une expérience pratique précieuse et, pour finir, j'essaie de mettre mes connaissances acquises à l'épreuve en visant la certification Microsoft Azure IoT Developer et - je l'espère 😊 - en la réussissant.

Qu'est-ce que l'IoT ?

L'Internet des objets ou Internet of Things (IoT) peut sembler être une technologie complexe, mais il s'agit en fait d'une idée simple. Pour simplifier, on peut certainement imaginer un réseau qui relie des objets quotidiens entre eux. Ces objets pourraient être n'importe quoi, du réfrigérateur domestique aux machines simples ou aux installations de production complexes d'une usine.
L'un des domaines d'application pratique de l'IdO est l'industrie. Dans ce contexte, l'IdO est souvent appelé "Industrie 4.0" ou "IdO industriel" (IIoT). Il s'agit d'une nouvelle phase de la révolution industrielle qui relie le monde physique au monde numérique. Par exemple, des capteurs installés sur des machines dans une usine peuvent collecter des données telles que la température, la pression, la vitesse et de nombreux autres types d'informations. Ces données sont ensuite envoyées via Internet vers un lieu central, tel qu'Azure, où elles peuvent être analysées. Cela permet aux opérateurs d'identifier des modèles, de faire des prévisions et de prendre des décisions sur la base de ces informations.
Cela peut permettre d'améliorer l'efficacité, de réduire les temps d'arrêt et d'améliorer la qualité des produits. Cela peut également contribuer à améliorer la sécurité en identifiant les problèmes potentiels avant qu'ils ne provoquent de graves accidents.
En résumé, l'IdO est une technologie puissante qui peut révolutionner la manière dont les industries fonctionnent. Elle permet une communication et une coordination sans précédent entre les machines et les appareils, ce qui peut entraîner des améliorations considérables dans de nombreux domaines.

Microsoft Learn

Microsoft Learn est une plateforme d'apprentissage en ligne qui propose de nombreux parcours d'apprentissage et des certifications pour différentes technologies Microsoft, y compris Azure IoT. En raison de mes expériences positives avec la plate-forme et des contenus toujours actuels, j'ai à nouveau opté pour Microsoft Learn. Je pense que Microsoft Learn offre encore d'autres avantages :

  • Contenu structuré : La plate-forme propose des parcours d'apprentissage bien structurés et organisés. Le parcours d'apprentissage de l'AZ-220, comme tous les autres parcours, est divisé en modules, chacun traitant d'un sujet spécifique. Les concepts sont ainsi présentés de manière claire et compréhensible dans un ordre logique.
  • Expérience pratiqueDe nombreux modules comportent des exercices interactifs et des laboratoires qui permettent de mettre en pratique les connaissances acquises. Cela permet de mieux comprendre les concepts appris précédemment.
  • FlexibilitéMicrosoft Learn est en ligne et accessible à tout moment et de n'importe où. Cela me permet, surtout dans le contexte de l'auto-apprentissage, d'apprendre à mon propre rythme.
  • GratuitLes contenus d'apprentissage sur Microsoft Learn sont gratuits. Cela en fait un moyen abordable d'acquérir de nouvelles compétences et de se préparer aux examens de certification.
  • Préparation à la certificationLe parcours d'apprentissage AZ-220 a été spécialement conçu pour me préparer à l'examen de certification Azure IoT Developer. Il aborde tous les sujets et compétences nécessaires qui seront demandés lors de l'examen.

Avec un Raspberry PI, j'aurais dû me procurer cet équipement manquant sous forme de capteurs externes, ce qui aurait constitué un autre défi compte tenu des difficultés d'approvisionnement actuelles du Raspberry PI. Il ne me restait donc plus qu'à me procurer un capteur capacitif d'humidité du sol et j'étais prêt à développer ma première application IoT pour le Project Lab. Wilderness Labs met à disposition un dépôt GitHub d'exemples qui, grâce à de nombreux exemples, facilite considérablement le démarrage. Ce que je trouve particulièrement utile, c'est que chaque exemple est clairement structuré et met en évidence un aspect spécifique du Project Lab. On peut ainsi choisir exactement l'exemple qui correspond le mieux à ses besoins actuels.
Heureusement, parmi les projets fournis, il y en a un qui utilise un capteur externe pour mesurer l'humidité du sol d'un pot de plantes, ce qui est exactement ce dont j'ai besoin. Il y a également un autre projet qui utilise le module WLAN intégré et, plus récemment, un exemple de projet qui transfère des données de capteur de Project Lab à Azure via le protocole AMQP, via l'Azure IoT Hub.

Grâce aux exemples de projets mentionnés et à l'aide occasionnelle d'un maté glacé, j'ai pu développer assez rapidement une application Project Lab. Celle-ci lit non seulement les données de tous les capteurs intégrés, mais aussi celles du capteur externe d'humidité du sol et les transmet à Azure. En outre, j'ai créé une interface utilisateur simple qui affiche les données par code couleur sur l'écran LCD. Maintenant que j'ai une application qui fonctionne, je peux me concentrer sur le prochain défi : l'implémentation du backend, c'est-à-dire l'infrastructure Azure.

Concept

En me basant sur les connaissances théoriques de Microsoft Lean et sur l'expérience pratique du Project Lab de Wilderness Labs, j'ai conçu l'étude de cas suivante. Les données brutes des capteurs doivent être transférées du microcontrôleur vers Azure, où elles sont enregistrées, nettoyées et normalisées. Ensuite, ces données seront préparées pour une plateforme d'analyse afin d'obtenir un aperçu et un historique des données des capteurs. Le résultat final est un système de surveillance de la plante sélectionnée, basé sur la technologie la plus récente, c'est le nom du projet "PlantMonitor".

Comme nous l'avons déjà mentionné, le cœur de la solution est le Project Lab, un puissant système de microcontrôleur de Wilderness Labs. Cet appareil IoT est équipé de capteurs capables de collecter une multitude de données de mesure de la plante, dont l'humidité, la température, les conditions d'éclairage et, en plus, via le capteur externe, l'humidité du sol du pot de la plante. Les données collectées sont ensuite transmises à Azure de manière sûre et efficace.
Dès que les données arrivent dans le cloud Azure, Azure IoT Hub entre en jeu. Cette passerelle cloud est chargée de recevoir les données entrantes et de les transmettre pour traitement ultérieur à Azure Cosmos DB selon un itinéraire défini.
Dans Azure Cosmos DB, chaque nouvel enregistrement est traité comme un document JSON, par l'événement Change Feed. Cela signifie qu'à chaque fois qu'un nouveau document arrive, les données de capteur entrantes sont normalisées et préparées. Mais ce n'est pas tout. Les données des capteurs sont également enrichies de données météorologiques actuelles via l'API Azure Maps Wetter. Ces informations supplémentaires permettent une analyse encore plus précise des conditions auxquelles la plante est exposée.
Une autre caractéristique d'Azure Cosmos DB est l'intégration d'Azure Synapse Link. Cette fonction permet le traitement final des données par Azure Synapse. Cet outil d'analyse puissant permet d'obtenir des informations détaillées à partir des données via les ordinateurs portables Jupyter, par exemple, et de les utiliser pour améliorer les soins aux plantes.
Dans l'ensemble, cette solution IoT offre une surveillance simple des plantes. En combinant la puissance du Project Lab avec la flexibilité et l'évolutivité d'Azure, il est possible de mieux comprendre et d'optimiser les conditions dans lesquelles nos plantes poussent. Avec cette technologie, tout le monde peut avoir la main verte - ou du moins essayer de l'avoir 😉

Flux de données encore une fois résumés

  • L'application IoT sur le microcontrôleur lit les données des capteurs et les envoie à Azure via la passerelle cloud Azure IoT Hub.
  • A l'arrivée dans le Hub Azure IoT, le paquet est transmis directement dans un conteneur CosmosDB appelé "telemetry" via une route définie.
  • Une fois le paquet créé sous forme de document JSON dans le conteneur "telemetry", le déclencheur Change Feed déclenche une fonction Azure. Cette fonction convertit la charge utile codée en Base64, la restructure et y ajoute les données météorologiques actuelles. Le document restructuré est enregistré dans le conteneur "plantdata".
  • En activant Azure Synapse Link, un autre conteneur est créé dans la base de données CosmosDB. Ce conteneur normalise les données mises à disposition à partir du conteneur "plantdata" et les optimise pour les opérations analytiques.
  • Grâce à Azure Synapse Link, il est possible d'interroger les données du conteneur "plantdata" dans Azure Synapse Analytics à l'aide de Jupyter Notebooks. Cela permet d'avoir un aperçu complet des données de capteurs collectées. De plus, il est possible de créer un modèle à l'aide d'Azure Machine Learning qui peut faire des prédictions, par exemple quand une plante doit être arrosée la prochaine fois.
fr_FRFrench