Académique Documents
Professionnel Documents
Culture Documents
Abdellah
Dhar El Mahraz
12/01/2020
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
Xbee3
Android App
Cloud
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.
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 :
3 ports série
Bus I2C et SPI
Gestion des interruptions
Fiche USB B
Dimensions: 107 x 53 x 15 mm
3- Raspberry :
Définition :
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.
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.
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.
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
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.
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:
Dans la console python on reçoit les valeurs de température envoyée (température en Celsius).
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 :
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
s'inscrire
créer un Channel
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.
Python /path/filename.py
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.
De cette façon, vous pouvez envoyer toutes les données de capteur connectées avec Raspberry pi à
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
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