Vous êtes sur la page 1sur 21

'université Sidi Mohamed Ben

Abdellah

FACULTE DES SCIENCES

Dhar El Mahraz

12/01/2020

Rapport Mini Projet


Cloud Robotics-Réseaux de capteurs
Station météo

Réalisé par : ABZI Yousra Encadré par : Pr.Benbrahim Mohammed

BAHI Chaimae Pr.Kabbaj Nabil

MOHIB Soukayna Pr.Khamlichi Youness


TAOUIHAR Hajar
'université Sidi Mohamed Ben Abdellah

FACULTE DES SCIENCES


Dhar El Mahraz

L'université Sidi Mohamed Ben Abdellah


FACULTE DES SCIENCES
Dhar El Mahraz

Rapport Mini Projet


Cloud Robotics-Réseaux de capteurs
Station météo

Réalisé par : Abzi Yousra Encadré par : Pr.Benbrahim Mohammed

Bahi Chaimae Pr.Kabbaj Nabil

Mohib Soukayna Pr.Khamlichi Youness

Taouihar Hajar
Année universitaire 2019/2020

Introduction:

De nos jours, la nécessité d’obtenir des informations en temps réel sur les paramètres
environnementaux locaux est très importante. Avec ce projet nous fournissons ces
informations de manière simple à toutes les personnes qui veulent être informé sur la
situation météorologique d’une manière régulière.

Dans notre travail nous avons réalisé une station météo qui mesure les phénomènes
physiques existants. Cette station sera connectée par Ethernet au réseau internet. Dans
l'ensemble, la station comprenant plusieurs capteurs tels que: capteur de température
et l’humidité (DHT11), capteur de température du sol (PT100).

Notre projet expérimental consiste donc à réaliser un système de mesure en temps réel
de l'ensemble des grandeurs physiques existantes. Les données sont traitées dans l'unité
de traitement et de commande à base de l'Arduino UNO et Raspberry pi .L'affichage
des résultats est assuré par des courbes sur le site web choisi s'appel: 'ThingSpeak'.
Table des matières

Introduction……………………………………………………………………………………………………
I-Architecture de communication......…………………………………………………………………………...
II- Présentation de la première partie de la communication …………………………………………………..
1-Xbee ………………………………………………………………………………………………………
1-1 Définition
1-2 Caractéristiques
1-3 Configuration modules Xbee avec XCTU
2- Arduino ……………………………………………………………………………………………………
2-1 Définition
2-2 Caractéristiques
3- Raspberry …………………………………………………………………………………………………
4- PT100 …………………………………………………………………………………………………….
III – Présentation de la deuxième partie de communication……………………………………………………
1-Thingspeak…………………………………………………………………………………………………
2- Communication entre Raspberry et Thingspeak………………………………………………………….
3-Communication entre Application Android et Thingspeak……………………………………………….

IV – Conclusion……………………………………………………………………………………………….
Liste des figures

Figure1 : module Xbee………………………………………………………………………………………………………………………..

Figure2 : Arduino mega……………………………………………………………………………………………………………………….

Figure3 : Raspberry pi 3………………………………………………………………………………………………………………………

Figure4 : Sonde PT100……………………………………………………………………………………………………………………….

Figure5 : Liaison arduino avec Xbee……………………………………………………………………………………………………

Figure6 : Adaptateur Xbee/Pc……………………………………………………………………………………………………………

Figure7 : Données de la température…………………………………………………………………………………………………

Figure8 : Code de la transmission des données……………………………………………………………………………………

Figure9 : Code Python pour la réception……………………………………………………………………………………………..

Figure10 : Données reçu………………………………………………………………………………………………………………………

Figure11 : Code d’Emission…………………………………………………………………………………………………………………

Figure12 : Code Arduino pour la réception…………………………………………………………………………………………

Figure13 : Plateforme Thingspeak………………………………………………………………………………………………………

Figure14 : Channel Thingspeak………………………………………………………………………………………………………….

Figure15 : Write API Key et Read API Key………………………………………………………………………………………….

Figure16 : Code Température sur python…………………………………………………………………………………………

Figure17 : Courbe graphique exprime le changement de la Température………………………………………..

Figure18 : Code de L’application sur MIT…………………………………………………………………………………………

Figure19 : Field 1 sur L’application……………………………………………………………………………………………………

Figure21 : Field 1 sur Thingspeak………………………………………………………………………………………………………

Figure22 : Field 2 sur L’application ……………………………………………………………………………………………………

Figure23 : Field 2 sur Thingspeak………………………………………………………………………………………………………

Figure24 : Field 3 sur L’application……………………………………………………………………………………………………


I-Architecture de communication:

Inputs Arduino Mega Xbee1 Station météo


1

Xbee3

Outputs Arduino Mega


2 Xbee2
Raspberry pi3

Android App

Cloud

II- Présentation de la première partie de la communication :


1-Xbee :

Définition :
Le XBee est un microcontrôleur sans fil fabriqué par Digi qui utilise un émetteur-récepteur sans fil
2,4 GHz pour communiquer avec un autre module XBee. Ces modules sont capables de communiquer
avec plus d’un module XBee, ce qui signifie que vous pouvez créer un réseau de modules de partout,
du moment qu’ils sont à portée.
Figure 1 : module Xbee

Caractéristiques :
 Fréquence porteuse : 2.4Ghz 
 portées variées : assez faible pour les XBee 1 et 2 (10 - 100m), grande pour le XBee Pro
(1000m) faible débit : 250kbps faible consommation : 3.3V @ 50mA
 Entrées/sorties : 6 10-bit ADC input pins, 8 digital IO pins
 sécurité : communication fiable avec une clé de chiffrement de 128-bits
 Simplicité d’utilisation : communication via le port série ensemble de commandes AT et
API
 Flexibilité du réseau : sa capacité à faire face à un nœud hors service ou à intégrer de
nouveaux nœuds rapidement
 Topologies de réseaux variées : maillé, point à point, point à multipoint.

Configuration modules Xbee avec XCTU :


Il y a quelques paramètres qui doivent être changé pour la communication, et puisque nous allons
travailler avec 3 Xbee il faut faire la configuration pour les trois selon leurs rôles. Il faut noter que
pour que deux modules puissent communiquer entre eux ils doivent avoir la même Channel, le même
PAN ID et la même vitesse.

Configuration Xbee coordinateur :

 CH Channel : Le canal par défaut est le canal C


 PAN ID : un nombre hexadécimal compris entre 0 et FFFF. Nous avons sélectionné
3332
 DH : Régler à 0
 DL : Nous définissons cette valeur sur FFFF qui est l'adresse de diffusion de tous les
autres modules.
 CE : On change Enable à Enable [1]
 BD : On fixe la vitesse de transmission à 9600bd
 NI : Choix du nom d’identifiant
 NI : Choix du nom d’identifiant « coord »

Configuration Xbee End-device 1 :

 CH Channel : Le canal par défaut est le canal C


 PAN ID : un nombre hexadécimal compris entre 0 et FFFF. Nous avons sélectionné
3332
 DH : Régler à 0
 DL : Nous définissons cette valeur sur0 qui est l'adresse de diffusion de tous les autres
modules.
 CE : On change Enable à disabled [0]

 BD : On fixe la vitesse de transmission à 9600bd


 NI : Choix du nom d’identifiant « end-device 1 »
Configuration Xbee End-device 2 :
 CH Channel : Le canal par défaut est le canal C
 PAN ID : un nombre hexadécimal compris entre 0 et FFFF. Nous avons sélectionné
3332
 DH : Régler à 0
 DL : Nous définissons cette valeur sur0 qui est l'adresse de diffusion de tous les autres
modules.
 CE : On change Enable à disabled [0]
 BD : On fixe la vitesse de transmission à 9600bd
 NI : Choix du nom d’identifiant « end-device 2 »

2- Arduino :

Définition :

La carte Arduino Mega 2560 est basée sur un ATMega2560 cadencé à 16 MHz. Elle dispose de 54
E/S dont 14 PWM, 16 analogiques et 4 UARTs. Elle est idéale pour des applications exigeant des
caractéristiques plus complètes que la Uno. Des connecteurs situés sur les bords extérieurs du circuit
imprimé permettent d'enficher une série de modules complémentaires.

Elle peut se programmer avec le logiciel Arduino. Le contrôleur ATMega2560 contient un bootloader
qui permet de modifier le programme sans passer par un programmateur. Le logiciel est
téléchargeable gratuitement. Cette carte est livrée avec un support en plastique mais sans
cordon USB (voir articles conseillés).

Caractéristiques :

 Alimentation: - via port USB ou 7 à 12 V sur connecteur alim


 Microprocesseur: ATMega2560
 Mémoire flash: 256 kB
 Mémoire SRAM: 8 kB
 Mémoire EEPROM: 4 kB
 54 broches d'E/S dont 14 PWM
 16 entrées analogiques 10 bits
 Intensité par E/S: 40 mA

 3 ports série
 Bus I2C et SPI
 Gestion des interruptions
 Fiche USB B
 Dimensions: 107 x 53 x 15 mm

Figure 2 : Arduino Mega

3- Raspberry :
Définition :

Le Raspberry pi est un nano-ordinateur mono-carte à Processeur ARM de la taille d'une carte de


crédit conçu par le créateur de jeux vidéo David Braben il se connecte sur votre téléviseur ou sur
n'importe quel autre dispositif d'affichage disposant d'une entrée HDMI ou Vidéo (RCA), il a 4 port
USB ainsi qu'une carte réseau et on peut lui installer des système d'exploitation spécialement conçu
pour lui comme le Raspbian qui est une distribution linux basé sur Debian, Et pour ce qui est de sa
consommation il ne consomme presque pas d'énergie ce qui est une très bonne économie en
électricité, c'est aussi une technologie qui a un grand potentiel avec laquelle vous pouvez créer pleins
d'outils technologique et apprendre à programmer et mieux comprendre le fonctionnement d'un
ordinateur .

Le Raspberry Pi est utilisé dans différent domaines comme la robotique la programmation et les jeux
vidéo ainsi que les serveurs web.

Figure 3: Raspberry pi 3

4- PT100 :

La sonde Pt 100 est un capteur de température qui est utilisé dans le domaine industriel
(agroalimentaire, chimie, raffinerie…). Ce capteur est constitué d’une résistance en Platine. La valeur
initiale du Pt100 est de 100 ohms correspondant à une température de 0°C.

Elle se caractérise par :

 -Grande plage de température de -200 °C à 850°C


 -Courbe caractéristique quasi linéaire
 -Précision élevée
Figure 4 : Sonde PT100

5- Emission, lecture et réception des données Arduino et python via Xbee:

Dans cette première partie nous avons fait communiquer notre première Arduino qui envoie les
données de la température sur notre pc avec python (Spyder) que nous avons considérée comme un
Raspberry, puis ce dernier va envoyer les données via Xbee à l’arduino numéro 2.

Connexion Xbee Arduino :

Nous avons utilisé Foca V2 ce dernier est un USB à UART série bord avec interface XBee prise.
C'est les outils essentiels pour établir une communication entre PC et la plupart du temps MCU ou
utiliser XBEE.

Figure 5 : Liaison Xbee avec arduno

Connexion Xbee Pc :
Pour ce faire on utilise SparkFun XBee Explorer Dongle se dernier nous pouvons brancher l'appareil
directement sur le port USB et le faire agir comme une passerelle entre l'ordinateur et la XBee. Aucun
câble n'est nécessaire ! Cet appareil fonctionne avec tous les modules XBee, y compris les séries 1 et
2.5 en version standard et Pro. Le régulateur de tension embarqué est bon jusqu'à500mA. Le point
fort de cette carte est un convertisseur USB-série FT231X. C'est ce qui traduit les données entre
l'ordinateur et la XBee.
Figure 6 : Adaptateur Xbee/ Pc

Il faut détecter le port série dont notre Xbee est connectée avec cet instruction : ls _li /dev/tt*
ensuite on change le mode de port connectée pour qu’il devient en mode lecture écriture en utilisant
la commande suivante : chmod 666 ls _li /dev/ttyUSB0

Envoie et réception des données :

Maintenant que la liaison est bien effectuée nous pouvons émettre et recevoir des données à l’aide
des Xbee. Nous allons lire les valeurs reçu de notre Arduino à l’aide du moniteur série.

Figure 7: Données de la température

Après la lecture de la température nous allons transmettre cette dernier via le port série vers
l’ordinateur ayant la Xbee coordinator en utilisant le code suivant :
Figure 8 : Code de transmission des données

On fait la réception de données envoyées par la Xbee coordinator en utilisant le programme python
suivant:

Figure 9 : Code Python pour la réception

Dans la console python on reçoit les valeurs de température envoyée (température en Celsius).

Figure 10 : Données reçu

Maintenant que nous avons reçu les valeurs de la température de la Xbee 1 nous devons l’envoyer
vers l’Arduino 2 en utilisant le code suivant :

Figure 11 : Code d'Emission

La réception des données série en Arduino avec Xbee 2 est donnée par les instructions suivantes :
Figure 12 : Code Arduino pour la réception

III – Présentation de la deuxième partie de communication :


1- Thingspeak :
ThingSpeak est un service de plateforme d'analyse IoT qui vous permet d'agréger, de visualiser et
d'analyser des flux de données en direct dans le cloud. Vous pouvez envoyer des données à
ThingSpeak depuis vos appareils, créer une visualisation instantanée des données en direct et envoyer
des alertes.

Thingspeak nous a permet de :

 collecter les données en temps réel (fréquence supérieure ou égale à 15 secondes)


 visualiser les données collectées sous forme de graphes
 créer des plugins et des applications pour collaborer avec des web services, des
réseaux sociaux et d'autres APIs.

Figure 13 : Plateforme Thingspeak


Pour envoyer les informations vers Thingspeak en suivre les étapes suivantes :

 s'inscrire
 créer un Channel

Figure 14 : Channel Thingspeak

 Créer trois "Fields" dans le Channel


- Filde1 : Température de l’air
- Filed2 : Humidité
- Filed3 : Température de Sol
 Récupérer la clé de mise à jour (API Key ; Write KEY,Read KEY)
Figure 15: Write API key et Read API Key

Write API Keys : L’utilisation de cette clé permettre d'écrire des données sur le canal.

Read API Keys : L’utilisation de cette clé permettre à d'autres personnes d'afficher les flux et les
graphiques de votre chaîne privée.

1- Communication entre Raspberry et Thingspeak


Nous avons installé python dans Raspberry pi à l'aide de cette commande :

Sudo apt-get install python

Après nous avons installé tous les bibliothèques

Sudo apt-get installs httplib

Sudo apt-get installs urllib

Pour exécuter le fichier python en utilisant la commande ci-dessous :

Python /path/filename.py

Write API Keys


Figure 16 : Code température sur python

Après l’exécution du code python, on ouvre Thingspeak et on trouve que les données de température
sont mises à jour sur ThingSpeak.

Figure17 : Courbe graphique exprime le changement de la température

De cette façon, vous pouvez envoyer toutes les données de capteur connectées avec Raspberry pi à
ThingSpeak.

2-Communication entre Application Android et Thingspeak

Nous avons créé une Application Android dans MIT Eventor qui permet de recevoir les données de
Thingspeak à travers l’identifiant de la canal et Read API Key de Thingspeak que nous avons inséré
dans le code du MIT .
Figure18 : Code de l’application sur MIT

Figure18 : Application Android

Après avoir créé cette application il suffit de l’ouvrir, après vous allez trouver les données de
Thingspeak.
Figure19: Field1 sur l’Application Figure20: Field1 sur Thingspeak

Figure 21: Field2 sur application Figure 22: Field2 sur Thingspeak
Figure 23: Field3 sur l’application Figure 24: field3 sur Thingspeak

Conclusion

Vous aimerez peut-être aussi