Middleware and Service

Module Middleware and Service

Pour ce module Middleware and Service, nous avons suivi les cours suivants :

Intergiciel pour les objets connectés

1 - Présentation

Après avoir parcouru les différents protocoles, technologies et architecture pour l'IoT, nos travaux pratiques se sont concentrés sur MQTT (un protocole de messagerie de type publish/subscribe) et OM2M (un standard pour les communications de machine à machine).

2 - Partie technique

Nous avons utilisé MQTT pour implémenter le cas d'utilisation suivant : nous connectons un capteur de luminosité, un bouton et une LED à une carte MCU ESP 8266 Node. Chaque fois que le bouton est pressé ou que la luminosité est inférieure à une valeur seuil, la LED doit s'allumer. Nous avons installé un Broker MQTT Mosquitto sur un PC Ubuntu connecté sur le même réseau Wi-Fi que la carte Node MCU (comme le montre la figure ci-dessous).

Figure 1 - Architecture implémentée avec un Broker MQTT et un module NodeMCU


Nous avons utilisé l'implémentation open source d'Eclipse pour OM2M. En utilisant REST, nous avons organisé certaines ressources comme des lampes, des capteurs de température et de luminosité. OM2M a l'avantage de pouvoir avoir des serveurs sur différentes machines et de pouvoir les interconnecter. Il a également une manière très structurée d'organiser l'information.

Enfin, nous avons fusionné ces deux travaux en utilisant Node-Red un outil de workflow qui peut aussi être utilisé pour faire des IU. Nous avons collecté des données en utilisant MQTT (valeur de luminosité), contrôlé des actionneurs en utilisant OM2M (lampes).

Nous avons créé une interface utilisateur qui montre les variations de la luminosité et l'état des lampes. Nous avons également utilisé les fonctionnalités de surveillance et de notification de Node-Red. Nous avons rassemblé tout notre travail dans un rapport écrit. La figure ci-dessous montre le type d'architecture que nous pourrions mettre en œuvre si la plupart des éléments ici n'étaient pas simulés.

Ainsi dans ce cours, j'ai développé des compétences sur les intergiciels et sur la manière d'interfacer différentes technologies. Ce module m’a ainsi permis de découvrir le standard oneM2M et les services Web de type REST qui sont tous deux utilisés dans l’IoT. Les TP m’ont permis de me rendre compte de la puissance de l’utilisation de ces technologies pour développer et interagir avec des réseaux de capteurs/actionneurs. Notamment le coté « générique » et « horizontal » du standard oneM2M qui lui permet de s’adapter à n’importe quel domaine d’application.

Livrable : Middleware for IoT

Adaptabilité : Cloud et Gestion Autonomique

1 - Présentation

Le but général de ce cours était d'améliorer la connaissance des concepts et des technologies pour les techniques de virtualisation. La virtualisation permet d'émuler un OS ou une application sur une machine hôte permettant l'allocation temporaire des ressources pour une utilisation spécifique. Son utilisation est de plus en plus fréquente dans le milieu professionnel professionnel car elle offre de nombreux avantages. Les environnements sont donc dynamiques et distribués. Il est dont nécessaire de comprendre le fonctionnement de la virtualisation, ses avantages et comment la mettre en place.

2 - Partie technique

Les objectifs étaient les suivants :

Avec plusieurs parties théoriques dans le laboratoire et dans les cours sur le concept de cloud computing, je suis maintenant capable de comprendre les concepts de base tels que la machine virtuelle et les conteneurs. Nous avons utilisé l'infrastructure en tant que service (IaaS) dans différents cours de laboratoire (la plateforme OpenStack permet l'IaaS en créant des instances VM), je suis maintenant capable d'utiliser le cloud pour mes futurs projets. Ainsi, nous avons déployé des VMs dans différentes plateformes telles que Virtual Box et OpenStack.

Vous trouverez un rapport illustrant tous ces concepts suivants.

Livrable : Cloud Rapport

Architecture de service

1 - Présentation

Le but de ce cours était de développer une application Web (Proof-of-Concept) pour la gestion des salles de l'INSA . Cette application doit permettre de fermer automatiquement les fenêtres, les portes, d'allumer le chauffage, d'éteindre les lumières ... etc. Cette application s'appuie sur des services logiciels, des capteurs et des actionneurs.

2 - Partie technique

Pendant ce cours, nous avons vu de nombreux concepts sur l'architecture orientée services (SOA - Service Oriented Architecture). SOA est un style de conception de logiciels dans lequel les services sont fournis aux autres composants par les composants de l'application, par le biais d'un protocole de communication sur un réseau. Pendant les tutoriels, nous avons implémenté des services en utilisant SOAP et REST. L'objectif de ce projet était de développer une application de gestion autonome des chambres en utilisant ces concepts :

La réalisation de ce module m’a ainsi permis d’acquérir de nouvelles compétences dans le domaine du middleware. Je suis maintenant capable de déployer une architecture de type REST ou SOAP afin de créer des services web et de créer des applications de haut niveau permettant de récupérer les données de capteurs, d’interagir avec des actionneurs et de définir et mettre en place des scénarios précis.

J'ai travaillé avec Sami Beyah et Hugo Le Belguet pour ce projet. Vous trouverez ci-dessous mon rapport :

Livrable : SOA Rapport