SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
Projet d’approfondissement
Application réseau de capteurs sans fil
Spécialité : Télécommunications (IoT)
Présenté par : Chaieb Ghassene
Encadrant : Mr. Ezzedine Tahar
Année universitaire : 2015/2016
Table des matières
Introduction Générale...........................................................................................................................3
I. Technologies utilisées ................................................................................................................4
1. Technologies matérielle ................................................................................................................4
2. Les technologies Logiciels .............................................................................................................4
a. MQTT:...........................................................................................................................................4
b. Node JS : .......................................................................................................................................6
c. Paho :............................................................................................................................................6
d. MQTT. JS :.....................................................................................................................................7
II. Architecture de l’application......................................................................................................8
III. Réalisation .......................................................................................................................................9
1. Application Waspmote:..............................................................................................................9
2. Publisher (Raspberry)..............................................................................................................10
3. Subscriber : Client JAVA ...........................................................................................................11
a. Base de données MySQL ......................................................................................................11
b. Capture d’écran de l’application ..........................................................................................12
Introduction Générale
Depuis leur création, les réseaux de communication sans fil ont connu un succès sans
cesse croissant au sein des communautés scientifiques et industrielles. Grâce à ses divers
avantages, cette technologie a pu s'instaurer comme acteur incontournable dans les architectures
réseaux actuelles. Le média hertzien offre en effet des propriétés uniques, qui peuvent être
résumées en trois points :
• la facilité du déploiement
• l'ubiquité de l'information
• le coût réduit d'installation.
Au cours de son évolution, le paradigme sans fil a vu naître diverses architectures
dérivées, telles que : les réseaux cellulaires, les réseaux locaux sans fils et autres. Durant cette
dernière décennie, une architecture nouvelle a vu le jour : les réseaux de capteurs sans fil. Ce
type de réseaux résulte d'une fusion de deux pôles de l'informatique moderne : les systèmes
embarqués et les communications sans fil. Un réseau de capteurs sans fil (RCSF), ou "Wireless
Sensor Network" (WSN), est composé d'un ensemble d'unités de traitements embarquées,
appelées "motes", communiquant via des liens sans fil.
Le but général d'un WSN est la collecte d'un ensemble de paramètres de l'environnement
entourant les motes, telles que la température ou la pression de l'atmosphère, afin de les
acheminer vers des points de traitement.
En effet, le besoin d'un suivie continu d'un environnement donné est assez courant dans diverses
activités de la société. Les processus industriels, les applications militaires de tracking, le
monitoring d'habitat, ainsi que l'agriculture de précision ne sont que quelques exemples d'une
panoplie vaste et variée d'applications possibles du suivi continu offert par les RCSF.
I. Technologies utilisées
1. Technologies matérielle
Waspmote : Waspmote est une plate-forme de capteurs sans fil open source inspiré par Arduino
destiné pour des applications de réseau de capteurs.
Caractéristiques :
 Puissance ultra faible (0.7uA)
 100+ capteurs disponibles
 17 Radio Technologies :
 longue portée : 3G / GPRS / LoRaWAN / LoRa / Sigfox / 868 /
900MHz
 Moyenne portée : ZigBee / 802.15.4 / WiFi
 Courte portée : RFID / NFC / Bluetooth 4.
 Les bibliothèques de chiffrement (AES, RSA)
2. Les technologies Logiciels
a. MQTT:
MQTT (Message Queuing Telemetry Transport) est un protocole de messagerie publish-
subscribe basé sur le protocole TCP/IP.l a été initialement développé par IBM.
 Client MQTT : (Publisher, Subscriber): Les clients souscrivent aux Topic
pour publier ou recevoir des messages.
Figure 1 Carte WaspMote
 Topic : S’appuie le modèle publish-subscribe pour les clients. En Fait, les
Topics permettent aux clients d'échanger des informations avec la sémantique
définies. Exemple sujet: les données des capteurs de température d'un bâtiment.
 Broker MQTT: C’est le serveur des topics, il reçoit les souscriptions des
clients sur des Topics, ou reçoit des messages des clients et transmettre ceux-ci
basé sur les abonnements des clients) aux clients intéressés.
Figure 2 Principe de fonctionnement du protocole MQTT
Mosquito
Mosquito est un Message broker open source
(sous licence BSD) qui met en œuvre les
versions de protocole MQTT 3.1 et 3.1.1.
Mosquitto fournit une implémentation serveur
allégée des protocoles MQTT et MQTT-SN,
écrit en C. La raison pour écrire en C est de
permettre au serveur de fonctionner sur des
machines qui ne disposent pas encore des
capacités pour la gestion d'une JVM. Les
capteurs et les actionneurs, qui sont souvent les sources et les destinations de messages MQTT
et MQTT-SN, peuvent être très petites et manquent de puissance. Mosquitto peut fonctionner
également pour les machines embarquées à laquelle ils sont connectés ainsi que d'accepter les
connexions des applications client MQTT, mosquitto a un pont qui permet de se connecter à
d'autres serveurs MQTT, y compris d'autres instances de mosquitto. Ceci permet les réseaux de
serveurs MQTT à construire, en passant messages MQTT de toute localisation dans le réseau à
un autre, en fonction de la configuration des ponts.
ActiveMQ
Mosquitto
RabbitMQ
JoramMQ
b. Node JS :
Node.js est une plateforme permettant
la construction des applications de réseau et qui
implémente sous licence MIT. Elle a été inventée en
2009 par Ryan Dahl, et une équipe développeurs
travaillant à Joyent. Les applications Node.js sont
écrites en JavaScript et sont exécutées dans
l’environnement d’exécution de Node. Cette
plateforme représente un moyen d’exécution
de JavaScript en dehors du navigateur web. En général, les développeurs utilisent le langage de
programmation JavaScript pour la programmation des interfaces de sites Web faisant de
JavaScript un langage utilisé juste au niveau de client, alors que Node.js permet d’appliquer ce
langage de programmation dans de nombreux contextes, en particulier sur des serveurs web en
offrant un environnement côté serveur qui fonctionne avec JavaScript pour générer des pages
web. Depuis la sortie de Google Chrome à la fin de 2008, les performances JavaScript est
améliorée à un rythme rapide en raison de la forte concurrence entre les fournisseurs de
navigateurs (Mozilla, Microsoft, Apple, Opera et Google). Les performances de ces ma- chines
virtuelles modernes de JavaScript ont permis de changer les types d’applications qu’on peut
construire sur le web. Node utilise " V8 JavaScript engine " développé par Google et qui est
notamment utilisé dans les navigateurs Google chrome et Chromuim, pour la programmation
côté serveur. V8 permet à Node d’avoir de bonnes performances. En effet, Ce moteur utilise
des techniques très récentes au niveau de la technologie de compilateur permet- tant souvent à
un code écrit en un langage haut niveau tel que JavaScript de s’exécuter d’une manière similaire
à un code écrit dans un langage de bas niveau, tels que C. Node permet à V8 de mieux travailler
dans des contextes autres que le navigateur web. La plupart du temps en fournissant des API
supplémentaires qui sont optimisés pour des cas d’utilisation spécifiques. Alors que la plupart
des cadres de côté serveur existants utilisent une architecture synchrone, Node.js utiliser un
architecture asynchrone grâce au fait que JavaScript est un langage orienté évènement Cela
signifie que le serveur réagit aux événements et en voie des événements (messages), Node
utilise ce fait pour son avantage afin de produire des serveurs hautement "scalables".
c. Paho :
Paho offre une implémentation open-source de protocoles
de messagerie MQTT destiné à des applications
Machine-to-Machine (M2M) et internet des objets (IoT).
Le projet Eclipse Paho a devenu rapidement une source de
quelques grands clients MQTT. Actuellement, il contient
des implémentations en C, Java, Javascript, Python
(contribution du projet de mosquitto), Lua C ++, C.
d. MQTT. JS :
MQTT.js est une bibliothèque client pour le protocole
MQTT, écrit en JavaScript pour node.js. MQTT.js fournit
une bibliothèque riche en fonctionnalités Javascript pour le
protocole MQTT. Il peut fonctionner dans le navigateur et
dans node.js (> = 0.8), y compris Intel Edison et Raspberry
PI. Il peut prendre en charge les clients avec une
connectivité inégale. Il a une mémoire sur le disque en option pour la messagerie hors ligne
locale.
II. Architecture de l’application
Figure 3 Architecture de l'application
Scénario :
1. Chaque WaspMote est lié à un capteur (temperature, pression). Il envoie
périodiquement la valeur mesurée à sa passerelle (Raspberry).
2. Via le protocole MQTT, la passerelle publie les valeurs mesurées dans un topic sur un
broker Mosquito située dans le cloud (CloudMqtt)
3. Le client s’inscrire aux topics pour récupérer les valeurs.
III. Réalisation
1. Application Waspmote:
Dans la fonction setup on commence par définir la communication avec le port serial.
void setup()
{ //Intialisation de USB
USB.ON();
delay(100);
}
On définit aussi une fonction qui va nous lire la valeur du capteur utilisé.
float getTemperatureValue() {
//Initialisation du capteur temperature
SensorAgrv20.setSensorMode(SENS_ON, SENS_AGR_SENSIRION);
//Récuperation de la valeur de la temperature
temperatureValue = SensorAgrv20.readValue(SENS_AGR_SENSIRION, SENSIRION_TEMP);
delay(3000);
//Mesure via USB
USB.print(temperatureValue);
USB.println(F("ºC"));
USB.println();
//Fermeture du capteur
SensorAgrv20.setSensorMode(SENS_OFF, SENS_AGR_SENSIRION);
return temperatureValue;
}
Dans la fonction loop(), il suffit d’appeler la fonction getTemperatureValue().
void loop()
{
getTemperatureValue() ;
delay(10000000);
}
2. Publisher (Raspberry)
Dans cette application, on aura besoin de deux modules node.js, l’un pour lire les valeurs qui
arrivent sur le port série, et l’autre pour utiliser le protocole MQTT.
On va utiliser donc les deux modules mqtt.js et serialport.
On installe ces deux modules à l’aide de la commande suivante :
npm install mqtt serialport
Dans le fichier app.js, on configure le protocole mqtt de la manière suivante:
var mqtt = require('mqtt'), url = require('url');
var mqtt_url = url.parse(process.env.CLOUDMQTT_URL || 'mqtt://adresse_de_brocker');
var auth = ['utilisateur','mot_de_passe'];
console.log(auth[0]);
console.log(auth[1]);
// Creation du client mqtt
var client = mqtt.createClient(mqtt_url.port, mqtt_url.hostname, {
username: auth[0],
password: auth[1]
});
Pour la communication avec le port série:
var serialport = require("serialport");
var SerialPort = serialport.SerialPort;
var serialPort = new SerialPort("/dev/ttyUSB0", {
baudrate: 115200,
parser: serialport.parsers.readline("n")
});
Afin d’envoyer les valeurs récupérées de la carte waspmote, on utilise le code suivant:
//Récuperation des valeurs du capteur
serialPort.on('data', function(data) {
console.log(data);
client.on('connect', function() {
// publier les valeurs dans le topic « temperature »
client.publish('temperature', data, function() {
console.log("Message is published");
});
});
});
Figure 1 Publication de la tempérture dans le topic "Temperature"
Dans ce lien, vous trouverez publisher.txt
On peut valider le bon fonctionnement du publisher à l’aide d‘un subscriber node.JS developper avec
le module MQTT.JS dont le code est subscriber_MQTT JS.txt
Figure 2 Réception de la température par le subscriber
3. Subscriber : Client JAVA
Dans ce lien vous trouverez le code du client JAVA WaspMote
a. Base de données MySQL
Table « temperature »
b. Capture d’écran de l’application
Figure 3 Interface d'authentification
Figure 4 Interface choix de capteur
Figure 5 Interface « température en temps réel »

Weitere ähnliche Inhalte

Was ist angesagt?

rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
Siwar GUEMRI
 

Was ist angesagt? (20)

Rapport projet fin d'étude
Rapport projet fin d'étudeRapport projet fin d'étude
Rapport projet fin d'étude
 
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...
 
MEMOIRE DE STAGE
MEMOIRE DE STAGEMEMOIRE DE STAGE
MEMOIRE DE STAGE
 
Rapport de pfe format doc 2013
Rapport de pfe format doc 2013Rapport de pfe format doc 2013
Rapport de pfe format doc 2013
 
Rapport pfe
Rapport pfeRapport pfe
Rapport pfe
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
Exposer reseaux haut débit
Exposer reseaux haut débitExposer reseaux haut débit
Exposer reseaux haut débit
 
Projet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiqueProjet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatique
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 
Présentation des IoT
Présentation des IoTPrésentation des IoT
Présentation des IoT
 
mémoire de projet de fin d'études
mémoire de projet de fin d'études mémoire de projet de fin d'études
mémoire de projet de fin d'études
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
 
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
 
Conception et réalisation d’un MINI SMART HOME
Conception et réalisation  d’un MINI SMART HOMEConception et réalisation  d’un MINI SMART HOME
Conception et réalisation d’un MINI SMART HOME
 
Rapport du projet fin d'etudes
Rapport du projet fin d'etudesRapport du projet fin d'etudes
Rapport du projet fin d'etudes
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
 

Andere mochten auch

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
 
Réalisation d'un système de supervision de réseaux de capteurs
Réalisation d'un système de supervision de réseaux de capteursRéalisation d'un système de supervision de réseaux de capteurs
Réalisation d'un système de supervision de réseaux de capteurs
YaSsine Ahammar
 
ALOHA for Exchange 2010
ALOHA for Exchange 2010ALOHA for Exchange 2010
ALOHA for Exchange 2010
EXCELIANCE
 
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
 
120319 m2m-tutorial-dohler-alonso-ec-2012-final-24630
120319 m2m-tutorial-dohler-alonso-ec-2012-final-24630120319 m2m-tutorial-dohler-alonso-ec-2012-final-24630
120319 m2m-tutorial-dohler-alonso-ec-2012-final-24630
Stephan Cadene
 
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Manassé Achim kpaya
 

Andere mochten auch (20)

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
 
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...
 
Presentation : Réseau de capteurs sans fil
Presentation : Réseau de capteurs sans fil Presentation : Réseau de capteurs sans fil
Presentation : Réseau de capteurs sans fil
 
Réalisation d'un système de supervision de réseaux de capteurs
Réalisation d'un système de supervision de réseaux de capteursRéalisation d'un système de supervision de réseaux de capteurs
Réalisation d'un système de supervision de réseaux de capteurs
 
Reseaux de capteurs sans fils - WSN
Reseaux de capteurs sans fils - WSNReseaux de capteurs sans fils - WSN
Reseaux de capteurs sans fils - WSN
 
ALOHA for Exchange 2010
ALOHA for Exchange 2010ALOHA for Exchange 2010
ALOHA for Exchange 2010
 
Exchange Server 2010
Exchange Server 2010Exchange Server 2010
Exchange Server 2010
 
KAMAL 2016
KAMAL 2016KAMAL 2016
KAMAL 2016
 
Les réseaux capteurs / actionneurs
Les réseaux capteurs / actionneurs Les réseaux capteurs / actionneurs
Les réseaux capteurs / actionneurs
 
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
 
Introduction to Bitreactive
Introduction to BitreactiveIntroduction to Bitreactive
Introduction to Bitreactive
 
Verkenning internet of things
Verkenning internet of thingsVerkenning internet of things
Verkenning internet of things
 
Adaptive GPS Duty Cycling and Radio Ranging for Energy-efficient Localization
Adaptive GPS Duty Cycling and Radio Ranging for Energy-efficient LocalizationAdaptive GPS Duty Cycling and Radio Ranging for Energy-efficient Localization
Adaptive GPS Duty Cycling and Radio Ranging for Energy-efficient Localization
 
Projet de Conception et de développement
Projet de Conception et de développement Projet de Conception et de développement
Projet de Conception et de développement
 
VPN NOMADE AVEC AUTHENTIFICATIO AD SOUS ROUTEUR CISCO
VPN NOMADE AVEC AUTHENTIFICATIO AD SOUS ROUTEUR CISCOVPN NOMADE AVEC AUTHENTIFICATIO AD SOUS ROUTEUR CISCO
VPN NOMADE AVEC AUTHENTIFICATIO AD SOUS ROUTEUR CISCO
 
Low power MAC for wireless sensor network
Low power MAC for wireless sensor networkLow power MAC for wireless sensor network
Low power MAC for wireless sensor network
 
120319 m2m-tutorial-dohler-alonso-ec-2012-final-24630
120319 m2m-tutorial-dohler-alonso-ec-2012-final-24630120319 m2m-tutorial-dohler-alonso-ec-2012-final-24630
120319 m2m-tutorial-dohler-alonso-ec-2012-final-24630
 
Vpn d’acces avec cisco asa 5500 et client
Vpn d’acces avec cisco asa 5500 et clientVpn d’acces avec cisco asa 5500 et client
Vpn d’acces avec cisco asa 5500 et client
 
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
 
Système de supervision des réseaux de capteurs sans fil
Système de supervision des réseaux de capteurs sans filSystème de supervision des réseaux de capteurs sans fil
Système de supervision des réseaux de capteurs sans fil
 

Ähnlich wie Réseau de capteurs sans fil

chapitres 3 technologies de communication de l'IoT partie II.pptx
chapitres  3 technologies de communication de l'IoT partie II.pptxchapitres  3 technologies de communication de l'IoT partie II.pptx
chapitres 3 technologies de communication de l'IoT partie II.pptx
merazgaammar2
 
composing continuos services in CoAP-based IOT
composing continuos services in CoAP-based IOT composing continuos services in CoAP-based IOT
composing continuos services in CoAP-based IOT
omri med
 
Architectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythmeArchitectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythme
Microsoft
 

Ähnlich wie Réseau de capteurs sans fil (20)

Projet MQTT
Projet MQTTProjet MQTT
Projet MQTT
 
8-socket.pdf
8-socket.pdf8-socket.pdf
8-socket.pdf
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chat
 
OCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCSOCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCS
 
my_resume(fre)
my_resume(fre)my_resume(fre)
my_resume(fre)
 
Production logicielle, outils et pratiques
Production logicielle, outils et pratiquesProduction logicielle, outils et pratiques
Production logicielle, outils et pratiques
 
chapitres 3 technologies de communication de l'IoT partie II.pptx
chapitres  3 technologies de communication de l'IoT partie II.pptxchapitres  3 technologies de communication de l'IoT partie II.pptx
chapitres 3 technologies de communication de l'IoT partie II.pptx
 
IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et DémonstrationIoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
 
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
 
Migration d'une Architecture Microservice vers une Architecture Event-Driven ...
Migration d'une Architecture Microservice vers une Architecture Event-Driven ...Migration d'une Architecture Microservice vers une Architecture Event-Driven ...
Migration d'une Architecture Microservice vers une Architecture Event-Driven ...
 
composing continuos services in CoAP-based IOT
composing continuos services in CoAP-based IOT composing continuos services in CoAP-based IOT
composing continuos services in CoAP-based IOT
 
Socket tcp ip client server on langace c
Socket tcp ip client server on langace c Socket tcp ip client server on langace c
Socket tcp ip client server on langace c
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EE
 
L'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOpsL'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOps
 
Kuberbetes 101: Unlocking containerisation’s full potential
Kuberbetes 101: Unlocking containerisation’s full potentialKuberbetes 101: Unlocking containerisation’s full potential
Kuberbetes 101: Unlocking containerisation’s full potential
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
 
Le Middleware, element cle pour lintegration de services M2M
Le Middleware, element cle pour lintegration de services M2MLe Middleware, element cle pour lintegration de services M2M
Le Middleware, element cle pour lintegration de services M2M
 
Les vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdfLes vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdf
 
Tutoriel : Développement d’une application client à l’aide de Sil...
Tutoriel : Développement d’une application client à l’aide de Sil...Tutoriel : Développement d’une application client à l’aide de Sil...
Tutoriel : Développement d’une application client à l’aide de Sil...
 
Architectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythmeArchitectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythme
 

Kürzlich hochgeladen (6)

le probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptxle probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptx
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigés
 
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdfpdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
mémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoiremémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoire
 

Réseau de capteurs sans fil

  • 1. Projet d’approfondissement Application réseau de capteurs sans fil Spécialité : Télécommunications (IoT) Présenté par : Chaieb Ghassene Encadrant : Mr. Ezzedine Tahar Année universitaire : 2015/2016
  • 2. Table des matières Introduction Générale...........................................................................................................................3 I. Technologies utilisées ................................................................................................................4 1. Technologies matérielle ................................................................................................................4 2. Les technologies Logiciels .............................................................................................................4 a. MQTT:...........................................................................................................................................4 b. Node JS : .......................................................................................................................................6 c. Paho :............................................................................................................................................6 d. MQTT. JS :.....................................................................................................................................7 II. Architecture de l’application......................................................................................................8 III. Réalisation .......................................................................................................................................9 1. Application Waspmote:..............................................................................................................9 2. Publisher (Raspberry)..............................................................................................................10 3. Subscriber : Client JAVA ...........................................................................................................11 a. Base de données MySQL ......................................................................................................11 b. Capture d’écran de l’application ..........................................................................................12
  • 3. Introduction Générale Depuis leur création, les réseaux de communication sans fil ont connu un succès sans cesse croissant au sein des communautés scientifiques et industrielles. Grâce à ses divers avantages, cette technologie a pu s'instaurer comme acteur incontournable dans les architectures réseaux actuelles. Le média hertzien offre en effet des propriétés uniques, qui peuvent être résumées en trois points : • la facilité du déploiement • l'ubiquité de l'information • le coût réduit d'installation. Au cours de son évolution, le paradigme sans fil a vu naître diverses architectures dérivées, telles que : les réseaux cellulaires, les réseaux locaux sans fils et autres. Durant cette dernière décennie, une architecture nouvelle a vu le jour : les réseaux de capteurs sans fil. Ce type de réseaux résulte d'une fusion de deux pôles de l'informatique moderne : les systèmes embarqués et les communications sans fil. Un réseau de capteurs sans fil (RCSF), ou "Wireless Sensor Network" (WSN), est composé d'un ensemble d'unités de traitements embarquées, appelées "motes", communiquant via des liens sans fil. Le but général d'un WSN est la collecte d'un ensemble de paramètres de l'environnement entourant les motes, telles que la température ou la pression de l'atmosphère, afin de les acheminer vers des points de traitement. En effet, le besoin d'un suivie continu d'un environnement donné est assez courant dans diverses activités de la société. Les processus industriels, les applications militaires de tracking, le monitoring d'habitat, ainsi que l'agriculture de précision ne sont que quelques exemples d'une panoplie vaste et variée d'applications possibles du suivi continu offert par les RCSF.
  • 4. I. Technologies utilisées 1. Technologies matérielle Waspmote : Waspmote est une plate-forme de capteurs sans fil open source inspiré par Arduino destiné pour des applications de réseau de capteurs. Caractéristiques :  Puissance ultra faible (0.7uA)  100+ capteurs disponibles  17 Radio Technologies :  longue portée : 3G / GPRS / LoRaWAN / LoRa / Sigfox / 868 / 900MHz  Moyenne portée : ZigBee / 802.15.4 / WiFi  Courte portée : RFID / NFC / Bluetooth 4.  Les bibliothèques de chiffrement (AES, RSA) 2. Les technologies Logiciels a. MQTT: MQTT (Message Queuing Telemetry Transport) est un protocole de messagerie publish- subscribe basé sur le protocole TCP/IP.l a été initialement développé par IBM.  Client MQTT : (Publisher, Subscriber): Les clients souscrivent aux Topic pour publier ou recevoir des messages. Figure 1 Carte WaspMote
  • 5.  Topic : S’appuie le modèle publish-subscribe pour les clients. En Fait, les Topics permettent aux clients d'échanger des informations avec la sémantique définies. Exemple sujet: les données des capteurs de température d'un bâtiment.  Broker MQTT: C’est le serveur des topics, il reçoit les souscriptions des clients sur des Topics, ou reçoit des messages des clients et transmettre ceux-ci basé sur les abonnements des clients) aux clients intéressés. Figure 2 Principe de fonctionnement du protocole MQTT Mosquito Mosquito est un Message broker open source (sous licence BSD) qui met en œuvre les versions de protocole MQTT 3.1 et 3.1.1. Mosquitto fournit une implémentation serveur allégée des protocoles MQTT et MQTT-SN, écrit en C. La raison pour écrire en C est de permettre au serveur de fonctionner sur des machines qui ne disposent pas encore des capacités pour la gestion d'une JVM. Les capteurs et les actionneurs, qui sont souvent les sources et les destinations de messages MQTT et MQTT-SN, peuvent être très petites et manquent de puissance. Mosquitto peut fonctionner également pour les machines embarquées à laquelle ils sont connectés ainsi que d'accepter les connexions des applications client MQTT, mosquitto a un pont qui permet de se connecter à d'autres serveurs MQTT, y compris d'autres instances de mosquitto. Ceci permet les réseaux de serveurs MQTT à construire, en passant messages MQTT de toute localisation dans le réseau à un autre, en fonction de la configuration des ponts. ActiveMQ Mosquitto RabbitMQ JoramMQ
  • 6. b. Node JS : Node.js est une plateforme permettant la construction des applications de réseau et qui implémente sous licence MIT. Elle a été inventée en 2009 par Ryan Dahl, et une équipe développeurs travaillant à Joyent. Les applications Node.js sont écrites en JavaScript et sont exécutées dans l’environnement d’exécution de Node. Cette plateforme représente un moyen d’exécution de JavaScript en dehors du navigateur web. En général, les développeurs utilisent le langage de programmation JavaScript pour la programmation des interfaces de sites Web faisant de JavaScript un langage utilisé juste au niveau de client, alors que Node.js permet d’appliquer ce langage de programmation dans de nombreux contextes, en particulier sur des serveurs web en offrant un environnement côté serveur qui fonctionne avec JavaScript pour générer des pages web. Depuis la sortie de Google Chrome à la fin de 2008, les performances JavaScript est améliorée à un rythme rapide en raison de la forte concurrence entre les fournisseurs de navigateurs (Mozilla, Microsoft, Apple, Opera et Google). Les performances de ces ma- chines virtuelles modernes de JavaScript ont permis de changer les types d’applications qu’on peut construire sur le web. Node utilise " V8 JavaScript engine " développé par Google et qui est notamment utilisé dans les navigateurs Google chrome et Chromuim, pour la programmation côté serveur. V8 permet à Node d’avoir de bonnes performances. En effet, Ce moteur utilise des techniques très récentes au niveau de la technologie de compilateur permet- tant souvent à un code écrit en un langage haut niveau tel que JavaScript de s’exécuter d’une manière similaire à un code écrit dans un langage de bas niveau, tels que C. Node permet à V8 de mieux travailler dans des contextes autres que le navigateur web. La plupart du temps en fournissant des API supplémentaires qui sont optimisés pour des cas d’utilisation spécifiques. Alors que la plupart des cadres de côté serveur existants utilisent une architecture synchrone, Node.js utiliser un architecture asynchrone grâce au fait que JavaScript est un langage orienté évènement Cela signifie que le serveur réagit aux événements et en voie des événements (messages), Node utilise ce fait pour son avantage afin de produire des serveurs hautement "scalables". c. Paho : Paho offre une implémentation open-source de protocoles de messagerie MQTT destiné à des applications Machine-to-Machine (M2M) et internet des objets (IoT). Le projet Eclipse Paho a devenu rapidement une source de quelques grands clients MQTT. Actuellement, il contient des implémentations en C, Java, Javascript, Python (contribution du projet de mosquitto), Lua C ++, C.
  • 7. d. MQTT. JS : MQTT.js est une bibliothèque client pour le protocole MQTT, écrit en JavaScript pour node.js. MQTT.js fournit une bibliothèque riche en fonctionnalités Javascript pour le protocole MQTT. Il peut fonctionner dans le navigateur et dans node.js (> = 0.8), y compris Intel Edison et Raspberry PI. Il peut prendre en charge les clients avec une connectivité inégale. Il a une mémoire sur le disque en option pour la messagerie hors ligne locale.
  • 8. II. Architecture de l’application Figure 3 Architecture de l'application Scénario : 1. Chaque WaspMote est lié à un capteur (temperature, pression). Il envoie périodiquement la valeur mesurée à sa passerelle (Raspberry). 2. Via le protocole MQTT, la passerelle publie les valeurs mesurées dans un topic sur un broker Mosquito située dans le cloud (CloudMqtt) 3. Le client s’inscrire aux topics pour récupérer les valeurs.
  • 9. III. Réalisation 1. Application Waspmote: Dans la fonction setup on commence par définir la communication avec le port serial. void setup() { //Intialisation de USB USB.ON(); delay(100); } On définit aussi une fonction qui va nous lire la valeur du capteur utilisé. float getTemperatureValue() { //Initialisation du capteur temperature SensorAgrv20.setSensorMode(SENS_ON, SENS_AGR_SENSIRION); //Récuperation de la valeur de la temperature temperatureValue = SensorAgrv20.readValue(SENS_AGR_SENSIRION, SENSIRION_TEMP); delay(3000); //Mesure via USB USB.print(temperatureValue); USB.println(F("ºC")); USB.println(); //Fermeture du capteur SensorAgrv20.setSensorMode(SENS_OFF, SENS_AGR_SENSIRION); return temperatureValue; } Dans la fonction loop(), il suffit d’appeler la fonction getTemperatureValue(). void loop() { getTemperatureValue() ; delay(10000000); }
  • 10. 2. Publisher (Raspberry) Dans cette application, on aura besoin de deux modules node.js, l’un pour lire les valeurs qui arrivent sur le port série, et l’autre pour utiliser le protocole MQTT. On va utiliser donc les deux modules mqtt.js et serialport. On installe ces deux modules à l’aide de la commande suivante : npm install mqtt serialport Dans le fichier app.js, on configure le protocole mqtt de la manière suivante: var mqtt = require('mqtt'), url = require('url'); var mqtt_url = url.parse(process.env.CLOUDMQTT_URL || 'mqtt://adresse_de_brocker'); var auth = ['utilisateur','mot_de_passe']; console.log(auth[0]); console.log(auth[1]); // Creation du client mqtt var client = mqtt.createClient(mqtt_url.port, mqtt_url.hostname, { username: auth[0], password: auth[1] }); Pour la communication avec le port série: var serialport = require("serialport"); var SerialPort = serialport.SerialPort; var serialPort = new SerialPort("/dev/ttyUSB0", { baudrate: 115200, parser: serialport.parsers.readline("n") }); Afin d’envoyer les valeurs récupérées de la carte waspmote, on utilise le code suivant: //Récuperation des valeurs du capteur serialPort.on('data', function(data) { console.log(data); client.on('connect', function() { // publier les valeurs dans le topic « temperature » client.publish('temperature', data, function() { console.log("Message is published"); }); }); });
  • 11. Figure 1 Publication de la tempérture dans le topic "Temperature" Dans ce lien, vous trouverez publisher.txt On peut valider le bon fonctionnement du publisher à l’aide d‘un subscriber node.JS developper avec le module MQTT.JS dont le code est subscriber_MQTT JS.txt Figure 2 Réception de la température par le subscriber 3. Subscriber : Client JAVA Dans ce lien vous trouverez le code du client JAVA WaspMote a. Base de données MySQL Table « temperature »
  • 12. b. Capture d’écran de l’application Figure 3 Interface d'authentification Figure 4 Interface choix de capteur Figure 5 Interface « température en temps réel »