Internet des Objets (IoT) et études des protocoles MQTT et HTTP (REST) 

Télécharger le fichier pdf d’un mémoire de fin d’études

Présentation de la structure d’accueil

Initialement créé en tant que département d’enseignement financé par l’ASECNA (Agence pour la Sécurité de la Navigation Aérienne en Afrique et à Madagascar) en 1973, le LPAO-SF formait à ce moment-là des ingénieurs et techniciens supérieurs pour les besoins de l’aviation civile et de la météorologie.
C’est à partir de 1986 qu’il fut érigé en laboratoire de recherche et de formation au niveau du troisième cycle de l’Université Cheikh Anta DIOP (UCAD) de Dakar et devient le Laboratoire Physique de l’Atmosphère et de l’Océan (LPAO) dirigé par le Professeur Siméon FONGANG. Celui-ci décède le 07 Janvier 2000. En sa mémoire, le laboratoire devient le Laboratoire Physique de l’Atmosphère et de l’Océan-Siméon FONGANG (LPAO-SF).
Par la suite, la direction est assurée successivement par Pr Amadou Thierno GAYE puis Pr Saidou Moustapha SALL (actuel directeur).

Missions et axes de recherche

Le LPAO-SF a pour missions de :
• gérer l’option météorologie, Océanographie et Gestion des recherche en Sciences de l’ingénieur de l’ESP ;
• encadrer les ingénieurs les étudiants en thèses et l’accueil de stagiaires venant d’origines divers : Espagne, Cameroun, France, Guinée, Mali, Mauritanie, Niger, Sénégal, Tchad, Ghana, Maroc …
• participer à des recherches nationales et internationales situées dans une optique pluridisciplinaire, autour des domaines complémentaires tels que la physique, la climatologie, l’océanographie, la modélisation numérique et l’étude d’impacts sur la santé, l’agriculture, l’hydrologie, etc.
Ses grands axes de recherches sont :
• l’observation de l’atmosphère et de l’environnement marin,
• la modélisation du climat,
• l’étude d’impacts,
• les changements climatiques.

Les chiffres

Le personnel
Le LPAO-SF compte :
• sept (07) enseignants chercheurs,
• onze (11)) post-doctorants,
• vingt-trois (23) étudiants doctorants,
• cinq (05) étudiants masters,
• cinq (05) chercheurs en position de détachement.
Le LPAO-SF a produit beaucoup d’articles et publications scientifiques.
Il compte :
• près de 250 publications scientifiques dans des revues à comité de lecture depuis 1994 et plusieurs centaines de communications et actes de colloques ;
• et 55 thèses depuis la création : 3 thèses d’état en Sciences, 9 thèses d’universités françaises, 6 thèses de 3eme cycle, 21 thèses de doctorat ingénieur et 16 thèses de doctorat unique.

Partenaires

Le LPAO-SF a noué beaucoup de partenariats au Sénégal et à travers le monde :
Partenaires nationaux sont :
• UFR de Mathématiques Appliquées de Physique et d’Informatique de l’Université Gaston Berger de Saint Louis,
• Direction de la Météorologie Nationale,
• ASECNA,
• Département de géographie de la Faculté des Lettres et Sciences Hu-maines,
• Institut Sénégalais de Recherche Agronomique (ISRA),
• Centre de Recherche Océanographique (CRODT),
• LERG,
• Direction de l’environnement.
Partenaires extérieurs
Ses partenaires internationaux sont :
• Dschang au Cameroun,
• Université de Conakry en Guinée,
• Université de Niamey au Niger,
• Ecole Africaine de la Météorologie et de l’Aviation Civile (EAMAC) Niamey,
• Université d’Abidjan,
• Ecole Nationale d’Ingénieurs (ENI) de Bamako au Mali,
• Centre Africain pour les Applications de la Météorologie au Dévelop-pement (ACMAD),
• Laboratoire de Météorologie Dynamique de l’Ecole Polytechnique (Pa-laiseau),
• Laboratoire d’Aérologie de l’Université Paul Sabatier (Toulouse),
• Université Paris XII (Créteil),
• Institut français de Recherche pour le Développement (IRD),
• Université de Pennsylvania State,
• Bureau Afrique de la NOAA (Agence américaine de l’océan et de l’atmosphère),
• Institut National Polytechnique de Grenoble (INPG).

Système SenPluvio

Cette étude consiste à déterminer les différents constituants de la station et le processus de transmission des données mesurées.

Le fonctionnement de la station pluviométrique

Les capteurs :
Un capteur est un dispositif transformant l’état d’une grandeur physique observée en une grandeur utilisable. On fait souvent la confusion entre cap-teur et transducteur. Il faut savoir qu’un capteur est constitué au minimum d’un transducteur. Le capteur se distingue de l’instrument de mesure par le fait qu’il ne s’agit que d’une simple interface entre un processus physique et une information manipulable. La figure 1.1 montre le composant de base d’un capteur intelligent [10].
Le capteur permet de prendre en compte les évènements de notre envi-ronnement. Il ne dispose pas d’un système de stockage de données ou d’un afficheur. Les capteurs sont des éléments de base des systèmes d’acquisition de données. Leur mise en œuvre relève du domaine d’instrumentation. Les capteurs peuvent être classés selon trois critères :
• Leurs apports énergétiques : on distingue deux types :
— Capteurs passif : qui donne une représentation de la grandeur phy-sique mesurée par le biais d’une résistance électrique variable et a l’avantage de pouvoir fonctionner seuls.
— Capteurs actifs : dont la grandeur physique mesurée va directement établir une relation de sortie c’est à dire qu’en sortie de ces capteurs il y aura une grandeur électrique, sans adjonction de tension à ses bornes.
• Leurs types de sorties : il y’en a trois :
— capteurs analogiques : la sortie est une grandeur électrique dont la valeur est une fonction de la grandeur physique mesurée par le capteur. La sortie peut prendre une infinité de valeurs continues.
— capteurs numériques : la sortie est une séquence d’états logiques qui, en se suivant, forment un nombre. la sortie peut prendre une infinité de valeurs discrètes.
— capteurs logiques : la sortie est un état logique que l’on note 1 ou 0. La sortie ne peut prendre que ces deux valeurs.
• Leurs types de sorties : il y’en a trois :
— détection avec contact « le capteur doit entrer en contact physique avec un phénomène pour le détecter»
— détection sans contact, le capteur détecte le phénomène à proxi-mité de celui-ci. [11]
Dans ce projet, nous utilisons des capteurs comme DHT11 et pluviométrique sous le contrôle d’un microcontrôleur arduino pour avoir des informations sur la température, l’humidité relative et la pluviométrique.

Le principe de fonctionnement de la station

Architecture interne de la station existante
Le pluviomètre connecté déployé effectue la collecte des données pluvio-métriques. Il se compose de plusieurs unités :
1. Une unité de détection : l’unité de détection est généralement composé d’au moins un capteur. En météorologie, le pluviomètre est l’instru-ment le plus utilisé pour mesurer la quantité de pluie.
2. Processeur : l’unité de traitement est responsable de l’intelligence de la station. Il récupère les données des capteurs, effectue le traitement et les formats des messages et les envoie à la passerelle. Il se compose principalement d’une carte Arduino UNO.
Il compte les basculements provenant de la jauge de pluie et mesure la température et l’humidité.
3. Alimentation : Une station automatique est censé être placé dans des zones difficiles d’accès. Ensuite, il doit être autonome et travailler pendant une longue période sans intervention humaine. Le modèle de la station proposée dispose d’une alimentation solaire grâce à un panneau solaire. Une batterie est ajoutée pour stocker l’énergie et permettant à la station d’opérer en l’absence de soleil.
4. Transmission de données : Pour communiquer avec un serveur cen-tral, la station doit être équipée d’un module de transmission. Pour nos stations, l’unité de communication peut utiliser divers moyens de transmissions :
• RF 433 : bande 433 MHz fait partie de la bande ISM(Industriel, scientifique et médical. Il est un groupe libre, destiné à être libre utilisable à des fins industrielles, scientifiques et médicaux pour les communications par ondes radio. La bande RF 433 permet des transmissions sans fil à faible coût [12].
• SMS et GSM : Les réseaux cellulaires téléphoniques notamment la 2G (deuxième Génération), représentent généralement un choix pour remplacer les réseaux de capteurs sans fils pour les longues distances. Le GSM (Global System for Mobile Communications ) est la norme de la 2G la plus répandue. Il donne la possibilité d’envoyer des messages textes courts dits Short Message Service (SMS) Réseau GSM est le plus largement utilisé la norme 2G [13].
Au Sénégal, il couvre presque l’ensemble du territoire national. En conséquence, le SMS est très pratique pour envoyer des données d’une manière presque en temps réel. Pour une transmission sur la base de SMS sur le réseau 2G, la station utilise un écran GSM avec une carte Arduino.
• 3G Réseau cellulaire : le réseau 3G a commencé à être utilisé pour satisfaire les utilisateurs en termes de vitesse. Offrant des débits jusqu’à 42 Mbps, il est souvent un candidat idéal pour un système en temps réel avec un coût plus faible [14].
Pour la transmission avec le réseau 3G, la station utilise un écran avec une carte Ethernet Arduino et un modem 3G.

Les caractéristiques fondamentales

Les caractéristiques fondamentales de l’IoT sont les suivantes :
• Inter-connectivité : dans l’IoT, tout objet peut être connecté à l’infra-structure mondiale de l’information et de la communication.
• Services : l’IoT est à même de fournir des services liés aux objets tenant compte des exigences inhérentes à ceux-ci comme le respect et la protection des sphères privées.
• Hétérogénéité : les dispositifs utilisés dans l’internet des objets sont hétérogènes puisqu’ils ne font pas appel aux mêmes plates-formes ma-térielles ni aux mêmes réseaux. Ils peuvent interagir avec d’autres dispositifs ou plateforme de services par l’intermédiaire de réseaux différents.
• Changements dynamiques : l’état des dispositifs change de façon dy-namique, de même que le contexte dans lequel ces dispositifs fonc-tionnent.
• Très grande échelle : les dispositifs qui devront être gérés et qui com-muniqueront entre eux seront au moins dix fois plus nombreux que ceux connectés à l’Internet à l’heure actuelle. La gestion des données générées et leur interprétation pour les besoins des applications seront d’autant plus critiques. Cette question est en lien avec la sémantique et le traitement efficace des données [21].

Les applications de l’internet des objets

Les applications potentielles de l’Internet des Objets sont nombreuses et diversifiées, permutant dans pratiquement tous les domaines de la vie quotidienne de chaque individu, entreprise et la société en générale, illustration figure 2.2.
• Les villes : l’IoT permettra une meilleure gestion des réseaux divers qui alimentent nos villes (eaux, électricité, gaz, etc.) en permettant un contrôle continu en temps réel et précis. Des capteurs peuvent être utilisés pour améliorer la gestion des parkings et du trafic urbain et diminuer les embouteillages et les émissions en CO2.
• L’énergie : la gestion des grilles électriques se verra améliorée grâce à la télémétrie, permettant une gestion en temps réel de l’infrastructure de distribution de l’énergie. Cette interconnexion à large échelle facilitera la maintenance et le contrôle de la consommation et la détection des fraudes.
• Le transport : dans ce domaine l’IoT appuiera les efforts actuels autour des véhicules intelligents au service de la sécurité routière et l’aide à la conduite. Cela portera sur la communication inter-véhicule et entre véhicules et infrastructure routière. L’IoT constituera ainsi un prolongement naturel des « systèmes de transport intelligents » et leurs apports en termes de sécurité routière, confort, efficacité de la gestion du trafic et économie du temps et de l’énergie.
• La santé : dans le domaine de la santé, l’IoT permettra le déploiement de réseaux personnels pour le contrôle et le suivi des signes cliniques, notamment pour des personnes âgées. Ceci permettra ainsi de faciliter la télésurveillance des patients à domiciles, et apporter des solutions pour l’autonomie des personnes à mobilité réduite.
• L’industrie : dans l’industrie l’IoT permettra un suivi total des produits, de la chaîne de production, jusqu’à la chaîne logistique et de distribution en supervisant les conditions d’approvisionnement. Cette traçabilité de bout en bout facilitera la lutte contre la contrefaçon, la fraude et les crimes économiques transfrontaliers.
• L’agriculture : dans ce domaine, des réseaux de capteurs interconnec-tés à l’IoT peuvent être utilisés pour la supervision de l’environne-ment des cultures. Ceci permettra une meilleure aide à la décision en agriculture, notamment pour optimiser l’eau d’irrigation, l’usage des intrants, et la planification de travaux agricoles [21].
• La météorologie : l’IoT qui nous entoure est utilisé comme capteur météorologique et peut être intégré aux prévisions météorologiques. Il permet d’avoir les situations climatiques tels que la pluviométrie, vitesse du vent, la température, l’humidité, niveau de pollution, etc.. en temps réel. L’IoT répond au besoins de précision face au fluctuation fréquentes de la météo car ces fluctuations ne sont pas prise en compte dans la prévision météorologique. Les capacités de collecte de donnée des capteurs et appareils IoT peuvent être exploitées pour des prévisions météorologiques plus détaillées et précises. L’intégration de l’IoT dans le système de prévision permet d’obtenir des micro-données, c’est-à-dire des données brutes obtenues immédiatement à l’observation des variations [22].

Étude des protocoles applicatifs

Les technologies IoT permettent à des choses ou des appareils qui ne sont pas des ordinateurs, d’agir intelligemment et de prendre des décisions de col-laboration qui sont bénéfiques pour certaines applications. Nous présentons dans ci-dessous des protocoles IoT fonctionnant à différentes couches de la pile réseau offerts par des organismes de normalisation. Ces normes ont été proposées au cours de la dernière demi-décennie pour répondre aux besoins actuels et aux besoins futurs de l’IoT.

MQTT(Message Queuing Telemetry Transport)

MQTT est un protocole M2M (Machine-to-machine) open source. C’est un protocole basé sur le publish/subscribe à la fois extrêmement simple et léger, idéal pour l’internet des objets. Il a été inventé par Andy Stanford Clark(IBM) et Arleen Nipper (Arcom, maintenant cirrus Link) en 1999, lorsque leur cas d’utilisation était de créer un protocole avec les objets sui-vants :
1. Simple à mettre en œuvre.
2. Fournir une qualité de service de livraison de données.
3. Léger et faible consommation de la bande passante [23].
Par la suite, la version 3.1 a été libérée de droits en 2010. Les qualités de MQTT font de lui un excellent candidat pour les communications au sein de l’internet des objets [24], mais il a également été utilisé avec succès par Facebook pour être au cœur de leur système de messagerie à cause de sa performance, comme il est utilisé par Amazon web service dans ses passerelles pour permettre la diffusion des données à plusieurs abonnés sur un sujet donné [25].
Mode de fonctionnement
MQTT est un protocole de publication et de souscription de message. Les clients ne communiquent pas directement entre eux, ils publient des mes-sages sur un broker (appelé aussi courtier), les messages sont composés d’un contenu et d’un sujet (topic) [26]. Le broker garde en mémoire le dernier message pour chaque sujet. Les client qui sont intéressés par les messages d’un sujet peuvent les récupérer en se connectant au broker.
Ce paterne consiste à organiser les messages par sujets (topics) et à gérer leur distribution selon le principe d’abonnement. Ainsi, toute application peut publier ses messages sur les topics de son choix, tandis que les applica-tions intéressées par les messages d’un topic donné peuvent s’abonner pour recevoir tous les nouveaux messages publiés sur ce topic. Dans un système MQTT complet, nous retrouvons quatre notions importantes (figure 2.3) :
• Les Publishers : L’origine des messages.
• Les Subscribers : La destination des messages.
• Le broker : L’élément qui fait le lien entre les publishers et les sub-scribers.
• Les topics : Canaux de communications.
Le standard ne définit pas de topologie particulière d’utilisation, la plus simple étant celle avec un seul broker et un certain nombre de client. D’autres organisations restent évidement possible, avec en particulier les système à base de bridge dans lesquels plusieurs brokers son utilisés, chacun étant client des autres brokers, comme la figure 2.4.
Connexion et Déconnexion : MQTT se sert de connexions persis-tantes entre les clients et le broker, et exploite pour cela les protocoles de réseau garantissant un bon niveau de fiabilité comme TCP.
Avant de pouvoir envoyer des commandes de contrôle, un client doit au préalable s’enregistrer auprès du broker, ce qui se fait avec la commande CONNECT.
Divers paramètres de connexion peuvent alors être échangés, comme les identifiants du client ou encore le mode persistance souhaité. Le broker doit confirmer au client que son inscription a bien été prise en compte, soit indiquer qu’une erreur est survenue en renvoyant un CONNACK accompagné d’un code de retour.
Il existe une commande PINGREQ permettant de faire savoir au broker que le client est toujours actif, le broker répondra de son côté avec un PINGRESP pour indiquer au client que la connexion est toujours active.
Lorsque le client veut se déconnecter, il envoie au préalable une commande DISCONNECT au broker pour lui faire part de son intention. Dans le cas contraire, le broker considérera la déconnexion comme anormale et agira en conséquence [27], en envoyant le message de volonté WILL au nom du client
à tous les abonnés. Un message que le client peut spécifier et conservera l’indicateur dans la charge utile de message CONNECT.
Abonnement et Publication :
Chaque message publié est nécessairement associé à un sujet, ce qui permet sa distribution aux abonnés. Les sujets peuvent être organisés hiérarchie arborescente, ainsi les abonnements peuvent porter sur des motifs de filtrage. La gestion des abonnements est très simple et consiste en trois commandes essentielles :
1. SUBSCRIBE : Permet à un client de s’abonner à un topic, il rece-vra par la suite toutes les publications concernant ce sujet. Un abon-nement définit également un niveau de qualité de service. La bonne réception de cette commande est confirmée par le broker par un SUB-ACK portant le même identifiant de paquet.
2. UNSUBSCRIBE : Donne la possibilité d’annuler un abonnement, et ainsi ne plus recevoir les publications ultérieures. La bonne réception de cette commande est confirmée par le broker par un UNSUBACK portant le même identifiant de paquet.
3. PUBLISH : Initié par un client, permet de publier un message qui sera transmis par le broker aux abonnés éventuels. La même com-mande sera envoyée par le broker aux abonnés pour délivrer le mes-sage.
Si la qualité de service requise est supérieure à zéro des messages seront échangés pour confirmer la prise en charge de la publication.
Topic et Motifs de filtrage :
Un sujet est une chaîne UTF-8, qui est utilisé par le broker pour filtrer les messages pour chaque client connecté. Un sujet est constitué d’un ou plusieurs niveau de sujet. Chaque niveau de sujet est séparé par une barre oblique.
A noter que chaque sujet doit avoir au moins 1 caractère pour être validé et il peut également contenir des espaces.
Qualité de service :
Trois niveaux de qualité de service (QoS) sont définis pour la publication des messages :
QoS 0 : Livraison une fois maximum.
Les messages sont envoyés en fonction des capacités maximum du réseau TCP/IP sous-jacent. Aucune réponse n’est attendue. Aucune sémantique de relance n’est définie dans le protocole. Par conséquent, le message ne parvient pas du tout ou une seule fois au broker de destination. Le niveau QoS est également connu comme fire and forget.
QoS 1 : Livraison au moins une fois.
L’arrivée d’un message QoS 1 au broker est reconnue. En cas d’échec identi-fiable de la liaison ou de l’unité d’envoi, ou bien après une certaine période de temps sans réception du message d’accusé de réception, l’expéditeur envoie à nouveau une copie du message. Par conséquent, le message est sûr d’arriver, mais il peut le faire plusieurs fois.
QoS 2 : Livraison exactement une fois.
Pour le niveau QoS 2, d’autres flux de protocoles sont utilisés au-delà de QoS 1 pour que des messages ne soient pas envoyés en double à l’application de réception. Il s’agit du niveau de service le plus élevé qui sert lorsque des messages en double ne sont pas appropriés. Il existe évidemment des conséquences en matière de trafic réseau, mais cet impact est souvent acceptable sachant l’importance du contenu du message.
La qualité de service peut être sélectionnée message par message, ce qui permet la publication des messages d’importance mineure avec le niveau QoS 0 et la distribution des messages plus importants avec QoS 2.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport-gratuit.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Liste des tableaux
1 Introduction Générale 
1.1 Contexte
1.2 Problématiques et Objectifs
1.3 Présentation de la structure d’accueil
1.3.1 Missions et axes de recherche
1.3.2 Les chiffres
1.3.3 Partenaires
1.4 Système SenPluvio
1.4.1 Le fonctionnement de la station pluviométrique
1.4.2 Le principe de fonctionnement de la station
2 Internet des Objets (IoT) et études des protocoles MQTT et HTTP (REST) 
2.1 Internet des Objets (IoT)
2.1.1 Définition
2.1.2 Présentation technique de l’IoT
2.1.3 Les caractéristiques fondamentales
2.1.4 Les applications de l’internet des objets
2.2 Étude des protocoles applicatifs
2.2.1 MQTT(Message Queuing Telemetry Transport)
2.2.2 REST (Representational State Transfer)
3 Outils et technologies 
3.1 Outils
3.1.1 Capteurs
3.1.2 Le microprocesseur(Arduino UNO)
3.1.3 Module Ethernet Shield
13.1.4 Module Wifi ESP8266
3.1.5 L’outil Git
3.1.6 Le serveur GitLab
3.1.7 Langages de programmation
3.2 Technologies
3.2.1 FLASK
3.2.2 MySQL
3.2.3 Serveur Web
4 Conception et Implémentation 
4.1 Conception
4.1.1 Architecture générale
4.1.2 Système de transmission
4.2 Prototype du dispositif
4.2.1 Acquisition, traitement de données au serveur
4.2.2 Structure de l’objet
4.2.3 Structure de la passerelle
4.2.4 Fonctionnement du broker mqtt
4.2.5 La synchronisation des requêtes envoyées au broker
4.3 Implémentation
4.3.1 Diagramme du système d’acquisition de données
4.3.2 Observation du transfert des données
5 Conclusion générale 
Bibliographie 

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *