SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Projet de Fin d’Année
Spécialité : Télécommunications
Présenté par :
BEN AISSIA Yasser & CHAIEB Ghassene
Gateway d’un système de monitoring
d’un malade à un serveur d’urgence
Encadrant : Mr. Tahar Ezzedine (Maitre de conférence-ENIT)
Année universitaire : 2014/2015
1
C’est avec le plus grand honneur que nous avons réservé l’ouverture de notre rapport
en signe de gratitude et de reconnaissance à l’égard de tous ceux qui nous ont aidés, de près
ou de loin, à la réalisation de ce projet.
Nous tenons à adresser nos vifs remerciements à notre encadrant Mr. Tahar Ezzedine pour
sa présence, son encadrement, ses conseils fournis de façon efficace Tout au long
de la période de réalisation.
Nous voudrions aussi exprimer nos remerciements sincères à Mr. Mohamed Bedoui
qui Nous a soutenus et aidés à progresser dans notre projet.
Nos remerciements s’adressent également aux membres du Jury qui nous font l'honneur de
participer à notre soutenance.
2
Gateway d’un système de monitoring
d’un malade à un serveur d’urgence
Résumé
A une époque où l’innovation en système embarqué est plus que jamais nécessaire, des défis
se profilent à l’horizon surtout quand il s’agit de sauver des vies humaines des dangers qui
les entourent. Parmi ces dangers, on peut citer les accidents de la route qui coûtent
des victimes nécessitant une intervention sanitaire immédiate. Dans ce contexte, et en
se lançant au nom de la Tunisie dans une compétition internationale, nous avons proposé
une idée originale de projet qui consiste à réaliser une boite d’urgence intelligente capable
d’analyser les éléments vitaux d’un blessé et de guider l’utilisateur par les soins primaires
en se connectant à un serveur d’urgence. Le but de notre projet de fin d’année est de réaliser
la partie Gateway de ce système.
Mots clés
Gateway, Raspberry, Capteur, Monitoring, Serveur web.
3
Gateway of a patient monitoring system
with an emergency server
Abstract :
The embedded system innovation is needed more than ever, especially when it comes to
saving lives from dangers such as street accidents. In this case, an immediate intervention
is usually necessary in this context, and by launching on behalf of Tunisia in an international
competition, we proposed an original idea of a project, which consists in a Smart First Aid
Kit capable of analyzing the vital elements of a casualty and guiding the primary care
by connecting to an emergency server. The purpose of our year-end project is to achieve the
Gateway part of this system.
Key Words:
Gateway, Raspberry, Sensor, Monitoring, Web server
4
Introduction générale ........................................................................................................................ 9
Chapitre 1 : Etude et Choix de la solution ....................................................................................... 11
1.1 Introduction............................................................................................................................ 12
1.2 Choix de la solution................................................................................................................ 12
1.3 Raspberry Pi ........................................................................................................................... 14
1.3.1 Présentation générale..................................................................................................... 14
1.3.2 Les composants standards de RaspBerry Pi.................................................................... 14
1.3.3 Système d’exploitation ................................................................................................... 15
1.4 Liaison avec bloc de lecture des paramètres vitaux .............................................................. 15
1.4.1 Zolertia Z1 ...................................................................................................................... 15
1.4.2 MSP430 ........................................................................................................................... 16
1.4.3 Protocole......................................................................................................................... 16
1.4.3.1 Trame « demande » ................................................................................................. 16
1.4.3.2 Trame « réponse » ................................................................................................... 17
1.5 Conclusion.............................................................................................................................. 18
Chapitre 2 : Communication avec un serveur web.......................................................................... 19
2.1 Introduction............................................................................................................................ 20
2.2 Connexion internet et géolocalisation................................................................................... 20
2.2.1 Module GSM/GPRS & GPS pour Raspberry Pi................................................................. 20
2.2.2 Solution de rechange ...................................................................................................... 21
2.3 Prise de main à distance sur le Raspberry Pi.......................................................................... 21
2.3.1 SSH................................................................................................................................... 21
2.3.2 VNC :................................................................................................................................ 21
2.4 Service Web............................................................................................................................ 22
2.4.1 REST, AJAX and JAVASCRIPT................................................................................................ 22
2.5 Conclusion.............................................................................................................................. 23
Chapitre 3 : Réalisation et tests ....................................................................................................... 24
3.1 Introduction............................................................................................................................ 25
3.2 Structure générale du Gateway ............................................................................................. 25
3.2 Préparation du Raspberry Pi .................................................................................................. 25
5
3.2.1 Installation de l’OS « Raspbian »..................................................................................... 25
3.2.2 Connexion à distance ...................................................................................................... 26
3.2.2.1 Connexion SSH ......................................................................................................... 26
3.2.2.2 VNC........................................................................................................................... 26
3.2.2.3 Réservation d’adresse IP.......................................................................................... 27
3.3 Vidéo streaming ..................................................................................................................... 27
3.4 Lecture de données à partir du module Zolertia Z1............................................................... 28
3.5 Affichage de la température sur un serveur.......................................................................... 29
3.5.1 Installation de « Apache2 »............................................................................................. 29
3.5.2 Modification du script HTML........................................................................................... 30
3.6 Conclusion.............................................................................................................................. 30
Conclusion générale......................................................................................................................... 31
Bibliographie .................................................................................................................................... 32
6
Figure 1.1 - Carte Arduino UNO...................................................................................................... 12
Figure 1.2 - Carte STM32................................................................................................................ 12
Figure 1.3 - Carte Raspberry PI B+.................................................................................................. 12
Figure 1.4 - Carte Beaglebone........................................................................................................ 12
Figure 1.5 - Les composants standards d'un Raspberry [4]............................................................ 14
Figure 1.6 - Logo du système d'exploitation Raspbian [5]. ............................................................ 15
Figure 1.7 - Carte Zolertia Z1.......................................................................................................... 15
Figure 1.8 - Format de la trame demande correspondante à la température............................... 16
Figure 1.9 - Format de la trame demande correspondante à l'électrocardiographie. .................. 17
Figure 1.10 - Format de la trame demande correspondante à la pression artérielle...................... 17
Figure 1.11 -Format de la trame réponse correspondante à la température. ................................ 17
Figure 1.12 - Format de la trame demande correspondante à l'électrocardiographie. .................. 18
Figure 1.13 - Format de la trame demande correspondante à la pression artérielle...................... 18
Figure 2.1 - Module GSM/GPRS et GPS [7]..................................................................................... 20
Figure 2.2 - Exemple d’une trame NMEA complète [9]. ................................................................ 21
Figure 2.3 - Routeur TL-MR3020 connecté à un clé 3G Huawei E3131.......................................... 21
Figure 2.4 - Communication client-serveur [10]. ........................................................................... 22
Figure 2.5 - Raspberry Pi en tant que serveur [10]. ....................................................................... 23
Figure 3.1 - Structure générale du Gateway. ................................................................................. 25
Figure 3.2 - Installation du Raspbian avec Win32 Disk Imager. ..................................................... 26
Figure 3.3 - Accès à l'interface graphique du Raspberry sur VNC Viewer...................................... 27
Figure 3.4 - Réservation de l'adresse 192.168.0.100 au Raspberry. .............................................. 27
Figure 3.5 - Test du vidéo-streaming.............................................................................................. 28
Figure 3.6 - Résultat d'exécution du programme Temp.py............................................................ 29
Figure 3.7 - Test de serveur Apache2 sur un navigateur web........................................................ 29
Figure 3.8 - Programme de modification du fichier index.html..................................................... 30
Figure 3.9 - Test final de serveur web............................................................................................ 30
7
Tableau 1.1 - Comparaison technique : Arduino Uno, Beaglebone, RaspBerry Pi et STM32 [3]..... 13
8
TI Texas Instruments
USB Universal Serial Bus
PFA Projet de Fin d’Année
RAM Random Access Memory
RTOS Real-Time Operating System
RCA Radio Corporation of America
GPIO General Purpose Input/Output
RISC Reduced Instruction Set Computing
HDMI High Definition Multimedia Interface
HSPA High Speed Packet Access
TCP Transmission Control Protocol
UDP User Datagram Protocol
DHCP Dynamic Host Configuration Protocol
NMEA National Marine Electronics Association
HTTP HyperText Transfer Protocol
FTP File Transfer Protocol
RFB Remote Frame Buffer
SSH Secure Shell
VNC Virtual Network Computing
AJAX Asynchronous JavaScript And XML
REST REpresentational State Transfer
JSON JavaScript Object Notation
9
Texas Instruments (TI) [1] est une entreprise mondiale fonctionnant dans 35 pays.
Elle est renommée dans le domaine des semi-conducteurs et des composants électroniques
passifs, fondée en 1941 et basée à Dallas. TI organise annuellement une compétition
internationale « TI Innovation Challenge » dans laquelle elle sollicite les étudiants en génie
à proposer des idées des projets innovants qui utilisent les composants TI. Cette
compétition concerne l’Amérique du Nord, l’Europe et un nombre limité des pays
du Moyen-Orient et de l’Afrique. Dans ce cadre, et en se lançant au nom de la Tunisie
nous avons proposé une idée originale qui a été retenue par la commission de sélection
de TI, ce qui nous a permis de participer à la compétition.
Chaque année, des milliers de vies sont perdus dans les accidents de la route. En Tunisie
il y a eu 1565 morts et 12354 blessés sur les routes pour un total de 7971 accidents
en 2014, d’après les chiffres fournis par le Ministère de l’Intérieur [2]. Dans plusieurs cas
l’une des principales causes est le temps mis par les services d’urgence pour se rendre sur
place. Afin de contribuer à pallier ce problème et à réduire le nombre des victimes
nous avons proposé une idée de projet intitulé « Smart Advanced First Aid Kit ».
En effet, les moyens de transport disposent normalement d’une trousse de secours qui
contient des médicaments et des instruments des premiers soins. Cet outil s’avère
insuffisant dans plusieurs cas (crise cardiaque, hypertension…)
Notre projet, proposé à TI et baptisé « Smart Advanced First Aid Kit », consiste
en une boite d’urgence intelligente. Cette boite sera capable de collecter et envoyer
les paramètres vitaux de la victime à un serveur installé chez les services d’urgence. Elle
disposera, en plus, d’une communication audiovisuelle pour que le médecin d’urgence
puisse donner les instructions et les recommandations à la personne présente à côté de la
victime.
Le but est de réaliser les interventions nécessaires le temps de l’arrivée des services de
secours. Ce temps est très précieux et très critique pour sauver des vies humaines dans
plusieurs cas. Le projet en totalité se compose de trois parties un bloc lecture des
paramètres vitaux de la victime, un Gateway et un serveur central.
On s’intéresse dans notre projet de fin d’année (PFA) à réaliser la partie Gateway
permettant de lire les données à partir du « bloc lecture des paramètres vitaux »
et la communication avec le serveur.
10
Pour présenter la démarche que nous avons suivie, notre rapport se présente de la façon
suivante :
Dans une première partie, nous donnerons une étude et un aperçu sur le choix des solutions
pratiques que nous allons utiliser dans la liaison avec le bloc lecture, la deuxième partie
s’intéresse à la communication avec le serveur web. Enfin, la dernière partie va mettre
l’accent sur une démonstration qui résume le travail réalisé.
11
Chapitre 1
Sommaire
1.1 Introduction
1.2 Choix de la solution
1.3 Raspberry Pi
1.4 Liaison avec bloc de lecture des paramètres vitaux
1.5 Conclusion
12
1.1 Introduction
Dans ce premier chapitre, on s’intéresse à l’étude de module central de Gateway et sa liaison
avec la partie qui se base sur la détection des paramètres vitaux par les capteurs.
1.2 Choix de la solution
Une analyse, qui consiste à rechercher et à caractériser les fonctions que le produit doit offrir
pour satisfaire les besoins demandés, peut nous aider à limiter les choix des solutions
pratiques. Dans notre cas, le projet nécessite une partie centrale capable de traiter les données
reçues et les envoyer à un serveur d’urgence par le biais d’une connexion internet mobile.
De plus, le système est censé avoir la capacité de lancer une conversation audiovisuelle
à l’aide d’une webcam.
Durant notre recherche sur la partie Gateway, nous avons constaté qu’au cours des dernières
années, de nombreuses cartes de développement modulaire sont apparues. Chaque carte
présente des avantages et des inconvénients. Elles se diffèrent par leurs fonctionnalités
leurs complexités et leurs prix.
On peut citer parmi ces cartes :
 Carte Arduino : c’est un circuit intégré à base d’un
microcontrôleur programmable qui peut analyser et produire des
signaux électriques de façon à effectuer des tâches précises.
 Carte STM32 : c’est un circuit intégré à base
un microcontrôleur composé d’un processeur ARM, une mémoire
RAM et une interface de débogage.
 RaspBerry Pi B+ : un mini-ordinateur qui exécute le système
d’exploitation Linux.
 Beaglebone : une mini-carte électronique qui possède les
fonctionnalités d’un ordinateur basique.
Figure 1.1 – Carte Arduino UNO.
Figure 1.2 - Carte STM32.
Figure 1.3 - Carte Raspberry PI B+.
Figure 1.4 - Carte Beaglebone.
13
Le tableau suivant nous donne une comparaison technique entre ces cartes :
Tableau 1.1 - Comparaison technique : Arduino Uno, Beaglebone, RaspBerry Pi et STM32 [3].
Nom de la carte Arduino UNO Beaglebone
Raspberry Pi
B+
STM32
Naissance 2005 2008 2012 2007
Prix (dollars) 30 90 Moins de 40 10
Processeur ATmeg328 8bits
Sitara335x sur un
cortex M8
BCM2835 sur un
ARM11
-CPU intégrée
Cortex
RAM 2 Ko 256 Mo 512 Mo Max 128 Ko
Mémoire Flash 32 Ko MicroSD - 4G MicroSD – 32 G Max 2048 Ko
Consommation(w) 0.5 2.5 3.5 basse
Ethernet Non oui oui non
USB Non 1 4 Micro-USB
Sortie vidéo Non non HDMI, RCA non
Système d’exploitation RTOS Linux Linux RTOS
Analyse du tableau comparatif :
 Nous remarquons qu’en terme de mémoire vive ou mémoire externe, la capacité de
Raspberry est plus importante que les autres cartes.
 Le Raspberry possède des connectiques (HDMI, port Ethernet, port USB…) de plus
par rapport au Beaglebone, STM32 et Arduino UNO.
 Le Raspberry et le Beaglebone se diffèrent par leur exécution du système Linux qui
facilite les communications avec le monde extérieur.
 L’Arduino a une puissance faible devant les autres cartes.
En tenant compte du tableau 1.1, on déduit que le Raspberry représente un outil plus
performant et mieux adapté à nos besoins. Le Raspberry possède des connectiques
convenables au fonctionnement de notre système .De plus, son rapport performance-prix
est plus qu’abordable.
14
1.3 Raspberry Pi
1.3.1 Présentation générale
Raspberry est une carte mère d’un mini-ordinateur qui peut être branchée à n’importe quel
périphérique (souris, clavier…). Cette carte est fabriquée pour aider à étudier les ordinateurs
et pour représenter un moyen d’apprentissage de la programmation informatique en plusieurs
langages (python, scratch...) .Elle est aussi capable de lire les vidéos à haute définition et
même à installer des jeux vidéo.
L’intérêt d’utiliser le Raspberry PI est sa capacité d’interaction avec le monde extérieur et
d’exécuter plusieurs variantes du système d'exploitation libre (GNU/Linux, Raspbian
Debian …) et des autres logiciels compatibles.
1.3.2 Les composants standards de RaspBerry Pi
La figure suivante représente un RaspBerry standard :
 Processeur ARM : Les architectures ARM sont des architectures de processeurs ,à
faible consommation , introduites à partir de 1983 par « Acorn Computers »
et développées depuis 1990 par « ARM Ltd » .
 Mémoire vive RAM : C’est la mémoire dans laquelle le RaspBerry place les
données lors de son traitement.
 Une connectique variée :
• HDMI : « High Definition Multimedia Interface » permet de relier le RaspBerry
PI à un dispositif compatible : écran LCD ou un vidéoprojecteur…
Figure 1.5 - Les composants standards d'un Raspberry [4].
15
• Port USB 2.0 : Le port « Universal Serial Bus » est un port série qui sert à
connecter le RaspBerry aux autres périphériques.
• Port Ethernet : C’est un port qui correspond au protocole international
ETHERNET de réseau local à commutation de paquets.
• Prise RCA : « Radio Corporation of America » est
un connecteur électrique utilisé dans le domaine audio/vidéo.
• un slot les cartes SD : Le RaspBerry a besoin d’une mémoire externe
supplémentaire pour fonctionner. Ce slot permet de connecter la mémoire
externe.
• une prise jack : C’est une connectique audio-vidéo.
• GPIO : « General Purpose Input/Output » sont des ports d’Entrée/Sortie.
1.3.3 Système d’exploitation
La plupart des systèmes qui fonctionnent sur Raspberry Pi
sont des versions du système d'exploitation Linux. Parce que
Linux est open source, les développeurs peuvent l’adopter
pour des buts spécifiques. Dans le cas du Raspberry Pi, le
matériel léger nécessite un système réduit et privé
d'applications inutiles.
La distribution est recommandée Raspbian. C’est un système
d'exploitation libre basé sur Debian optimisé pour le matériel Raspberry Pi. Cependant
Raspbian fournit plus qu'un simple système d’exploitation : il est livré avec plus de 35.000
paquets, des logiciels précompilés qui nous facilitent le développement soft [6].
Tous langages qui peuvent être compilés sur ARMv6 sont installés par défaut sur le
Raspberry Pi : Python. C, C ++, Java, Scratch, et Ruby. La Fondation Raspberry Pi
recommande Python comme langage pour les étudiants.
1.4 Liaison avec bloc de lecture des paramètres vitaux
Le bloc de lecture des paramètres vitaux est constitué des interfaçages des capteurs
et d’une carte Zolertia Z1 à base de microcontrôleur MSP430.
1.4.1 Zolertia Z1
Zolertia Z1 est une plate-forme de développement qui contient
essentiellement un microcontrôleur de référenceMSP430F2 une
interface USB et un capteur de température intégré. Dans notre
cas, ce module peut représenter un pont entre les capteurs et le
Raspberry.
Figure 6 Logo du système
d'exploitation Raspbian [5].
Figure 1.6 - Carte Zolertia Z1
16
La communication entre ces deux derniers sera faite à l’aide de l’interface USB et en se
basant sur un protocole qu’on a développé.
1.4.2 MSP430
MSP est la famille des microcontrôleurs de TI. Elle est basée sur un processeur 16 bits en
architecture de type Reduced instruction set computing (RISC). Cette architecture
se caractérise par un nombre réduit d’instructions simples et faciles à décoder. Les
caractéristiques de la famille MSP sont le faible taux de consommation et son intégration
facile à plusieurs environnements de développement.
1.4.3 Protocole
C’est l’ensemble des règles qui permettent l’échange des données entre deux systèmes.
Dans notre cas, le protocole développé se présente de la façon suivante :
• Le Raspberry envoie une trame de demande de paramètre à la MSP.
• La MSP répond à la trame selon les paramètres de la trame de demande.
1.4.3.1 Trame « demande »
Chaque trame commence par le caractère « $ » suivi de 3 lettres pour identifier le paramètre
vital demandé. : Soit TEM pour la température, ECG pour l'électrocardiographie ou PRE
pour la pression artérielle. Puis, un champ qui indique le nombre de voie, un autre pour le
nombre d’échantillon, un pour la période de lecture et enfin le dernier champ de la détection
d’erreurs CRC.
Les différentes trames « demande » sont représentées dans les figures suivantes :
Figure 1.7 - Format de la trame demande correspondante à la température.
17
Figure 1.8 - Format de la trame demande correspondante à l'électrocardiographie.
Figure 1.9 - Format de la trame demande correspondante à la pression artérielle.
Notez bien : Il est recommandé de mesurer la pression artérielle chaque dix minutes.
1.4.3.2 Trame « réponse »
La trame de réponse diffère de la trame de demande par un bloc de données demandées.
Les structures des différentes trames sont représentées dans les figures suivantes :
Figure 1.10 -Format de la trame réponse correspondante à la température.
18
Figure 1.11 - Format de la trame demande correspondante à l'électrocardiographie.
Figure 1.12 - Format de la trame demande correspondante à la pression artérielle.
1.5 Conclusion
Dans ce chapitre, nous avons justifié le choix de l’outil de développement comme étant la
partie centrale du Gateway et nous avons défini un protocole d’échange de données entre le
module de lecture et le Gateway.
19
Chapitre 2
Sommaire
2.1 Introduction
2.2 Connexion internet et géolocalisation
2.3 Prise de main à distance sur le Raspberry Pi
2.4 Service Web
2.5 Conclusion
20
2.1 Introduction
De plus en plus on a besoin de rendre les applications accessibles sur le web.
Les motivations sont multiples : vendre des services en ligne, faire communiquer des
applications... Dans notre cas, nous voulons publier les paramètres vitaux sur un serveur
web.
2.2 Connexion internet et géolocalisation
2.2.1 Module GSM/GPRS & GPS pour Raspberry Pi
Ce module nous permet d’accéder aux réseaux
cellulaires HSPA 3G afin d’étendre les
fonctionnalités du Raspberry aux applications
mobiles en utilisant le module SIM900. Nous
pouvons envoyer des SMS, passer des appels ou
créer des sockets TCP et UDP pour envoyer des
informations à l'Internet. Les protocoles http et
FTP sont également disponibles afin d'envoyer les
informations vers le cloud directement à partir de
notre Raspberry.
Il est aussi équipé d’un module GPS qui nous
permet de positionner la carte en analysant la trame NMEA [7].
 Format des trames NMEA [8] :
Chaque trame commence par le caractère « $ » suivi de 2 lettres pour l'identifiant du
récepteur : soit GP pour Global Positioning System, puis un groupe de 3 lettres pour
l'identifiant de la trame :
 GGA : pour GPS Fix et Date.
 GLL : pour Positionnement Géographique Longitude-Latitude.
 GSA : pour DOP et satellites actifs.
 GSV : pour Satellites visibles.
 VTG : pour Direction (cap) et vitesse de déplacement (en nœuds et Km/h).
 RMC : pour données minimales exploitables spécifiques.
Figure 2.1 - Module GSM/GPRS et GPS [7].
21
La trame qui nous intéresse est celle qui commence par $GPGLL. Elle fournit la latitude,
la longitude et l’heure :
Figure 2.2 Exemple d’une trame NMEA complète [9].
2.2.2 Solution de rechange
Vu que ce module GSM/GPRS & GPS coûte cher (environ
300 DT) nous avons essayé de trouver une solution de
rechange : un modem USB 3G/4G et un routeur TL-MR3020
Le routeur TL-MR3020 nous permet de partager une
connexion haut débit 3G/4G en wifi et réseau RJ45. Il peut
être connecté à un ordinateur portable ou un adaptateur secteur
pour servir d’alimentation (5Vcc/1A).
Cette solution est moins couteuse, environ 50 DT
2.3 Prise de main à distance sur le Raspberry Pi
Bien que le Raspberry Pi fournisse une superbe qualité d'image via HDMI, il y a beaucoup
de scénarios où nous n’avons pas besoin d'un écran, et la connexion à distance suffira.
2.3.1 SSH
Secure Shell est un protocole de réseau crypté pour initier des sessions Shell textuelles sur
des machines distantes de manière sécurisée. Cela permet à un utilisateur d'exécuter des
commandes sur l'invite de commande d'une machine sans qu'ils soient physiquement
présents à proximité de la machine.
2.3.2 VNC :
Virtual Network Computing est un système de visualisation et de contrôle
d'un ordinateur distant. Il permet au logiciel client VNC de transmettre les informations
de saisie du clavier et de la souris à l'ordinateur distant, possédant un logiciel serveur VNC
Figure 2.313 - Routeur TL-MR3020 connecté
à un clé 3G Huawei E3131
22
à travers un réseau informatique. Il utilise le protocole RFB qui est un protocole simple
pour l'accès à distance aux interfaces graphiques des utilisateurs.
2.4 Service Web
Au cours des dernières années, le Web a subi des transformations à partir d'un réseau de
serveurs web servant principalement des pages statiques à des navigateurs Web en une
architecture client-serveur complet, où les applications Web d'une seule page clients
utilisent les méthodes AJAX pour communiquer avec les applications côté serveur.
Figure 2.414 - Communication client-serveur [10].
Un service Web, d’une manière large, est une méthode de communication entre deux
applications ou des dispositifs électroniques sur le World Wide Web (WWW).
2.4.1 REST, AJAX and JAVASCRIPT
Avec REST, l'idée est de ne pas utiliser des mécanismes complexes pour connecter entre
clients et serveurs
Les services Web RESTful sont construits pour fonctionner au mieux sur le Web. C’est un
style architectural qui spécifie des contraintes telles que l'interface uniforme, la
performance et l'évolutivité, qui permettent aux services de travailler mieux sur le Web.
AJAX ('Asynchronous JavaScript and XML) est une technique de développement Web
populaire qui rend les pages Web interactives utilisant JavaScript. En AJAX, les demandes
sont envoyées au serveur en utilisant des objets XMLHttpRequest. La réponse est utilisée
par le code JavaScript pour modifier la page courante dynamiquement. Chaque
XMLHttpRequest peut être considérée comme une demande de service REST, envoyée
en utilisant GET. Et la réponse est souvent au format JSON.
JSON est un format léger d'échange de données indépendant du langage utlilisé.
23
Avec REST, une simple connexion réseau est tout ce que nous avons besoin. Nous
pouvons même tester l'API (Application Programming Interface) directement, en tapant
l’API URL dans le navigateur.
Figure 2.515 - Raspberry Pi en tant que serveur [10].
2.5 Conclusion
Dans ce chapitre, nous avons justifié et expliqué les techniques à utiliser pour réaliser la
communication du module central avec un serveur.
24
Sommaire
3.1 Introduction
3.2 Structure générale du Gateway
3.3 Préparation du Raspberry Pi
3.4 Vidéo streaming
3.5 Lecture de données à partir du module Zolertia Z1
3.6 Affichage de la température sur un serveur
25
3.1 Introduction
Dans ce chapitre, nous détaillons les tâches que nous avons pu réaliser ainsi que les
différents tests de validation.
3.2 Structure générale du Gateway
La figure ci-dessous montre les différents composants du Gateway :
Figure 3.1 - Structure générale du Gateway.
3.2 Préparation du Raspberry Pi
3.2.1 Installation de l’OS « Raspbian »
Le Raspberry Pi est initialement sans système d’exploitation. D’abord nous avons téléchargé
Raspbian à partir du site officiel : raspberrypi.org/downloads. Puis nous l’avons installé sur
la carte mémoire par le biais d’un logiciel d’écriture d’image : « Win32 Disk Imager ».
26
Figure 3.2 - Installation du Raspbian avec Win32 Disk Imager.
Apres avoir installé le système d’exploitation, nous avons exécuté les commandes
suivantes dans une session de terminal pour le mettre à jour :
 sudo-apt-get-update
 sudo-apt-get-upgrade
3.2.2 Connexion à distance
Pour pouvoir se connecter à distance à notre Raspberry, il faut le connecter à un réseau
local et faire appel au protocole SSH.
3.2.2.1 Connexion SSH
Le serveur SSH est activé par défaut sur le Raspberry Pi. Sous Linux, le client étant intégré
dans la plupart des distributions. Par contre, sous Windows nous devons installer « Putty »
qui est un client SSH et Telnet.
Ensuite, il suffit d’entrer l’adresse IP du Raspberry dans Putty pour pouvoir se connecter.
Afin d’accéder à l’interface graphique, nous avons utilisé le système de visualisation VNC
3.2.2.2 VNC
Nous avons installé un serveur VNC sur le Raspberry en lançant la commande suivante :
 sudo apt-get install tightvncserver.
Ensuite, nous avons créé un fichier de démarrage automatique et le lancement du serveur
sera par la commande qui suit :
 vncserver :1 -geometry 1280x800 -depth 16
Le client VNC que nous avons utilisé est VNC Viewer dont le principe de connexion est
similaire à celui du SSH.
27
Figure 3.3- Accès à l'interface graphique du Raspberry sur VNC Viewer.
3.2.2.3 Réservation d’adresse IP
Un serveur DHCP distribue une adresse IP aux clients selon la disponibilité des adresses de
la plage définie. Cependant, il est possible de faire en sorte qu’un hôte ait toujours la même
adresse IP attribué, c’est ce que l’on appelle de la réservation d’adresse.
On doit donc indiquer dans le serveur DHCP que telle adresse IP est réservée à telle
adresse MAC.
Figure 3.4 - Réservation de l'adresse 192.168.0.100 au Raspberry.
3.3 Vidéo streaming
Nous avons testé différentes solutions pour la diffusion d’une vidéo en streaming dont le but
est de trouver la solution la moins consommatrice en ressources (mémoire, CPU…)
tout en gardant une bonne qualité. La meilleure solution était « Motion ».
Après avoir téléchargé motion, nous avons changé quelques paramètres dans le fichier de
configuration « motion.conf ».
daemon on // Lancer en arrière-plan.
28
stream_localhost off //Ne pas restreindre les connexions de
flux au localhost (par défaut : on).
width 1280 // Largeur de l’image.
height 720 // Hauteur de l’image.
Enfin, nous avons donné les droits nécessaires au fichier pour que le Raspberry Pi puisse
les exécuter :
sudo chmod 777 /etc/motion.conf // Tout le monde peut lire, écrire et exécuter
sudo chmod 777 /usr/bin/motion // Tout le monde peut lire, écrire et exécuter
Voilà, notre Raspberry Pi est maintenant équipé pour faire un système de vidéo-streaming
efficace. Par défaut Motion diffuse la vidéo sur le port 8081.
3.4 Lecture de données à partir du module Zolertia Z1
L’idée est de récupérer la température transmise par la carte Z1 via Python. Cette carte
envoie toutes les 15 secondes la valeur de la température.
Z1 est connectée au Raspberry par son port USB, détecté comme port série par Python.
Le programme de lecture « Temp.py » est dans la page suivante :
Figure 3.5 - Test du vidéo-streaming
29
import serial
ser=serial.Serial(‘/dev/ttyUSB0’,115200,timeout=20)
Temp=ser.read(10)
print Temp
le résultat d’exécution de ce programme nous donne ce résultat :
Figure 3.6 - Résultat d'exécution du programme Temp.py
3.5 Affichage de la température sur un serveur
Nous voulons afficher la température sur une page web, pour cela, nous devons installer un
serveur web. Notre choix était « Apache ».
3.5.1 Installation de « Apache2 »
Apache est un serveur web qui nous permet de servir des fichiers HTML sur http. A l’aide
des modules supplémentaires et en utilisant des langages de script tels que PHP, nous
pouvons servir des pages web dynamiques.
Dans notre cas, nous allons se limiter à publier la température dans une page html statique.
Pour installer Apache2, nous utilisons la commande suivante :
 sudo apt-get install apache2
Par défaut, Apache met un fichier HTML index.html de test dans le dossier web.
Pour valider le fonctionnement du serveur, il suffit de naviguer sur un browser vers
l’adresse IP du Raspberry.
Figure 3.7 - Test de serveur Apache2 sur un navigateur web
30
3.5.2 Modification du script HTML
A l’aide d’un programme python, nous allons lire la température via port série, puis on va
l’injecter dans le script HTML.
Le programme est le suivant :
Figure 3.8 - Programme de modification du fichier index.html
Le résultat final est représenté dans la figure :
3.6 Conclusion
Enfin, ce chapitre montre que nous avons réussi à réaliser quelques tâches nécessaires pour
notre projet.
Figure 3.9 - Test final de serveur web
31
Dans le cadre de ce projet de fin d’année, nous avons commencé la conception
et la réalisation du Gateway d’un système de monitoring d’un malade. Ainsi nous avons
réalisé les tâches suivantes :
• Etudier le projet et choisir le module du traitement
• Définir et implémenter un protocole d’échange de données entre le module de lecture
des paramètres vitaux et la partie Gateway.
• Porter le système Linux sur Raspberry Pi et programmer les modules de traitements
de notre projet.
• Choisir le module de communication GPRS/GPS et configurer la connexion avec
le serveur.
• Tester et valider la communication avec le serveur.
• Réaliser une vidéo en streaming sur un serveur.
En perspective, nous allons continuer sur ce projet pour le finir avant fin Juillet 2015
qui représente le délai de remise des projets du concours « TI Innovation Challenge ».
Enfin, ce projet était une occasion d’apprendre à travailler en binôme d’une façon autonome
et efficace .Il nous a amené à enrichir notre savoir-faire et notre expérience, et nous a permis
de nous initier au domaine de l’embarqué. Ce dernier qui est devenu un grand domaine
de recherche et un grand marché de travail en Tunisie.
32
[1] http://www.ti.com : site officiel de Texas Instruments
[2] http://opendata.interieur.gov.tn/fr/datas/index/type:7/categorie:5 : Site des données
ouvertes du Ministère de l'Intérieur tunisien
[3] F.Gauthier : L'Embarqué N° 2 : Raspberry Pi, BeagleBone et Arduino : les nouvelles
stars de l’embarqué, page 23, Juillet 2013.
[4] http://www.htpc.com.au/index.php/raspberrypi/raspberrypi
[5] http://raspberrypis.net/
[6] https://www.raspberrypi.org/documentation/raspbian : site officiel de Raspberry
[7] http://www.open-electronics.org/a-gsmgprs-gps-expansion-shield-for-raspberry-pi
[8] http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=17661
[9] D.Mihajlovic : MikroElektronika : Hardware Department. Article, disponible sur internet
<http://www.mikroe.com/downloads/get/696/fr_article_pascal_dspic_04_09.pdf>.
[10] https://thefloppydisk.wordpress.com/

Weitere ähnliche Inhalte

Was ist angesagt?

Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP Softphone
Hamza Lazaar
 

Was ist angesagt? (20)

Gestion des actifs applicatifs
Gestion des actifs applicatifsGestion des actifs applicatifs
Gestion des actifs applicatifs
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
 
Conception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRConception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIR
 
Rapport pfe
Rapport pfeRapport pfe
Rapport pfe
 
Projet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleProjet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitale
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
 
Rappport PFE 2012 Ghodhbane Hani - OpenSNC
Rappport PFE 2012 Ghodhbane Hani - OpenSNCRappport PFE 2012 Ghodhbane Hani - OpenSNC
Rappport PFE 2012 Ghodhbane Hani - OpenSNC
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développement
 
Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP Softphone
 
PFE .NET CRM
PFE .NET CRMPFE .NET CRM
PFE .NET CRM
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015
 
Rapport projet fin d'étude
Rapport projet fin d'étudeRapport projet fin d'étude
Rapport projet fin d'étude
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
STM32F4+Android Application
STM32F4+Android ApplicationSTM32F4+Android Application
STM32F4+Android Application
 
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
 
rapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFErapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFE
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatique
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"études
 

Andere mochten auch

Rapport pfe_metz_gc_
Rapport  pfe_metz_gc_Rapport  pfe_metz_gc_
Rapport pfe_metz_gc_
rabahrabah
 

Andere mochten auch (13)

Rapport pfe_metz_gc_
Rapport  pfe_metz_gc_Rapport  pfe_metz_gc_
Rapport pfe_metz_gc_
 
Ackermann Clino Systems - logenatech.comm
Ackermann Clino Systems - logenatech.commAckermann Clino Systems - logenatech.comm
Ackermann Clino Systems - logenatech.comm
 
Présentation de mon PFE
Présentation de mon PFEPrésentation de mon PFE
Présentation de mon PFE
 
Présentation microprocesseur finale
Présentation microprocesseur finalePrésentation microprocesseur finale
Présentation microprocesseur finale
 
eCall européen, appel d'urgence, Point de situation septembre 2013
eCall européen, appel d'urgence,  Point de situation septembre 2013 eCall européen, appel d'urgence,  Point de situation septembre 2013
eCall européen, appel d'urgence, Point de situation septembre 2013
 
Final
FinalFinal
Final
 
Véhicules et services Connectés Impacts et Opportunités
Véhicules et services Connectés  Impacts et OpportunitésVéhicules et services Connectés  Impacts et Opportunités
Véhicules et services Connectés Impacts et Opportunités
 
Implémentation d’une solution de géolocalisation des véhicules basée sur open...
Implémentation d’une solution de géolocalisation des véhicules basée sur open...Implémentation d’une solution de géolocalisation des véhicules basée sur open...
Implémentation d’une solution de géolocalisation des véhicules basée sur open...
 
PARC-TECH TRANS
PARC-TECH TRANSPARC-TECH TRANS
PARC-TECH TRANS
 
eCall 2017 IMA solution d'interopérabilité Congrès ATEC ITS France
eCall 2017 IMA solution d'interopérabilité Congrès ATEC ITS FranceeCall 2017 IMA solution d'interopérabilité Congrès ATEC ITS France
eCall 2017 IMA solution d'interopérabilité Congrès ATEC ITS France
 
Accelerometer
Accelerometer Accelerometer
Accelerometer
 
Projet gps
Projet gpsProjet gps
Projet gps
 
Alphorm.com Formation Autodesk Revit 2018 : Les nouveautés
Alphorm.com Formation Autodesk Revit 2018 : Les nouveautésAlphorm.com Formation Autodesk Revit 2018 : Les nouveautés
Alphorm.com Formation Autodesk Revit 2018 : Les nouveautés
 

Ähnlich wie Gateway d’un système de monitoring

AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...
AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...
AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...
Khadidja BOUKREDIMI
 
mise en place d'un système de classes virtuelles utilisant le webRTC + openfi...
mise en place d'un système de classes virtuelles utilisant le webRTC + openfi...mise en place d'un système de classes virtuelles utilisant le webRTC + openfi...
mise en place d'un système de classes virtuelles utilisant le webRTC + openfi...
Bassirou Dime
 
Conception et Réalisation d'un Système Intégré de Vote Electronique cas: Haiti
Conception et Réalisation d'un Système Intégré de Vote Electronique cas: HaitiConception et Réalisation d'un Système Intégré de Vote Electronique cas: Haiti
Conception et Réalisation d'un Système Intégré de Vote Electronique cas: Haiti
Carlos Philippe
 
Recommandations pour un usage sécurisé d’(Open)SSH
Recommandations pour un usage sécurisé d’(Open)SSHRecommandations pour un usage sécurisé d’(Open)SSH
Recommandations pour un usage sécurisé d’(Open)SSH
Fabwice Bend'j
 
Application du modèle de prévision météorologique WRF au Vietnam
Application du modèle de prévision météorologique WRF au VietnamApplication du modèle de prévision météorologique WRF au Vietnam
Application du modèle de prévision météorologique WRF au Vietnam
Viet-Trung TRAN
 

Ähnlich wie Gateway d’un système de monitoring (20)

Projet réalisé par ameny Khedhira & Arij Mekki
Projet réalisé par  ameny Khedhira & Arij MekkiProjet réalisé par  ameny Khedhira & Arij Mekki
Projet réalisé par ameny Khedhira & Arij Mekki
 
VOIP.pdf
VOIP.pdfVOIP.pdf
VOIP.pdf
 
siem.pdf
siem.pdfsiem.pdf
siem.pdf
 
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
rapport de mémoire de mastère : sécurisation du réseau nan au sein des smart ...
 
Mise en place de deux réseaux LAN interconnectés par un réseau WAN
Mise en place de deux réseaux LAN interconnectés par un réseau WANMise en place de deux réseaux LAN interconnectés par un réseau WAN
Mise en place de deux réseaux LAN interconnectés par un réseau WAN
 
Report Master
Report MasterReport Master
Report Master
 
Conception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM NortelConception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM Nortel
 
AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...
AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...
AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...
 
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
 
mise en place d'un système de classes virtuelles utilisant le webRTC + openfi...
mise en place d'un système de classes virtuelles utilisant le webRTC + openfi...mise en place d'un système de classes virtuelles utilisant le webRTC + openfi...
mise en place d'un système de classes virtuelles utilisant le webRTC + openfi...
 
CONCEPTION ET REALISATION D’UN RESEAU DE CAPTEURS SANS FILS APPLICATION : AGR...
CONCEPTION ET REALISATION D’UN RESEAU DE CAPTEURS SANS FILS APPLICATION : AGR...CONCEPTION ET REALISATION D’UN RESEAU DE CAPTEURS SANS FILS APPLICATION : AGR...
CONCEPTION ET REALISATION D’UN RESEAU DE CAPTEURS SANS FILS APPLICATION : AGR...
 
Conception et Réalisation d'un Système Intégré de Vote Electronique cas: Haiti
Conception et Réalisation d'un Système Intégré de Vote Electronique cas: HaitiConception et Réalisation d'un Système Intégré de Vote Electronique cas: Haiti
Conception et Réalisation d'un Système Intégré de Vote Electronique cas: Haiti
 
Projet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsProjet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objets
 
Baromètre nPerf des opérateurs mobiles au T3 2017
Baromètre nPerf des opérateurs mobiles au T3 2017Baromètre nPerf des opérateurs mobiles au T3 2017
Baromètre nPerf des opérateurs mobiles au T3 2017
 
Rapport Projet Fin d'Études PFE
Rapport Projet Fin d'Études PFERapport Projet Fin d'Études PFE
Rapport Projet Fin d'Études PFE
 
Recommandations pour un usage sécurisé d’(Open)SSH
Recommandations pour un usage sécurisé d’(Open)SSHRecommandations pour un usage sécurisé d’(Open)SSH
Recommandations pour un usage sécurisé d’(Open)SSH
 
Rapport finiale
Rapport finialeRapport finiale
Rapport finiale
 
Le webdocumentaire, une nouvelle opportunité d’appréhender le monde
Le webdocumentaire, une nouvelle opportunité d’appréhender le mondeLe webdocumentaire, une nouvelle opportunité d’appréhender le monde
Le webdocumentaire, une nouvelle opportunité d’appréhender le monde
 
These
TheseThese
These
 
Application du modèle de prévision météorologique WRF au Vietnam
Application du modèle de prévision météorologique WRF au VietnamApplication du modèle de prévision météorologique WRF au Vietnam
Application du modèle de prévision météorologique WRF au Vietnam
 

Mehr von Ghassen Chaieb

Mise en place des réseaux LAN interconnectés par un réseau WAN
Mise en place des réseaux LAN interconnectés par un réseau WANMise en place des réseaux LAN interconnectés par un réseau WAN
Mise en place des réseaux LAN interconnectés par un réseau WAN
Ghassen Chaieb
 
Développement d’une application de gestion des licences des contrôleurs aériens
Développement d’une application de gestion des licences des contrôleurs aériensDéveloppement d’une application de gestion des licences des contrôleurs aériens
Développement d’une application de gestion des licences des contrôleurs aériens
Ghassen Chaieb
 
TelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhiculeTelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhicule
Ghassen Chaieb
 

Mehr von Ghassen Chaieb (10)

Introduction to Bitreactive
Introduction to BitreactiveIntroduction to Bitreactive
Introduction to Bitreactive
 
L’entrepreneuriat vert
L’entrepreneuriat vertL’entrepreneuriat vert
L’entrepreneuriat vert
 
Mise en place des réseaux LAN interconnectés par un réseau WAN
Mise en place des réseaux LAN interconnectés par un réseau WANMise en place des réseaux LAN interconnectés par un réseau WAN
Mise en place des réseaux LAN interconnectés par un réseau WAN
 
Projet MQTT
Projet MQTTProjet MQTT
Projet MQTT
 
Réseau de capteurs sans fil
Réseau de capteurs sans fil  Réseau de capteurs sans fil
Réseau de capteurs sans fil
 
Etude, conception et réalisation d'une antenne planaire HF en technologie mic...
Etude, conception et réalisation d'une antenne planaire HF en technologie mic...Etude, conception et réalisation d'une antenne planaire HF en technologie mic...
Etude, conception et réalisation d'une antenne planaire HF en technologie mic...
 
Développement d’une application de gestion des licences des contrôleurs aériens
Développement d’une application de gestion des licences des contrôleurs aériensDéveloppement d’une application de gestion des licences des contrôleurs aériens
Développement d’une application de gestion des licences des contrôleurs aériens
 
TelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhiculeTelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhicule
 
TelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhiculeTelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhicule
 
Gateway d’un système de monitoring
Gateway d’un système de monitoringGateway d’un système de monitoring
Gateway d’un système de monitoring
 

Gateway d’un système de monitoring

  • 1. Projet de Fin d’Année Spécialité : Télécommunications Présenté par : BEN AISSIA Yasser & CHAIEB Ghassene Gateway d’un système de monitoring d’un malade à un serveur d’urgence Encadrant : Mr. Tahar Ezzedine (Maitre de conférence-ENIT) Année universitaire : 2014/2015
  • 2. 1 C’est avec le plus grand honneur que nous avons réservé l’ouverture de notre rapport en signe de gratitude et de reconnaissance à l’égard de tous ceux qui nous ont aidés, de près ou de loin, à la réalisation de ce projet. Nous tenons à adresser nos vifs remerciements à notre encadrant Mr. Tahar Ezzedine pour sa présence, son encadrement, ses conseils fournis de façon efficace Tout au long de la période de réalisation. Nous voudrions aussi exprimer nos remerciements sincères à Mr. Mohamed Bedoui qui Nous a soutenus et aidés à progresser dans notre projet. Nos remerciements s’adressent également aux membres du Jury qui nous font l'honneur de participer à notre soutenance.
  • 3. 2 Gateway d’un système de monitoring d’un malade à un serveur d’urgence Résumé A une époque où l’innovation en système embarqué est plus que jamais nécessaire, des défis se profilent à l’horizon surtout quand il s’agit de sauver des vies humaines des dangers qui les entourent. Parmi ces dangers, on peut citer les accidents de la route qui coûtent des victimes nécessitant une intervention sanitaire immédiate. Dans ce contexte, et en se lançant au nom de la Tunisie dans une compétition internationale, nous avons proposé une idée originale de projet qui consiste à réaliser une boite d’urgence intelligente capable d’analyser les éléments vitaux d’un blessé et de guider l’utilisateur par les soins primaires en se connectant à un serveur d’urgence. Le but de notre projet de fin d’année est de réaliser la partie Gateway de ce système. Mots clés Gateway, Raspberry, Capteur, Monitoring, Serveur web.
  • 4. 3 Gateway of a patient monitoring system with an emergency server Abstract : The embedded system innovation is needed more than ever, especially when it comes to saving lives from dangers such as street accidents. In this case, an immediate intervention is usually necessary in this context, and by launching on behalf of Tunisia in an international competition, we proposed an original idea of a project, which consists in a Smart First Aid Kit capable of analyzing the vital elements of a casualty and guiding the primary care by connecting to an emergency server. The purpose of our year-end project is to achieve the Gateway part of this system. Key Words: Gateway, Raspberry, Sensor, Monitoring, Web server
  • 5. 4 Introduction générale ........................................................................................................................ 9 Chapitre 1 : Etude et Choix de la solution ....................................................................................... 11 1.1 Introduction............................................................................................................................ 12 1.2 Choix de la solution................................................................................................................ 12 1.3 Raspberry Pi ........................................................................................................................... 14 1.3.1 Présentation générale..................................................................................................... 14 1.3.2 Les composants standards de RaspBerry Pi.................................................................... 14 1.3.3 Système d’exploitation ................................................................................................... 15 1.4 Liaison avec bloc de lecture des paramètres vitaux .............................................................. 15 1.4.1 Zolertia Z1 ...................................................................................................................... 15 1.4.2 MSP430 ........................................................................................................................... 16 1.4.3 Protocole......................................................................................................................... 16 1.4.3.1 Trame « demande » ................................................................................................. 16 1.4.3.2 Trame « réponse » ................................................................................................... 17 1.5 Conclusion.............................................................................................................................. 18 Chapitre 2 : Communication avec un serveur web.......................................................................... 19 2.1 Introduction............................................................................................................................ 20 2.2 Connexion internet et géolocalisation................................................................................... 20 2.2.1 Module GSM/GPRS & GPS pour Raspberry Pi................................................................. 20 2.2.2 Solution de rechange ...................................................................................................... 21 2.3 Prise de main à distance sur le Raspberry Pi.......................................................................... 21 2.3.1 SSH................................................................................................................................... 21 2.3.2 VNC :................................................................................................................................ 21 2.4 Service Web............................................................................................................................ 22 2.4.1 REST, AJAX and JAVASCRIPT................................................................................................ 22 2.5 Conclusion.............................................................................................................................. 23 Chapitre 3 : Réalisation et tests ....................................................................................................... 24 3.1 Introduction............................................................................................................................ 25 3.2 Structure générale du Gateway ............................................................................................. 25 3.2 Préparation du Raspberry Pi .................................................................................................. 25
  • 6. 5 3.2.1 Installation de l’OS « Raspbian »..................................................................................... 25 3.2.2 Connexion à distance ...................................................................................................... 26 3.2.2.1 Connexion SSH ......................................................................................................... 26 3.2.2.2 VNC........................................................................................................................... 26 3.2.2.3 Réservation d’adresse IP.......................................................................................... 27 3.3 Vidéo streaming ..................................................................................................................... 27 3.4 Lecture de données à partir du module Zolertia Z1............................................................... 28 3.5 Affichage de la température sur un serveur.......................................................................... 29 3.5.1 Installation de « Apache2 »............................................................................................. 29 3.5.2 Modification du script HTML........................................................................................... 30 3.6 Conclusion.............................................................................................................................. 30 Conclusion générale......................................................................................................................... 31 Bibliographie .................................................................................................................................... 32
  • 7. 6 Figure 1.1 - Carte Arduino UNO...................................................................................................... 12 Figure 1.2 - Carte STM32................................................................................................................ 12 Figure 1.3 - Carte Raspberry PI B+.................................................................................................. 12 Figure 1.4 - Carte Beaglebone........................................................................................................ 12 Figure 1.5 - Les composants standards d'un Raspberry [4]............................................................ 14 Figure 1.6 - Logo du système d'exploitation Raspbian [5]. ............................................................ 15 Figure 1.7 - Carte Zolertia Z1.......................................................................................................... 15 Figure 1.8 - Format de la trame demande correspondante à la température............................... 16 Figure 1.9 - Format de la trame demande correspondante à l'électrocardiographie. .................. 17 Figure 1.10 - Format de la trame demande correspondante à la pression artérielle...................... 17 Figure 1.11 -Format de la trame réponse correspondante à la température. ................................ 17 Figure 1.12 - Format de la trame demande correspondante à l'électrocardiographie. .................. 18 Figure 1.13 - Format de la trame demande correspondante à la pression artérielle...................... 18 Figure 2.1 - Module GSM/GPRS et GPS [7]..................................................................................... 20 Figure 2.2 - Exemple d’une trame NMEA complète [9]. ................................................................ 21 Figure 2.3 - Routeur TL-MR3020 connecté à un clé 3G Huawei E3131.......................................... 21 Figure 2.4 - Communication client-serveur [10]. ........................................................................... 22 Figure 2.5 - Raspberry Pi en tant que serveur [10]. ....................................................................... 23 Figure 3.1 - Structure générale du Gateway. ................................................................................. 25 Figure 3.2 - Installation du Raspbian avec Win32 Disk Imager. ..................................................... 26 Figure 3.3 - Accès à l'interface graphique du Raspberry sur VNC Viewer...................................... 27 Figure 3.4 - Réservation de l'adresse 192.168.0.100 au Raspberry. .............................................. 27 Figure 3.5 - Test du vidéo-streaming.............................................................................................. 28 Figure 3.6 - Résultat d'exécution du programme Temp.py............................................................ 29 Figure 3.7 - Test de serveur Apache2 sur un navigateur web........................................................ 29 Figure 3.8 - Programme de modification du fichier index.html..................................................... 30 Figure 3.9 - Test final de serveur web............................................................................................ 30
  • 8. 7 Tableau 1.1 - Comparaison technique : Arduino Uno, Beaglebone, RaspBerry Pi et STM32 [3]..... 13
  • 9. 8 TI Texas Instruments USB Universal Serial Bus PFA Projet de Fin d’Année RAM Random Access Memory RTOS Real-Time Operating System RCA Radio Corporation of America GPIO General Purpose Input/Output RISC Reduced Instruction Set Computing HDMI High Definition Multimedia Interface HSPA High Speed Packet Access TCP Transmission Control Protocol UDP User Datagram Protocol DHCP Dynamic Host Configuration Protocol NMEA National Marine Electronics Association HTTP HyperText Transfer Protocol FTP File Transfer Protocol RFB Remote Frame Buffer SSH Secure Shell VNC Virtual Network Computing AJAX Asynchronous JavaScript And XML REST REpresentational State Transfer JSON JavaScript Object Notation
  • 10. 9 Texas Instruments (TI) [1] est une entreprise mondiale fonctionnant dans 35 pays. Elle est renommée dans le domaine des semi-conducteurs et des composants électroniques passifs, fondée en 1941 et basée à Dallas. TI organise annuellement une compétition internationale « TI Innovation Challenge » dans laquelle elle sollicite les étudiants en génie à proposer des idées des projets innovants qui utilisent les composants TI. Cette compétition concerne l’Amérique du Nord, l’Europe et un nombre limité des pays du Moyen-Orient et de l’Afrique. Dans ce cadre, et en se lançant au nom de la Tunisie nous avons proposé une idée originale qui a été retenue par la commission de sélection de TI, ce qui nous a permis de participer à la compétition. Chaque année, des milliers de vies sont perdus dans les accidents de la route. En Tunisie il y a eu 1565 morts et 12354 blessés sur les routes pour un total de 7971 accidents en 2014, d’après les chiffres fournis par le Ministère de l’Intérieur [2]. Dans plusieurs cas l’une des principales causes est le temps mis par les services d’urgence pour se rendre sur place. Afin de contribuer à pallier ce problème et à réduire le nombre des victimes nous avons proposé une idée de projet intitulé « Smart Advanced First Aid Kit ». En effet, les moyens de transport disposent normalement d’une trousse de secours qui contient des médicaments et des instruments des premiers soins. Cet outil s’avère insuffisant dans plusieurs cas (crise cardiaque, hypertension…) Notre projet, proposé à TI et baptisé « Smart Advanced First Aid Kit », consiste en une boite d’urgence intelligente. Cette boite sera capable de collecter et envoyer les paramètres vitaux de la victime à un serveur installé chez les services d’urgence. Elle disposera, en plus, d’une communication audiovisuelle pour que le médecin d’urgence puisse donner les instructions et les recommandations à la personne présente à côté de la victime. Le but est de réaliser les interventions nécessaires le temps de l’arrivée des services de secours. Ce temps est très précieux et très critique pour sauver des vies humaines dans plusieurs cas. Le projet en totalité se compose de trois parties un bloc lecture des paramètres vitaux de la victime, un Gateway et un serveur central. On s’intéresse dans notre projet de fin d’année (PFA) à réaliser la partie Gateway permettant de lire les données à partir du « bloc lecture des paramètres vitaux » et la communication avec le serveur.
  • 11. 10 Pour présenter la démarche que nous avons suivie, notre rapport se présente de la façon suivante : Dans une première partie, nous donnerons une étude et un aperçu sur le choix des solutions pratiques que nous allons utiliser dans la liaison avec le bloc lecture, la deuxième partie s’intéresse à la communication avec le serveur web. Enfin, la dernière partie va mettre l’accent sur une démonstration qui résume le travail réalisé.
  • 12. 11 Chapitre 1 Sommaire 1.1 Introduction 1.2 Choix de la solution 1.3 Raspberry Pi 1.4 Liaison avec bloc de lecture des paramètres vitaux 1.5 Conclusion
  • 13. 12 1.1 Introduction Dans ce premier chapitre, on s’intéresse à l’étude de module central de Gateway et sa liaison avec la partie qui se base sur la détection des paramètres vitaux par les capteurs. 1.2 Choix de la solution Une analyse, qui consiste à rechercher et à caractériser les fonctions que le produit doit offrir pour satisfaire les besoins demandés, peut nous aider à limiter les choix des solutions pratiques. Dans notre cas, le projet nécessite une partie centrale capable de traiter les données reçues et les envoyer à un serveur d’urgence par le biais d’une connexion internet mobile. De plus, le système est censé avoir la capacité de lancer une conversation audiovisuelle à l’aide d’une webcam. Durant notre recherche sur la partie Gateway, nous avons constaté qu’au cours des dernières années, de nombreuses cartes de développement modulaire sont apparues. Chaque carte présente des avantages et des inconvénients. Elles se diffèrent par leurs fonctionnalités leurs complexités et leurs prix. On peut citer parmi ces cartes :  Carte Arduino : c’est un circuit intégré à base d’un microcontrôleur programmable qui peut analyser et produire des signaux électriques de façon à effectuer des tâches précises.  Carte STM32 : c’est un circuit intégré à base un microcontrôleur composé d’un processeur ARM, une mémoire RAM et une interface de débogage.  RaspBerry Pi B+ : un mini-ordinateur qui exécute le système d’exploitation Linux.  Beaglebone : une mini-carte électronique qui possède les fonctionnalités d’un ordinateur basique. Figure 1.1 – Carte Arduino UNO. Figure 1.2 - Carte STM32. Figure 1.3 - Carte Raspberry PI B+. Figure 1.4 - Carte Beaglebone.
  • 14. 13 Le tableau suivant nous donne une comparaison technique entre ces cartes : Tableau 1.1 - Comparaison technique : Arduino Uno, Beaglebone, RaspBerry Pi et STM32 [3]. Nom de la carte Arduino UNO Beaglebone Raspberry Pi B+ STM32 Naissance 2005 2008 2012 2007 Prix (dollars) 30 90 Moins de 40 10 Processeur ATmeg328 8bits Sitara335x sur un cortex M8 BCM2835 sur un ARM11 -CPU intégrée Cortex RAM 2 Ko 256 Mo 512 Mo Max 128 Ko Mémoire Flash 32 Ko MicroSD - 4G MicroSD – 32 G Max 2048 Ko Consommation(w) 0.5 2.5 3.5 basse Ethernet Non oui oui non USB Non 1 4 Micro-USB Sortie vidéo Non non HDMI, RCA non Système d’exploitation RTOS Linux Linux RTOS Analyse du tableau comparatif :  Nous remarquons qu’en terme de mémoire vive ou mémoire externe, la capacité de Raspberry est plus importante que les autres cartes.  Le Raspberry possède des connectiques (HDMI, port Ethernet, port USB…) de plus par rapport au Beaglebone, STM32 et Arduino UNO.  Le Raspberry et le Beaglebone se diffèrent par leur exécution du système Linux qui facilite les communications avec le monde extérieur.  L’Arduino a une puissance faible devant les autres cartes. En tenant compte du tableau 1.1, on déduit que le Raspberry représente un outil plus performant et mieux adapté à nos besoins. Le Raspberry possède des connectiques convenables au fonctionnement de notre système .De plus, son rapport performance-prix est plus qu’abordable.
  • 15. 14 1.3 Raspberry Pi 1.3.1 Présentation générale Raspberry est une carte mère d’un mini-ordinateur qui peut être branchée à n’importe quel périphérique (souris, clavier…). Cette carte est fabriquée pour aider à étudier les ordinateurs et pour représenter un moyen d’apprentissage de la programmation informatique en plusieurs langages (python, scratch...) .Elle est aussi capable de lire les vidéos à haute définition et même à installer des jeux vidéo. L’intérêt d’utiliser le Raspberry PI est sa capacité d’interaction avec le monde extérieur et d’exécuter plusieurs variantes du système d'exploitation libre (GNU/Linux, Raspbian Debian …) et des autres logiciels compatibles. 1.3.2 Les composants standards de RaspBerry Pi La figure suivante représente un RaspBerry standard :  Processeur ARM : Les architectures ARM sont des architectures de processeurs ,à faible consommation , introduites à partir de 1983 par « Acorn Computers » et développées depuis 1990 par « ARM Ltd » .  Mémoire vive RAM : C’est la mémoire dans laquelle le RaspBerry place les données lors de son traitement.  Une connectique variée : • HDMI : « High Definition Multimedia Interface » permet de relier le RaspBerry PI à un dispositif compatible : écran LCD ou un vidéoprojecteur… Figure 1.5 - Les composants standards d'un Raspberry [4].
  • 16. 15 • Port USB 2.0 : Le port « Universal Serial Bus » est un port série qui sert à connecter le RaspBerry aux autres périphériques. • Port Ethernet : C’est un port qui correspond au protocole international ETHERNET de réseau local à commutation de paquets. • Prise RCA : « Radio Corporation of America » est un connecteur électrique utilisé dans le domaine audio/vidéo. • un slot les cartes SD : Le RaspBerry a besoin d’une mémoire externe supplémentaire pour fonctionner. Ce slot permet de connecter la mémoire externe. • une prise jack : C’est une connectique audio-vidéo. • GPIO : « General Purpose Input/Output » sont des ports d’Entrée/Sortie. 1.3.3 Système d’exploitation La plupart des systèmes qui fonctionnent sur Raspberry Pi sont des versions du système d'exploitation Linux. Parce que Linux est open source, les développeurs peuvent l’adopter pour des buts spécifiques. Dans le cas du Raspberry Pi, le matériel léger nécessite un système réduit et privé d'applications inutiles. La distribution est recommandée Raspbian. C’est un système d'exploitation libre basé sur Debian optimisé pour le matériel Raspberry Pi. Cependant Raspbian fournit plus qu'un simple système d’exploitation : il est livré avec plus de 35.000 paquets, des logiciels précompilés qui nous facilitent le développement soft [6]. Tous langages qui peuvent être compilés sur ARMv6 sont installés par défaut sur le Raspberry Pi : Python. C, C ++, Java, Scratch, et Ruby. La Fondation Raspberry Pi recommande Python comme langage pour les étudiants. 1.4 Liaison avec bloc de lecture des paramètres vitaux Le bloc de lecture des paramètres vitaux est constitué des interfaçages des capteurs et d’une carte Zolertia Z1 à base de microcontrôleur MSP430. 1.4.1 Zolertia Z1 Zolertia Z1 est une plate-forme de développement qui contient essentiellement un microcontrôleur de référenceMSP430F2 une interface USB et un capteur de température intégré. Dans notre cas, ce module peut représenter un pont entre les capteurs et le Raspberry. Figure 6 Logo du système d'exploitation Raspbian [5]. Figure 1.6 - Carte Zolertia Z1
  • 17. 16 La communication entre ces deux derniers sera faite à l’aide de l’interface USB et en se basant sur un protocole qu’on a développé. 1.4.2 MSP430 MSP est la famille des microcontrôleurs de TI. Elle est basée sur un processeur 16 bits en architecture de type Reduced instruction set computing (RISC). Cette architecture se caractérise par un nombre réduit d’instructions simples et faciles à décoder. Les caractéristiques de la famille MSP sont le faible taux de consommation et son intégration facile à plusieurs environnements de développement. 1.4.3 Protocole C’est l’ensemble des règles qui permettent l’échange des données entre deux systèmes. Dans notre cas, le protocole développé se présente de la façon suivante : • Le Raspberry envoie une trame de demande de paramètre à la MSP. • La MSP répond à la trame selon les paramètres de la trame de demande. 1.4.3.1 Trame « demande » Chaque trame commence par le caractère « $ » suivi de 3 lettres pour identifier le paramètre vital demandé. : Soit TEM pour la température, ECG pour l'électrocardiographie ou PRE pour la pression artérielle. Puis, un champ qui indique le nombre de voie, un autre pour le nombre d’échantillon, un pour la période de lecture et enfin le dernier champ de la détection d’erreurs CRC. Les différentes trames « demande » sont représentées dans les figures suivantes : Figure 1.7 - Format de la trame demande correspondante à la température.
  • 18. 17 Figure 1.8 - Format de la trame demande correspondante à l'électrocardiographie. Figure 1.9 - Format de la trame demande correspondante à la pression artérielle. Notez bien : Il est recommandé de mesurer la pression artérielle chaque dix minutes. 1.4.3.2 Trame « réponse » La trame de réponse diffère de la trame de demande par un bloc de données demandées. Les structures des différentes trames sont représentées dans les figures suivantes : Figure 1.10 -Format de la trame réponse correspondante à la température.
  • 19. 18 Figure 1.11 - Format de la trame demande correspondante à l'électrocardiographie. Figure 1.12 - Format de la trame demande correspondante à la pression artérielle. 1.5 Conclusion Dans ce chapitre, nous avons justifié le choix de l’outil de développement comme étant la partie centrale du Gateway et nous avons défini un protocole d’échange de données entre le module de lecture et le Gateway.
  • 20. 19 Chapitre 2 Sommaire 2.1 Introduction 2.2 Connexion internet et géolocalisation 2.3 Prise de main à distance sur le Raspberry Pi 2.4 Service Web 2.5 Conclusion
  • 21. 20 2.1 Introduction De plus en plus on a besoin de rendre les applications accessibles sur le web. Les motivations sont multiples : vendre des services en ligne, faire communiquer des applications... Dans notre cas, nous voulons publier les paramètres vitaux sur un serveur web. 2.2 Connexion internet et géolocalisation 2.2.1 Module GSM/GPRS & GPS pour Raspberry Pi Ce module nous permet d’accéder aux réseaux cellulaires HSPA 3G afin d’étendre les fonctionnalités du Raspberry aux applications mobiles en utilisant le module SIM900. Nous pouvons envoyer des SMS, passer des appels ou créer des sockets TCP et UDP pour envoyer des informations à l'Internet. Les protocoles http et FTP sont également disponibles afin d'envoyer les informations vers le cloud directement à partir de notre Raspberry. Il est aussi équipé d’un module GPS qui nous permet de positionner la carte en analysant la trame NMEA [7].  Format des trames NMEA [8] : Chaque trame commence par le caractère « $ » suivi de 2 lettres pour l'identifiant du récepteur : soit GP pour Global Positioning System, puis un groupe de 3 lettres pour l'identifiant de la trame :  GGA : pour GPS Fix et Date.  GLL : pour Positionnement Géographique Longitude-Latitude.  GSA : pour DOP et satellites actifs.  GSV : pour Satellites visibles.  VTG : pour Direction (cap) et vitesse de déplacement (en nœuds et Km/h).  RMC : pour données minimales exploitables spécifiques. Figure 2.1 - Module GSM/GPRS et GPS [7].
  • 22. 21 La trame qui nous intéresse est celle qui commence par $GPGLL. Elle fournit la latitude, la longitude et l’heure : Figure 2.2 Exemple d’une trame NMEA complète [9]. 2.2.2 Solution de rechange Vu que ce module GSM/GPRS & GPS coûte cher (environ 300 DT) nous avons essayé de trouver une solution de rechange : un modem USB 3G/4G et un routeur TL-MR3020 Le routeur TL-MR3020 nous permet de partager une connexion haut débit 3G/4G en wifi et réseau RJ45. Il peut être connecté à un ordinateur portable ou un adaptateur secteur pour servir d’alimentation (5Vcc/1A). Cette solution est moins couteuse, environ 50 DT 2.3 Prise de main à distance sur le Raspberry Pi Bien que le Raspberry Pi fournisse une superbe qualité d'image via HDMI, il y a beaucoup de scénarios où nous n’avons pas besoin d'un écran, et la connexion à distance suffira. 2.3.1 SSH Secure Shell est un protocole de réseau crypté pour initier des sessions Shell textuelles sur des machines distantes de manière sécurisée. Cela permet à un utilisateur d'exécuter des commandes sur l'invite de commande d'une machine sans qu'ils soient physiquement présents à proximité de la machine. 2.3.2 VNC : Virtual Network Computing est un système de visualisation et de contrôle d'un ordinateur distant. Il permet au logiciel client VNC de transmettre les informations de saisie du clavier et de la souris à l'ordinateur distant, possédant un logiciel serveur VNC Figure 2.313 - Routeur TL-MR3020 connecté à un clé 3G Huawei E3131
  • 23. 22 à travers un réseau informatique. Il utilise le protocole RFB qui est un protocole simple pour l'accès à distance aux interfaces graphiques des utilisateurs. 2.4 Service Web Au cours des dernières années, le Web a subi des transformations à partir d'un réseau de serveurs web servant principalement des pages statiques à des navigateurs Web en une architecture client-serveur complet, où les applications Web d'une seule page clients utilisent les méthodes AJAX pour communiquer avec les applications côté serveur. Figure 2.414 - Communication client-serveur [10]. Un service Web, d’une manière large, est une méthode de communication entre deux applications ou des dispositifs électroniques sur le World Wide Web (WWW). 2.4.1 REST, AJAX and JAVASCRIPT Avec REST, l'idée est de ne pas utiliser des mécanismes complexes pour connecter entre clients et serveurs Les services Web RESTful sont construits pour fonctionner au mieux sur le Web. C’est un style architectural qui spécifie des contraintes telles que l'interface uniforme, la performance et l'évolutivité, qui permettent aux services de travailler mieux sur le Web. AJAX ('Asynchronous JavaScript and XML) est une technique de développement Web populaire qui rend les pages Web interactives utilisant JavaScript. En AJAX, les demandes sont envoyées au serveur en utilisant des objets XMLHttpRequest. La réponse est utilisée par le code JavaScript pour modifier la page courante dynamiquement. Chaque XMLHttpRequest peut être considérée comme une demande de service REST, envoyée en utilisant GET. Et la réponse est souvent au format JSON. JSON est un format léger d'échange de données indépendant du langage utlilisé.
  • 24. 23 Avec REST, une simple connexion réseau est tout ce que nous avons besoin. Nous pouvons même tester l'API (Application Programming Interface) directement, en tapant l’API URL dans le navigateur. Figure 2.515 - Raspberry Pi en tant que serveur [10]. 2.5 Conclusion Dans ce chapitre, nous avons justifié et expliqué les techniques à utiliser pour réaliser la communication du module central avec un serveur.
  • 25. 24 Sommaire 3.1 Introduction 3.2 Structure générale du Gateway 3.3 Préparation du Raspberry Pi 3.4 Vidéo streaming 3.5 Lecture de données à partir du module Zolertia Z1 3.6 Affichage de la température sur un serveur
  • 26. 25 3.1 Introduction Dans ce chapitre, nous détaillons les tâches que nous avons pu réaliser ainsi que les différents tests de validation. 3.2 Structure générale du Gateway La figure ci-dessous montre les différents composants du Gateway : Figure 3.1 - Structure générale du Gateway. 3.2 Préparation du Raspberry Pi 3.2.1 Installation de l’OS « Raspbian » Le Raspberry Pi est initialement sans système d’exploitation. D’abord nous avons téléchargé Raspbian à partir du site officiel : raspberrypi.org/downloads. Puis nous l’avons installé sur la carte mémoire par le biais d’un logiciel d’écriture d’image : « Win32 Disk Imager ».
  • 27. 26 Figure 3.2 - Installation du Raspbian avec Win32 Disk Imager. Apres avoir installé le système d’exploitation, nous avons exécuté les commandes suivantes dans une session de terminal pour le mettre à jour :  sudo-apt-get-update  sudo-apt-get-upgrade 3.2.2 Connexion à distance Pour pouvoir se connecter à distance à notre Raspberry, il faut le connecter à un réseau local et faire appel au protocole SSH. 3.2.2.1 Connexion SSH Le serveur SSH est activé par défaut sur le Raspberry Pi. Sous Linux, le client étant intégré dans la plupart des distributions. Par contre, sous Windows nous devons installer « Putty » qui est un client SSH et Telnet. Ensuite, il suffit d’entrer l’adresse IP du Raspberry dans Putty pour pouvoir se connecter. Afin d’accéder à l’interface graphique, nous avons utilisé le système de visualisation VNC 3.2.2.2 VNC Nous avons installé un serveur VNC sur le Raspberry en lançant la commande suivante :  sudo apt-get install tightvncserver. Ensuite, nous avons créé un fichier de démarrage automatique et le lancement du serveur sera par la commande qui suit :  vncserver :1 -geometry 1280x800 -depth 16 Le client VNC que nous avons utilisé est VNC Viewer dont le principe de connexion est similaire à celui du SSH.
  • 28. 27 Figure 3.3- Accès à l'interface graphique du Raspberry sur VNC Viewer. 3.2.2.3 Réservation d’adresse IP Un serveur DHCP distribue une adresse IP aux clients selon la disponibilité des adresses de la plage définie. Cependant, il est possible de faire en sorte qu’un hôte ait toujours la même adresse IP attribué, c’est ce que l’on appelle de la réservation d’adresse. On doit donc indiquer dans le serveur DHCP que telle adresse IP est réservée à telle adresse MAC. Figure 3.4 - Réservation de l'adresse 192.168.0.100 au Raspberry. 3.3 Vidéo streaming Nous avons testé différentes solutions pour la diffusion d’une vidéo en streaming dont le but est de trouver la solution la moins consommatrice en ressources (mémoire, CPU…) tout en gardant une bonne qualité. La meilleure solution était « Motion ». Après avoir téléchargé motion, nous avons changé quelques paramètres dans le fichier de configuration « motion.conf ». daemon on // Lancer en arrière-plan.
  • 29. 28 stream_localhost off //Ne pas restreindre les connexions de flux au localhost (par défaut : on). width 1280 // Largeur de l’image. height 720 // Hauteur de l’image. Enfin, nous avons donné les droits nécessaires au fichier pour que le Raspberry Pi puisse les exécuter : sudo chmod 777 /etc/motion.conf // Tout le monde peut lire, écrire et exécuter sudo chmod 777 /usr/bin/motion // Tout le monde peut lire, écrire et exécuter Voilà, notre Raspberry Pi est maintenant équipé pour faire un système de vidéo-streaming efficace. Par défaut Motion diffuse la vidéo sur le port 8081. 3.4 Lecture de données à partir du module Zolertia Z1 L’idée est de récupérer la température transmise par la carte Z1 via Python. Cette carte envoie toutes les 15 secondes la valeur de la température. Z1 est connectée au Raspberry par son port USB, détecté comme port série par Python. Le programme de lecture « Temp.py » est dans la page suivante : Figure 3.5 - Test du vidéo-streaming
  • 30. 29 import serial ser=serial.Serial(‘/dev/ttyUSB0’,115200,timeout=20) Temp=ser.read(10) print Temp le résultat d’exécution de ce programme nous donne ce résultat : Figure 3.6 - Résultat d'exécution du programme Temp.py 3.5 Affichage de la température sur un serveur Nous voulons afficher la température sur une page web, pour cela, nous devons installer un serveur web. Notre choix était « Apache ». 3.5.1 Installation de « Apache2 » Apache est un serveur web qui nous permet de servir des fichiers HTML sur http. A l’aide des modules supplémentaires et en utilisant des langages de script tels que PHP, nous pouvons servir des pages web dynamiques. Dans notre cas, nous allons se limiter à publier la température dans une page html statique. Pour installer Apache2, nous utilisons la commande suivante :  sudo apt-get install apache2 Par défaut, Apache met un fichier HTML index.html de test dans le dossier web. Pour valider le fonctionnement du serveur, il suffit de naviguer sur un browser vers l’adresse IP du Raspberry. Figure 3.7 - Test de serveur Apache2 sur un navigateur web
  • 31. 30 3.5.2 Modification du script HTML A l’aide d’un programme python, nous allons lire la température via port série, puis on va l’injecter dans le script HTML. Le programme est le suivant : Figure 3.8 - Programme de modification du fichier index.html Le résultat final est représenté dans la figure : 3.6 Conclusion Enfin, ce chapitre montre que nous avons réussi à réaliser quelques tâches nécessaires pour notre projet. Figure 3.9 - Test final de serveur web
  • 32. 31 Dans le cadre de ce projet de fin d’année, nous avons commencé la conception et la réalisation du Gateway d’un système de monitoring d’un malade. Ainsi nous avons réalisé les tâches suivantes : • Etudier le projet et choisir le module du traitement • Définir et implémenter un protocole d’échange de données entre le module de lecture des paramètres vitaux et la partie Gateway. • Porter le système Linux sur Raspberry Pi et programmer les modules de traitements de notre projet. • Choisir le module de communication GPRS/GPS et configurer la connexion avec le serveur. • Tester et valider la communication avec le serveur. • Réaliser une vidéo en streaming sur un serveur. En perspective, nous allons continuer sur ce projet pour le finir avant fin Juillet 2015 qui représente le délai de remise des projets du concours « TI Innovation Challenge ». Enfin, ce projet était une occasion d’apprendre à travailler en binôme d’une façon autonome et efficace .Il nous a amené à enrichir notre savoir-faire et notre expérience, et nous a permis de nous initier au domaine de l’embarqué. Ce dernier qui est devenu un grand domaine de recherche et un grand marché de travail en Tunisie.
  • 33. 32 [1] http://www.ti.com : site officiel de Texas Instruments [2] http://opendata.interieur.gov.tn/fr/datas/index/type:7/categorie:5 : Site des données ouvertes du Ministère de l'Intérieur tunisien [3] F.Gauthier : L'Embarqué N° 2 : Raspberry Pi, BeagleBone et Arduino : les nouvelles stars de l’embarqué, page 23, Juillet 2013. [4] http://www.htpc.com.au/index.php/raspberrypi/raspberrypi [5] http://raspberrypis.net/ [6] https://www.raspberrypi.org/documentation/raspbian : site officiel de Raspberry [7] http://www.open-electronics.org/a-gsmgprs-gps-expansion-shield-for-raspberry-pi [8] http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=17661 [9] D.Mihajlovic : MikroElektronika : Hardware Department. Article, disponible sur internet <http://www.mikroe.com/downloads/get/696/fr_article_pascal_dspic_04_09.pdf>. [10] https://thefloppydisk.wordpress.com/