Chaîne d'Acquisition et Communication Sans Fil
Chaîne d'Acquisition et Communication Sans Fil
Département d’électronique
Thème
CHAINE D’ACQUISITION
AVEC COMMUNICATION SANS FILS
Réalisé par : Encadrer par :
- Mr Chami Nadir
- Mr Chetioui Mouhamed
- Mr Mostfai Lotfi
A tout la famille KHALFAOUI et BRAHIM pour leur soutien durant ces cinq dernière
années.
A tous nos collègues de promotion que j’ai eu le plaisir de côtoyer pendant cette
période de formation.
2
Table des matières
Remerciement......................................................................................................................................................... 2
Table des figures : ................................................................................................................................................... 5
Introduction générale .............................................................................................................................................. 6
CHAPITRE I .......................................................................................................................................................... 7
Chaîne d’acquisition de données............................................................................................................................. 7
Introduction ......................................................................................................................................................... 8
I.1 Chaîne d’acquisition de données ................................................................................................................... 8
I .1.1 Définition et présentation....................................................................................................................... 8
I.2 Structure d’une chaîne d’acquisition numérique ........................................................................................... 9
10 Performances globale ................................................................................................................................... 10
10.a Fréquence de fonctionnement ................................................................................................................... 10
I.3 Le système de contrôle : .............................................................................................................................. 10
I.4 Système de contrôle de processus ................................................................................................................ 11
I.5 Aspects temporels et développement des systèmes de contrôle de processus (Systèmes temps réel):........ 12
I.7 Conclusion ................................................................................................................................................... 12
CHAPITRE II ...................................................................................................................................................... 13
Les Capteurs.......................................................................................................................................................... 13
Introduction ....................................................................................................................................................... 14
II.1 Définition et présentation ........................................................................................................................... 14
Échantillonnage ............................................................................................................................................. 15
II.2 types des capteurs ...................................................................................................................................... 17
II.2.1 capteurs actifs : .................................................................................................................................... 17
II.2.2 capteurs passifs : .................................................................................................................................. 19
II.3 Capteur intelligent ...................................................................................................................................... 20
II.4 Les réseaux de capteurs sans fil (RCSF) .................................................................................................... 22
II.4.1 Domaines d’application des réseaux de capteurs ................................................................................ 23
II.4.2 Caractéristiques des réseaux de capteurs sans fil ................................................................................ 26
II.4.3 Ordonnancement d’activité des capteurs ............................................................................................. 26
II.4.4 Spécificités des RCSF ......................................................................................................................... 27
II.5 Conclusion .................................................................................................................................................. 32
CHAPITRE III ...................................................................................................................................................... 33
Simulation d’une chaine d’acquisition avec transmission sans fil ........................................................................ 33
Introduction ....................................................................................................................................................... 34
3
III .1 PROTOCOLE UTULISER .............................................................................................................................. 34
III.1.1 Le protocole UART .............................................................................................................................. 34
III.1.2 Le protocole ZigBee.............................................................................................................................. 36
a. Description de la technologie ZigBee ....................................................................................................... 36
b. Applications du standard ZigBee .............................................................................................................. 37
c. Caractéristiques de ZigBee ....................................................................................................................... 38
d . Architecture Zigbee.................................................................................................................................. 38
II.2 PRESENTATION DU MATIEL UTILISER ............................................................................................. 40
III.2.1 HARDWARE..................................................................................................................................... 40
III .2.1.1 ARDUINO .................................................................................................................................... 40
Arduino Uno ................................................................................................................................................. 41
III.2.1.2 XBEE .............................................................................................................................................. 48
III.2.1.3 CAPTEUR DE TEMPERATURE «TMP36» ............................................................................... 53
Description Le TMP36 est un senseur qui se présente sous la forme d'un petit transistor. ................................. 53
III .2.2 SOFTWARE ..................................................................................................................................... 54
III.2.2.1 ARDUINO UNO ............................................................................................................................. 54
III.2.2.2 X-CTU ......................................................................................................................................... 56
III.2.2.3 Matlab et Arduino ........................................................................................................................... 61
III.3.1 Architecture de la réalisation ................................................................................................................. 65
III.3.2 LA MANIPULATION ...................................................................................................................... 66
III.4 Fonctionnement de la chaîne de mesure : ................................................................................................. 70
III.5 Aperçu de la solution ................................................................................................................................ 71
III.6 Conclusion ................................................................................................................................................ 71
Conclusion générale .............................................................................................................................................. 72
Bibliographie ......................................................................................................................................................... 73
4
Table des figures :
5
Introduction générale
L’utilisation de logiciel informatique dans le cadre du contrôle des procédés est de plus
en plus courante. Elle permet d’implémenter des lois de contrôle utilisant les données délivrées
par les capteurs pour produire des commandes au niveau des actionneurs. Actuellement ces
systèmes sont de plus en plus complexes et la réutilisation des composants logiciels doit
permettre de réduire les coûts de développement.
L’objectif de notre travail est de réaliser une chaîne d’acquisition de donnée avec
communication sans fil. Par exemple, la mesure de température à distance. Les informations
collectées par cette application peuvent aider à la surveillance de machines à distance,
exploitées ou stockées dans une base de données pour faire des statistiques.
Enfin, on conclue notre travail par un aperçu des résultats obtenus lors d’un essai de
simulation.
6
CHAPITRE I
7
Introduction
Ainsi, même s’il peut exister une communication bidirectionnelle au niveau du contrôle
(en particulier pour la configuration ou pour initier des demandes de communication), la
communication des données suit un flux monodirectionnel des producteurs vers les
consommateurs. « 1 »
2 Amplificateur de signal : Cette étape permet d’adapter le niveau du signal issu du capteur à
la chaîne globale d’acquisition.
3 Filtre d’entrée : Ce filtre est communément appelé filtre anti-repliement. Son rôle est de
limiter le contenu spectral du signal aux fréquences qui nous intéressent. Ainsi il élimine les
parasites. C’est un filtre passe bas que l’on caractérise par sa fréquence de coupure et son
ordre.
6 La zone de stockage : Elle peut être un support de traitement (DSP, ordinateur), un élément
de sauvegarde (RAM,Disque dur) ou encore une transmission vers un récepteur situé plus loin.
8 Le filtre de sortie : Son rôle est de « lisser » le signal de sortie pour ne restituer que le signal
utile. Il a les mêmes caractéristiques que le filtre d’entrée.
10 Performances globale
On peut définir la vitesse limite d’acquisition. Elle va dépendre du temps pris pour effectuer
les opérations de :
-Echantillonnage Tech
-Conversion Tconv
-Stockage Tstock
Ainsi la somme de ces trois temps définit le temps minimum d’acquisition et donc la fréquence
maximum de fonctionnement de la chaîne :
La numérisation d’un signal génère un code binaire sur N bits. On obtient donc une
précision de numérisation de %21N.
Il faut donc que tous les éléments de la chaîne de conversion aient au moins cette précision. On
leur demande en général une résolution absolue de (0.5*%21N). « 2 »
10
Les premiers systèmes de contrôle (production, automobile...) étaient basés
exclusivement sur l’être humain (l’opérateur). Ce dernier est en charge d’agir sur le système en
fonction d’une sensation (observation) ou d’une perception de l’état de processus contrôlé.
Avec l’arrivée des systèmes automatisés, que ce soit dans l’industrie (les systèmes de
production) ou dans la vie courante (électroménager, automobile...), on assiste à une réduction
de l’intervention de l’opérateur qui se réduit à donner des ordres ou des consignes de haut
niveau.
11
Une information “ en entrée ” est acquise par l’intermédiaire de capteurs pour produire
des mesures. Une mesure est une représentation numérique ou analogique de grandeurs
physiques qui reflètent l’état de l’environnement physique. L’état de l’environnement physique
peut être représenté par une ou plusieurs mesures. L’état de l’environnement physique étant
variable, une mesure numérique est un flot de données, c’est-à-dire un ensemble infini
d’occurrences consécutives, noté occi représentant une grandeur physique mesurée occ de
l’environnement physique ou i représente le numéro de la iéme l’occurrence de la mesure.
Les flots d’informations naviguent dans le système de contrôle à partir des capteurs jusqu’à
l’application de contrôle. L’ensemble des entités traversées par ces flots d’informations est
appelé : chaîne d’acquisition des données. « 3 »
Les spécificités temps réel des systèmes de contrôle de processus influent le processus
de développement. En particulier, une évaluation des caractéristiques temporelles lors de
développement est nécessaire pour assurer leur validation. Ainsi, les travaux font le constat
que si les caractéristiques (les lois) temporelles des flots d’informations en provenance des
capteurs ou à destination des actionneurs ne sont pas prises en compte lors du développement,
la validation du système est incorrecte vis-à-vis de propriétés temporelles qu’il doit satisfaire.
En effet, le système de contrôle évolue, non seulement en fonction des valeurs des
informations “ en entrée ”, mais aussi en fonction de leur qualité d’acquisition (précision,
retard,...). Pour les systèmes de contrôle mettent l’accent sur deux propriétés temporelles
importantes pour les flots “ en entrées ” qui sont la loi d’arrivée et la loi de retard. « 3 »
I.7 Conclusion
12
CHAPITRE II
Les Capteurs
13
Introduction
Dans ce deuxième chapitre nous parlerons des capteurs, leur domaine d’utilisation et
ses diffèrent type, puis on a illustré les réseaux de capteur sans fil RCSF.
Avec les capteurs, on obtient une représentation numérique de l’état de processus. Les
grandeurs physiques ainsi mesurées permettent de guider la production, la maintenance ou
l’utilisation d’un système. Un capteur du point de vue de l’utilisateur doit englober les
fonctions suivantes :
14
Conditionnement : c’est l’acte de mettre en forme le signal mesuré pour le traduire en une
grandeur qui permet le traitement. Le conditionnement sert aussi à réduire le degré de
distorsion.
Communication : c’est l’association établie entre des unités fonctionnelles pour acheminer
des informations. « 4 »
Échantillonnage
15
Les quantités t et x représentent respectivement la période d’échantillonnage
temporelle et spatiale, S et s les fréquences d’échantillonnage correspondantes, et 0 la
fréquence temporelle maximale.
Il est à noter que les données ainsi acquises sont le résultat de processus physiques et
sont donc corrélées de manière très particulière. Par exemple, la densité spectrale de puissance
d’un champ acoustique spatio-temporel large bande possède une forme de papillon, comme
illustré par la Figure.6.
La caractéristique clef de ce spectre est qu’il est non-séparable. Ceci signifie qu’un
échantillonnage séparable est potentiellement sous-optimal. En effet, un échantillonnage en
quinconce (non-séparable) permet d’obtenir un recouvrement spectral bien plus efficient que
celui obtenu par un échantillonnage rectangulaire (séparable).
Ce fait sera d’une grande utilité dans le contexte de la compression distribuée abordée à
la section suivante. Notons néanmoins que, dans la plupart des cas, le support des densités
spectrales de puissance liée aux phénomènes physique n’est pas fini.
Une faible quantité d’aliasing au niveau spatial est donc inévitable.
Cependant, il est parfois possible de compenser une densité spatiale moindre par une densité
temporelle plus importante.
Dans le cas de l’équation de la chaleur, par exemple, il est possible d’obtenir une super-
résolution spatiale grâce à un sur-échantillonnage temporel.
Compression Distribuée
La capacité des liens de communication est faible car la puissance de transmission des
capteurs est limitée. Il faut donc représenter les échantillons obtenus de la manière la plus
compacte possible. Ce processus est généralement appelé compression, ou codage de source.
Plus précisément, le but de la compression est d’utiliser le débit de communication le plus
faible possible tout en garantissant de pouvoir reconstruire les échantillons à la station de base
avec une erreur n’excédant pas une distorsion donnée. Le débit moyen est mesuré en bits par
échantillon, et la distorsion est généralement calculée comme l’erreur quadratique moyenne
par échantillon.
- capteurs passifs : Il s’agit d’impédances (très souvent des résistances) dont l’un des
paramètres déterminants est sensible au mesurande.
17
- effet thermoélectrique :
Un circuit formé de deux conducteurs de nature chimique différente, dont les jonctions sont à
des températures T1 et T2, est le siège d'une force électromotrice e (T1,T2).
- effet piézoélectrique : Certain cristaux ont une polarisation spontanée qui dépend de la
température.
- effet photoémissif : Les électrons libérés sont émis hors de la cible éclairée et forment un
courant électrique.
- effet photovoltaïque : Tension aux bornes d’une jonction PN crée par électrons et des trous
libérés par un flux lumineux.
- effet photo électromagnétique : Libération de charges électriques dans la matière sous
l'influence d'un rayonnement lumineux ou plus généralement d'une onde électromagnétique
dont la longueur d'onde est inférieure à un seuil caractéristique du matériau.
- effet Hall : Un matériau parcouru par un courant I et soumis à une induction B faisant un
angle Θ avec le courant fait apparaître une tension vH
vH = KH . I . B . Sin Θ
18
- effet induction électromagnétique : La variation du flux d'induction magnétique dans un
circuit électrique induit une tension électrique.
- corps d’épreuve : Impédance dont l’un des paramètres est sensible au mesurande.
- Les variations d'impédance ne sont mesurables qu’en intégrant le capteur dans un circuit
électrique. (à alimenter) → Z = f(géométrie, dimensions, propriétés électriques [ρ], [μ],[ε])
- variations géométrique :
Capteur à élément mobile
Capteur à élément déformable
- variation des propriétés des matériaux : Correspondance univoque entre la valeur de la
grandeur et celle de l’impédance du capteur. « 6 »
19
II.3 Capteur intelligent
Le capteur intelligent est un capteur intégrant une interface de communication
bidirectionnelle et un microcontrôleur/DSP.
Cette architecture générique regroupe les composants de base qui permettent d’assurer
les fonctionnalités attendues d’un capteur intelligent (mesure, validation, configuration,
communication).
20
Fonctionnalité MESURE : Pour un capteur intelligent, la fonctionnalité MESURE intègre les
aspects métrologiques et de traitement de signal dans le but d’avoir une mesure opérationnelle
qui est une mesure validée directement utilisable pas les différents composants du système.
Elle doit décoder et interpréter les ordres et messages qui parviennent au capteur intelligent.
Elle doit également mettre en forme (datation) et transmettre les informations du capteur
intelligent vers l’environnement.
21
Un capteur basique ou intelligent, doit être associé à un composant en charge des
activités de mesure, configuration, validation, communication. Ce composant s’appuie sur une
partie matérielle en charge des composants de type transduction et acquisition et sur une partie
logicielle en charge des traitements et des communications avec l’application de contrôle. « 7 »
22
Un exemple de réseaux de capteurs est fourni dans la Figure 11 : les capteurs sont
déployés d’une manière aléatoire dans une zone d’intérêt, et une station de base, située au
milieu de cette zone, est chargée de récupérer les données collectées par les capteurs.
Lorsqu’un capteur détecte un événement pertinent, un message d’alerte est envoyé à la
station de base par le biais d’une communication entre les capteurs. Les données collectées
sont traitées et analysées par des machines puissantes.
La miniaturisation des capteurs, le coût de plus en plus faible, la large gamme des types
de capteurs disponibles ainsi que le support de communication sans fil utilisé, permettent aux
réseaux de capteurs de se développer dans plusieurs domaines d’application. Ils permettent
aussi d’étendre les applications existantes.
Les réseaux de capteurs peuvent se révéler très utiles dans de nombreuses applications
lorsqu’il s’agit de collecter et de traiter des informations provenant de l’environnement. Parmi
les domaines où ces réseaux peuvent offrir les meilleures contributions, on cite les domaines:
militaire, surveillance, environnemental, médical, domestique, etc.
Applications militaires
Le faible coût et le déploiement rapide sont des caractéristiques qui ont rendu les
réseaux de capteurs efficaces pour les applications militaires. Plusieurs projets ont été lancés
pour aider les unités militaires dans un champ de bataille et protéger les villes contre des
attaques, telles que les menaces terroristes. Le projet DSN (Distributed Sensor Network) au
DARPA (Defense Advanced Research Projects Agency) était l’un des premiers projets dans
les années 80 ayant utilisé les réseaux de capteurs pour rassembler des données distribuées.
23
Les chercheurs du laboratoire national Lawrence Livermore ont mis en place le réseau
WATS (Wide Area Tracking System) . Ce réseau est composé de détecteurs des rayons
gamma et des neutrons pour détecter et dépister les dispositifs nucléaires. Il est capable
d’effectuer la surveillance constante d’une zone d’intérêt. Il utilise des techniques d’agrégation
de données pour les rapporter à un centre intelligent.
Ces chercheurs ont mis en place ensuite un autre réseau appelé JBREWS (Joint
Biological Remote Early Warning System) pour avertir les troupes dans le champ de bataille
des attaques biologiques possibles. Un réseau de capteurs peut être déployé dans un endroit
stratégique ou hostile, afin de surveiller les mouvements des forces ennemies, ou analyser le
terrain avant d’y envoyer des troupes (détection des armes chimiques, biologiques ou
radiations).
Applications à la surveillance
Applications environnementales
Le contrôle des paramètres environnementaux par les réseaux de capteurs peut donner
naissance à plusieurs applications. Par exemple, le déploiement des thermo-capteurs dans une
forêt peut aider à détecter un éventuel début de feu et par suite faciliter la lutte contre les feux
de forêt avant leur propagation. Le déploiement des capteurs chimiques dans les milieux
urbains peut aider à détecter la pollution et analyser la qualité d’air. De même leur déploiement
dans les sites industriels empêche les risques industriels tels que la fuite de produits toxiques
(gaz, produits chimiques, éléments radioactifs, pétrole, etc.).
Dans le domaine de l’agriculture, les capteurs peuvent être utilisés pour réagir
convenablement aux changements climatiques par exemple le processus d’irrigation lors de la
détection de zones sèches dans un champ agricole. Cette expérimentation a été réalisée par
Intel Research Laboratory and Agriculture and Agri-Food Canada sur une vigne à British
Columbia.
24
Applications médicales
Dans le domaine de la médecine, les réseaux de capteurs peuvent être utilisés pour
assurer une surveillance permanente des organes vitaux de l’être humain grâce à des micro-
capteurs qui pourront être avalés ou implantés sous la peau (surveillance de la glycémie,
détection de cancers à l’étape précoce, etc.). Ils peuvent aussi faciliter le diagnostic de
quelques maladies en effectuant des mesures physiologiques telles que: la tension artérielle,
battements du coeur, etc. à l’aide des capteurs ayant chacun une tâche bien particulière. Les
données physiologiques collectées par les capteurs peuvent être stockées pendant une longue
durée pour le suivi d’un patient. D’autre part, ces réseaux peuvent détecter des comportements
anormaux (chute d’un lit, choc, cri, etc.) chez les personnes dépendantes (handicapées ou
âgées).
Applications domestiques
Avec le développement technologique, les capteurs peuvent être embarqués dans des
appareils, tels que les aspirateurs, les fours à micro-ondes, les réfrigérateurs, les
magnétoscopes, etc..
Ces capteurs embarqués peuvent interagir entre eux et avec un réseau externe via
Internet pour permettre à un utilisateur de contrôler les appareils domestiques localement ou à
distance. Le déploiement des capteurs de mouvement et de température dans les futures
maisons dites intelligentes permet d’automatiser plusieurs opérations domestiques telles que :
la lumière s’éteint et la musique s’arrête quand la chambre est vide, la climatisation et le
chauffage s’ajustent selon les points multiples de mesure, l’alarme est déclenchée par le
capteur anti-intrusion quand un étranger veut pénétrer dans la maison.
Applications commerciales
Il est possible d’intégrer des capteurs au processus de stockage et de livraison dans le
domaine commercial. Le réseau ainsi formé pourra être utilisé pour connaître la position, l’état
et la direction d’un paquet. Il devient alors possible pour un client qui attend la réception d’un
paquet, d’avoir un avis de livraison en temps réel et de connaître la localisation actuelle du
paquet.
Pour les entreprises manufacturières, les réseaux de capteurs permettront de suivre le
procédé de production à partir des matières premières jusqu’au produit final livré. Grâce aux
réseaux de capteurs, les entreprises pourraient offrir une meilleure qualité de service tout en
réduisant leurs coûts.
25
II.4.2 Caractéristiques des réseaux de capteurs sans fil
Un réseau de capteurs présente les caractéristiques suivantes :
Absence d’infrastructure : les réseaux Ad-hoc en général, et les réseaux de capteurs
en particulier se distinguent des autres réseaux par la propriété d’absence
d’infrastructure préexistante et de tout genre d’administration centralisée.
Taille importante : un réseau de capteurs peut contenir des milliers de nœuds capteurs.
Interférences : les liens radio ne sont pas isolés, deux transmissions simultanées sur
une même fréquence, ou utilisant des fréquences proches, peuvent interférer.
Topologie dynamique : les capteurs peuvent être attachés à des objets mobiles qui se
déplacent d’une façon libre et arbitraire rendant ainsi la topologie du réseau
fréquemment changeante.
Sécurité physique limitée : les RCSF sont plus touchés par le paramètre de sécurité
que les réseaux filaires classiques. Cela se justifie par les contraintes et limitations
physiques qui font que le contrôle des données transférées doit être minimisé.
Bande passante limitée : une des caractéristiques primordiales des réseaux basés sur la
communication sans fil est l’utilisation d’un médium de communication partagé. Ce
partage fait que la bande passante réservée à un nœud est limitée.
26
II.4.4 Spécificités des RCSF
Topologie : la topologie que l'on retrouve de manière classique au sein des RCSF est
représentée par la Figure 12. où les nœuds sont déployés aléatoirement dans une zone d’intérêt.
Chaque nœud peut communiquer directement avec les autres nœuds qui sont situés dans sa
zone de couverture et un nœud qui souhaite communiquer avec un nœud distant doit faire
transiter son message à travers des nœuds relais pour l'atteindre. On parle dans ce cas de figure
de communication multi-saut ou multi-hop « 7 »
Par ailleurs, les RCSF possèdent le plus souvent une, voire plusieurs stations de base.
Ces stations de base ont pour mission de collecter les informations circulant sur le réseau, de
les stocker ou de les transmettre directement ou périodiquement via une liaison Internet ou une
liaison GSM à une autre entité. Les stations de base peuvent être un ordinateur portable ou un
capteur de puissance plus grande que les autres nœuds classiques. Elles ont le plus souvent un
rôle de contrôleur du réseau et servent d'intermédiaire entre les utilisateurs du réseau et le
réseau lui-même.
Il existe d'autres topologies dans lesquelles les stations de base peuvent être mobiles,
comme par exemple une station de base fixée à un avion ou un drone, afin de survoler la zone
de couverture du réseau pour récupérer les informations des capteurs. De la même manière, les
nœuds capteurs peuvent être mobiles comme dans le cas où les capteurs seraient portés par des
individus ou des animaux.
27
Medium : Le médium utilisé par les RCSF est l'onde radio. Trois grandes technologies radios
ont été utilisées pour des applications à bases de réseaux de capteurs. Ces trois technologies
sont :
- IEEE 802.11x/WiFi : le protocole de communication WiFi est très certainement le protocole
le plus utilisé pour toutes les applications sans fil. Il offre une large bande passante (11 à 320
Mbits/secondes) qui a permis de généraliser l'utilisation de la technologie sans fil dans les
réseaux classiques WLAN. Les premiers capteurs ont eu recours à ce protocole pour permettre
la communication entre nœuds. Or, cette technologie exige une consommation d’énergie trop
importante. Par conséquent, la durée de vie de capteurs alimentés par des piles ne dépasse que
rarement quelques heures. C'est pourquoi les applications de capteurs à base de communication
sans fil WiFi ont été négligées.
- IEEE 802.15.4/Zigbee : cette norme a été développée par la communauté industrielle Zigbee
Alliance, dans le but commun de définir un protocole de communication avec un faible coût
énergétique et un faible coût de production des composants nécessaires pour son utilisation.
Dans cette optique le protocole Zigbee est basé sur la standard IEEE 802.15.4 qui définit sa
couche PHY et MAC et qui permet de prolonger théoriquement la durée de vie d'un noeud sur
plusieurs années. L'autre point fort de ce protocole est qu'il propose le déploiement de réseau
dense à plus de 65000 noeuds avec une portée de l'ordre de 100 mètres pour un débit de 250
Kb/s. Ces caractéristiques font aujourd'hui ZigBee le principal protocole utilisé dans les
réseaux de capteurs.
28
- Routage des données : Pour limiter le nombre de communications coûteuses en énergie, les
RCSF requièrent des protocoles de routage efficaces. Une des solutions employées par les
protocoles de routage est la clustérisassions, qui divise le réseau en plusieurs clusters. Dans
chacun de ces clusters, un nœud maître (cluster-head) est élu et aura pour mission de récupérer
les informations des membres du cluster dont il a la charge pour les transmettre aux autres
clusters et inversement. Le choix du nœud maître dans un protocole de routage est désigné
selon certains critères tels que l’énergie, pour augmenter la durée de vie du réseau.
D'autres problèmes de routage doivent aussi être pris en compte pour limiter le nombre
de communications comme les problèmes d'implosion ou de chevauchement.
29
FIGURE 14 : PHENOMENE D'IMPLOSION
Tolérance aux fautes : Dans les RCSF, un ou plusieurs capteurs peuvent ne pas fonctionner
correctement, car les capteurs sont des entités sensibles aux altérations d'états comme des
phénomènes climatiques (humidité, chaleur, électromagnétisme) ou du fait d'une batterie
faible. Dans ces cas, le réseau doit être capable de détecter ce type d'erreur est d'y remédier, en
cherchant par exemple à modifier ses tables de routages pour trouver un autre chemin afin de
transmettre l'information et permettre que le réseau soit toujours opérationnel. De la même
manière on doit pouvoir trouver le moyen pour détecter les capteurs défaillants qui envoient
des informations erronées.
30
Mise à l'échelle : Le nombre de capteurs utilisés dans les RCSF peut varier de quelques entités
à plusieurs dizaines de milliers. C'est d'ailleurs la principale utilité des réseaux de capteurs qui
doivent pouvoir s'auto-organiser à une grande échelle et être efficace quel que soit la taille du
réseau. Pour cela les protocoles des RCSF doivent être capables de fonctionner et de s'adapter
selon le nombre de noeuds.
Energie : Les capteurs sont équipés de batteries, comme par exemple des piles LR6 dans le
cas des MicaZ ou des TelosB. L'énergie de ces batteries est limitée (plusieurs jours à quelques
années). De plus, les RCSF quand ils sont déployés, le sont souvent dans des zones à accès
difficiles. Il devient alors inenvisageable de vouloir changer les batteries des capteurs. Si le
nombre des capteurs dépasse la centaine d'entités, il est encore plus difficile d'intervenir pour
trouver le capteur défaillant et changer sa batterie.
La consommation de l'énergie des RCSF doit être la plus faible possible. Dans ce but, les
capteurs actuels ont des périodes de veille durant leur inactivité pour préserver leur batterie.
Enfin les communications sont les coûteuses en termes de consommation d’énergie. Il est donc
fortement nécessaire de limiter le nombre de communications entre capteurs et si possible la
quantité de calculs.
Puissance de calcul : Malgré les progrès récents dans la fabrication de capteurs de plus en
plus puissants, les capteurs actuels souffrent d'un manque de puissance de calcul (par exemple
seulement 16 Mhz de puissance et 128Koctets de mémoire programmable pour un capteur
MicaZ). Cette faible puissance ne permet pas d'utiliser des algorithmes complexes, et
particulièrement des algorithmes cryptographiques gourmands en ressources CPU. De plus, la
vocation des capteurs sans fil est d'être en très grand nombre et leur utilisation dans des
applications avec un nombre de nœuds élevé nécessite l'utilisation de capteurs bons marchés,
ce qui implique des capteurs avec une puissance de calcul très faible. La faiblesse de puissance
de calcul est aussi préjudiciable pour le temps de réponse du réseau. Si l'on demande à un
capteur d'effectuer de nombreux calculs, la latence va sensiblement augmenter.
Sécurité : Comme évoqué précédemment les RCSF nécessitent dans de nombreuses
applications des solutions qui assurent la sécurité des informations circulant sur le réseau. La
sécurité des informations transitant dans les RCSF doivent répondre à plusieurs
prérequis. « 8 »
31
II.5 Conclusion
Dans ce chapitre, on a présenté les capteurs, leurs fonctionnalités et leurs architectures.
Puis, on a présenté les RCSF et leurs spécificités pour bien engendrer le problème traité dans
ce projet qui consiste à développer une application dans laquelle il y a l’envoi de l’information
Dans le chapitre qui suit, on présente les outils qui permettent de développer une chaine
32
CHAPITRE III
33
Introduction
En langage courant, c'est le composant utilisé pour faire la liaison entre l'ordinateur et le
port série. L'ordinateur envoie les données en parallèle (autant de fils que de bits de données).
Il faut donc transformer ces données pour les faire passer à travers une liaison série qui utilise
un seul fil pour faire passer tous les bits de données.
Constitution d'une trame UART : Une trame UART est constituée des bits
suivants :
Niveaux de tension : Les niveaux de tension sont de type TTL soit 0 V pour le
niveau bas et +5V pour le niveau haut.
34
Vitesse de transmission : Afin de faciliter l'interopérabilité entre périphériques
(PC, microcontrôleur, modem, …) des vitesses de transmission sont normalisées
par multiples et sous-multiples de 9600 baud, l'unité baud correspondant à un bit
par seconde :
110 baud
300 baud
1 200 baud
2 400 baud
4 800 baud
9 600 baud
19 200 baud
38 400 baud
57 600 baud
115 200 baud
230 400 baud (selon la fréquence d'oscillation employée)
460 800 baud
921 600 baud (« environ 1 mégabaud »)
1 843 200 baud
3 686 400 baud
Diagramme UART
Configuration
Pour pouvoir communiquer, les deux entités connectées doivent partager les mêmes
paramètres de transmission.
« 9600 7I2 » : 9600 bauds, 7 bits de données, parité impaire (I), 2 bits de stop.
« 115200 8N1 » : 115200 bauds, 8 bits de données, pas de parité (N), 1 bit de stop.
35
III.1.2 Le protocole ZigBee
ZigBee est un protocole de haut niveau permettant la communication de petites radios, à
consommation réduite, basée sur le standard IEEE 802.15.4 pour les réseaux à dimension
personnelle (Wireless Personal Area Networks : WPANs). Ratifiées en 2004, les
spécifications de ZigBee 1.0 sont disponibles auprès des membres de la communauté
industrielle ZigBee Alliance. « 9 »
FIGURE 18 : ZIGBEE/BLUETOOTH/WIFI…
36
Zigbee fonctionne sur la bande de fréquences des 2,4 GHz et sur 16 canaux. Sa portée
est d'une dizaine de mètres, et peut atteindre 150 mètres en extérieur. Les débits autorisés sont
relativement faibles, entre 20 et 250 Kbits/s, mais c'est véritablement sa très faible
consommation électrique qui en fait son atout principal.
ZigBee recourt à l’adressage sur 16 bits qui autorise, en théorie, l’utilisation de 2^16
nœuds par réseau personnel (PAN). En pratique, le nombre de nœuds est limité en raison du
temps d’attente des paquets de données. On estime donc que les réseaux en étoile peuvent
accueillir moins de 2000 nœuds.
La compatibilité des produits ZigBee est conditionnée par les profils ZigBee.
L’utilisation de profils permet de garantir l’interopérabilité au niveau des applications. Outre le
protocole, le profil définit le contenu du paquet de données envoyé à un autre dispositif. Dans
chaque profil sont définis un ID unique, les types d’équipements, le format des messages,
l’encodage du contenu et l’interprétation des clusters. « 9 »
La spécification initiale de ZigBee propose un protocole lent dont le rayon d’action est
relativement faible, mais dont la fiabilité est assez élevée, le prix de revient faible et la
consommation considérablement réduite. Elle s’applique aux équipements de contrôle et de
surveillance basse consommation en réseau sans fil basés sur une norme ouverte internationale.
37
En 2005, une estimation du coût unitaire pour un nœud ZigBee a révélé un prix de
120 DA par unité dans le cadre d’une production en très grand nombre. Il faut bien sur ajouter
le prix du microcontrôleur qui commande le circuit et augmente légèrement le prix. Pour
information, la technologie Bluetooth, lancée en 1998, annonçait à cette époque un prix
unitaire de production compris entre 500 et 700DA, maintenant redescendu à moins de
400DA. « 9 »
c. Caractéristiques de ZigBee
d . Architecture Zigbee
38
FIGURE 19 : ARCHITECTURE ZIGBEE
39
II.2 PRESENTATION DU MATIEL UTILISER
On va présenter les deux parties HARD ET SOFTWARE pour notre travaille
III.2.1 HARDWARE
Arduino est une plateforme de prototypage à bas coût sous licence Creative Commons.
Basée sur les microcontrôleurs ATMEL, elle permet de réaliser rapidement des projets
électroniques sur les trois plateformes Linux, Mac et Windows.
Il est peut être utilisé pour construire des objets interactifs indépendants (prototypage
rapide), ou bien peut être connecté à un ordinateur pour communiquer avec ses logiciels (ex. :
Macromedia Flash, Processing, Max/MSP, Usine Hollyhock, Pure Data, SuperCollider …). En
2011, les versions vendues sont préassemblées. Des informations sont fournies pour ceux qui
souhaitent assembler l'Arduino eux-mêmes.
«Le projet Arduino a reçu un titre honorifique à l'Ars Electronica 2006, dans la
catégorie Digital Communities ». « 10 »
40
Description du Matériel
Un module Arduino est généralement construit autour d'un microcontrôleur Atmel AVR
(ATmega328 ou ATmega2560 pour les versions récentes, ATmega168 ou ATmega8 pour les
plus anciennes), et de composants complémentaires qui facilitent la programmation et
l'interfaçage avec d'autres circuits. Chaque module possède au moins un régulateur linéaire 5 V
et un oscillateur à quartz 16 MHz (ou un résonateur céramique dans certains modèles).
Le microcontrôleur est préprogrammé avec un bootloader de façon à ce qu'un programmateur
dédié ne soit pas nécessaire.
Les modules sont programmés au travers d'une connexion série RS-232, mais les
connexions permettant cette programmation diffèrent selon les modèles. Les premiers Arduino
possédaient un port série, puis l'USB est apparu sur les modèles UNO, tandis que certains
modules destinés à une utilisation portable se sont affranchis de l'interface de programmation,
relocalisée sur un module USB-série dédié (sous forme de carte ou de câble).
L'Arduino utilise la plupart des entrées/sorties du microcontrôleur pour l'interfaçage
avec les autres circuits.
Arduino Uno
La carte Arduino Uno est une carte à microcontrôleur basée sur ATmega328.
Elle dispose :
de 14 broches numériques d'entrées/sorties (dont 6 peuvent être utilisées en sorties
PWM (largeur d'impulsion modulée)),
de 6 entrées analogiques (qui peuvent également être utilisées en broches entrées/sorties
numériques),
d'un quartz 16Mhz,
d'une connexion USB,
d'un connecteur d'alimentation jack,
d'un connecteur ICSP (programmation "in-circuit"),
et d'un bouton de réinitialisation (reset). « 10 »
41
FIGURE 21 : COMPOSANT ARDUINO UNO
La carte Arduino Uno diffère de toutes les cartes précédentes car elle n'utilise par le
circuit intégré FTDI usb-vers-série. A la place, elle utilise un Atmega8U2 programmé en
convertisseur USB-vers-série.
La carte UNO et la version 1.0 du logiciel seront la référence des versions Arduino à
venir. La carte Uno est la dernière d'une série de carte USB Arduino, et le modèle de référence
des plateformes Arduino; pour une comparaison avec les versions précédentes. « 10 »
42
Microcontrôleur ATmega328
Tension de fonctionnement 5V
Tension d'alimentation
7-12V
(recommandée)
Tension d'alimentation (limites) 6-20V
Broches E/S numériques 14 (dont 6 disposent d'une sortie PWM)
Broches d'entrées analogiques 6 (utilisables en broches E/S numériques)
Intensité maxi disponible par broche 40 mA (ATTENTION : 200mA cumulé pour
E/S (5V) l'ensemble des broches E/S)
Intensité maxi disponible pour la
50 MA
sortie 3.3V
Intensité maxi disponible pour la Fonction de l'alimentation utilisée - 500 mA max si
sortie 5V port USB utilisé seul
32 KB (ATmega328) dont 0.5 KB sont utilisés par le
Mémoire Programme Flash
bootloader
43
Alimentation :
La carte Arduino Uno peut-être alimentée soit via la connexion USB (qui fournit 5V
jusqu'à 500mA) ou à l'aide d'une alimentation externe. La source d'alimentation est
sélectionnée automatiquement par la carte.
L'alimentation externe (non-USB) peut être soit un adapteur secteur (pouvant fournir
typiquement de 3V à 12V sous 500mA) ou des piles (ou des accus). L'adaptateur secteur peut
être connecté en branchant une prise 2.1mm positif au centre dans le connecteur jack de la
carte. Les fils en provenance d'un bloc de piles ou d'accus peuvent être insérés dans les
connecteurs des broches de la carte appelées Gnd (masse ou 0V) et Vin (Tension positive en
entrée) du connecteur d'alimentation.
VIN. La tension d'entrée positive lorsque la carte Arduino est utilisée avec une source
de tension externe (à distinguer du 5V de la connexion USB ou autre source 5V
régulée). Vous pouvez alimenter la carte à l'aide de cette broche, ou, si l'alimentation est
fournie par le jack d'alimentation, accéder à la tension d'alimentation sur cette broche.
5V. La tension régulée utilisée pour faire fonctionner le microcontrôleur et les autres
composants de la carte (pour info : les circuits électroniques numériques nécessitent une
tension d'alimentation parfaitement stable dite "tension régulée" obtenue à l'aide d'un
composant appelé un régulateur et qui est intégré à la carte Arduino). Le 5V régulé
fourni par cette broche peut donc provenir soit de la tension d'alimentation VIN via le
régulateur de la carte, ou bien de la connexion USB (qui fournit du 5V régulé) ou de
tout autre source d'alimentation régulée.
3V3. Une alimentation de 3.3V fournie par le circuit intégré FTDI (circuit intégré
faisant l'adaptation du signal entre le port USB de votre ordinateur et le port série de
l'ATmega) de la carte est disponible : ceci est intéressant pour certains circuits externes
nécessitant cette tension au lieu du 5V). L'intensité maximale disponible sur cette
broche est de 50mA
44
Entrées et sorties numériques
Chacune des 14 broches numériques de la carte UNO (numérotées des 0 à 13) peut être
utilisée soit comme une entrée numérique, soit comme une sortie numérique, en utilisant les
instructions pinMode, digitalWrite et digitalRead du langage Arduino. Ces broches
fonctionnent en 5V. Chaque broche peut fournir ou recevoir un maximum de 40mA d'intensité
et dispose d'une résistance interne de "rappel au plus" (pull-up) (déconnectée par défaut) de 20-
50 KOhms. Cette résistance interne s'active sur une broche en entrée à l'aide de l'instruction
digitalWrite(broche, HIGH). De plus, certaines broches ont des fonctions spécialisées :
I2C: Broches 4 (SDA) et 5 (SCL). Supportent les communications de protocole I2C (ou
interface TWI (Two Wire Interface - Interface "2 fils"), disponible en utilisant la
librairie Wire/I2C (ou TWI - Two-Wire interface - interface "2 fils") .
LED: Broche 13. Il y a une LED incluse dans la carte connectée à la broche 13.
Lorsque la broche est au niveau HAUT, la LED est allumée, lorsque la broche est au
niveau BAS, la LED est éteinte.
Communication
La carte Arduino Uno dispose de toute une série de facilités pour communiquer avec un
ordinateur, une autre carte Arduino, ou avec d'autres microcontrôleurs. L'ATmega 328 dispose
d'une UART (Universal Asynchronous Receiver Transmitter ou émetteur-récepteur
asynchrone universel en français) pour communication série de niveau TTL (5V) et qui est
45
disponible sur les broches 0 (RX) et 1 (TX). Un circuit intégré ATmega8U2 sur la carte assure
la connexion entre cette communication série vers le port USB de l'ordinateur et apparaît
comme un port COM virtuel pour les logiciels de l'ordinateur. Le code utilisé pour
programmer l'ATmega8U2 utilise le driver standard USB COM, et aucun autre driver externe
n'est nécessaire. Cependant, sous Windows, un fichier .inf est requis.
Le logiciel Arduino inclut une fenêtre terminal série (ou moniteur série) sur l'ordinateur
et qui permet d'envoyer des textes simples depuis et vers la carte Arduino. Les LEDs RX et TX
sur la carte clignote lorsque les données sont transmises via le circuit intégré USB-vers-série et
la connexion USB vers l'ordinateur (mais pas pour les communications série sur les broches 0
et 1). Une librairie Série Logicielle permet également la communication série (limitée
cependant) sur n'importe quelle broche numérique de la carte UNO.
L'ATmega 328 supporte également la communication par protocole I2C (ou interface TWI
(Two Wire Interface - Interface "2 fils") et SPI :
Le logiciel Arduino inclut la librairie Wire qui simplifie l'utilisation du bus I2C. Voir la
documentation pour les détails
Pour utiliser la communication SPI (Interface Série Périphérique), la librairie pour
communication SPI est disponible. « 10 »
Dix-sept versions des cartes de type Arduino ont été produites et vendues dans le
commerce à ce jour dans l'ordre chronologique ci-dessous :
1. Serial Arduino programmé avec une connexion série par connecteur DB9 et utilisant un
ATmega8.
2. Arduino Extreme, programmable via une connexion USB et utilisant un ATmega8.
3. Arduino Mini, une version miniature de l'Arduino utilisant un ATmega168 de type
CMS.
4. Arduino Nano, une version encore plus petite de l'Arduino alimenté par USB et utilisant
un ATmega168 (avant la version 3) ou ATmega328 (à partir de la version 3.0) de type
CMS.
5. LilyPad Arduino, une conception de type minimaliste pour permettre une application
portable utilisant un ATmega168 de type CMS.
6. Arduino NG, programmable via une connexion USB et utilisant un ATmega8.
7. Arduino NG plus, programmable via une connexion USB et utilisant un ATmega168.
8. Arduino Bluetooth(BT), programmable via une connexion Bluetooth et utilisant un
ATmega 3284.
9. Arduino Diecimila, possède une interface USB et utilise un ATmega168 dans un boitier
format DIL28. (16 ko flash, 1 ko SRAM, 0,5 ko EEPROM)
10. Arduino Duemilanove (2009) utilise un Atmega168 et est alimenté en électricité par le
connecteur USB ou une alimentation externe avec commutation automatique5. La
46
nouvelle version6 est équipé d'un ATmega328 (32 ko de flash, 2 ko de SRAM, et 1 ko
d'EEPROM).
11. Arduino Mega est équipé d'un ATmega1280 de type CMS pour avoir des
Entrées/Sorties supplémentaires et de la mémoire (128 ko flash, 8 ko SRAM, 4 ko
EEPROM)7.
12. Arduino Uno utilise un ATmega328 comme les derniers modèles de Duemilanove, mais
alors que le Duemilanove utilisait une puce FTDI pour la programmation via un
connecteur USB, le Uno utilise une puce ATmega8U2 programmé comme un
convertisseur série8.
13. Arduino Mega2560 est équipé d'un ATmega2560 de type CMS, augmentant la mémoire
totale disponible à 256 ko. Il est équipé aussi de la nouvelle puce USB ATmega8U29.
14. Arduino Ethernet est une carte Arduino UNO intégrant un chip Wiznet W5100 pour
rajouter la connectivité Ethernet intégré10.
15. Arduino Leonardo est une version bas coût de l'Arduino UNO à base d'un
ATmega32U4.
16. Arduino DUE est une évolution de l'Arduino Mega2560 avec un micro-contrôleur 32
bits Atmel SAM3X (ARM 32 bits Cortex-M3).
17. Arduino Esplora est une carte dérivée de l'Arduino Leonardo. Elle a la forme d'une
manette de jeu. Contrairement aux autres Arduino, c'est une carte « tout-en-un » qui
comporte de nombreux capteurs (température, accélération, lumière, microphone,
potentiomètre…) ainsi que 4 boutons poussoirs, un potentiomètre et un joystick
analogue.
Les avantages
Pas cher !
Environnement de programmation clair et simple.
Multiplateforme : tourne sous Windows, Macintosh et Linux.
Nombreuses librairies disponibles avec diverses fonctions implémentées.
Logiciel et matériel open source et extensible.
Nombreux conseils, tutoriaux et exemples en ligne (forums, site perso etc...)
Existence de « shield» (boucliers en français) : ce sont des cartes supplémentaires
qui se connectent sur le module Arduino pour augmenter les possibilités comme par
exemple : afficheur graphique couleur, XBEE, GPS, etc..
Par sa simplicité d'utilisation, Arduino est utilisé dans beaucoup d'applications comme
l'électronique industrielle et embarquée…
47
III.2.1.2 XBEE
Présentation des modules XBee
Les modules OEM XBee se présentent sous la forme d’un circuit miniature muni sur le
dessous de 2 connecteurs le rendant facilement intégrable dans votre propre développement.
Le circuit est équipé de sa propre antenne chip ou filaire ou dispose d’une sortie antenne sur
connecteur pour les applications nécessitant le déport de l’antenne.
Les modules XBee fabriqués par Maxtream permettent de mettre en place rapidement
une liaison radio 2.4Ghz de qualité avec un nombre de composants annexes très réduits.
Ces modules peuvent être mis à jour par téléchargement de nouveau firmware sur le site du
constructeur et leur configuration est des plus aisées (commandes de type AT). « 11 »
Deux versions
La famille XBee, en version normal a une portée d’une centaine de mètre (30/100m) en
terrain découvert. Elle se décline également en une version XBee-PRO d’une puissance
supérieure et destiné à couvrir des distances dépassant le kilomètre (100/1600m).
Les deux versions sont totalement compatibles.
Version normale
48
Version pro
49
Antennes : Vous aurez aussi à choisir le type d'antennes du module. En effet, les ondes radios
ont besoin d'antennes pour émettre et recevoir les signaux.
50
FIGURE 25 : TYPE D'ANTENNES DU MODULE
51
La communication en direct sans passer par une Arduino vous permet de configurer
rapidement votre XBee. On verra plus loin dans les cas pratiques qu'on peut aussi configurer le
module en le branchant à l'Arduino. Donc se procurer un explorateur n'est pas indispensable,
mais c'est à conseiller pour débuter car c'est tout de même plus simple.
La communication entre l'ordinateur et le XBee se fait via une liaison série.
Alimentation
L'alimentation doit être comprise entre 2,8V et 3,4V. Dans mes montages j'utilise
l'alimentation stabilisée 3.3V. Dans d'autres exemples, il semblerait qu'assembler deux piles
1,5V ensemble soit suffisant.
Pour être plus autonome, on peut trouver des montages sur le Web avec le régulateur de
tension LM7833 qui sort directement une tension de 3,3V ou bien avec le LM317 qui
permettrait avec des valeurs de résistances adaptées d'obtenir ce que l'on souhaite.
52
III.2.1.3 CAPTEUR DE TEMPERATURE «TMP36»
Description Le TMP36 est un senseur qui se présente sous la forme d'un petit transistor.
Une fois alimenté (entre 3 et 5v), ce petit module sort une tension analogique
directement proportionnelle à la température... « 12 »
• Caractéristiques:
- Tension d'entrée: 2,7 à 5,5 Vcc
- sensibilité : 10 mV/°C
- Précision: ±2°C
- Linéarité: 0,5°C
- Plage d'utilisation: -40°C à +125°C
53
BRONCHEMENT AVEC ARDUINO
une BARRE DE MENUS comme pour tout logiciel une interface graphique (GUI),
une BARRE DE BOUTONS qui donne un accès direct aux fonctions essentielles du
logiciel et fait toute sa simplicité d'utilisation,
un EDITEUR (à coloration syntaxique) pour écrire le code de vos programme, avec
onglets de navigation,
une ZONE DE MESSAGES qui affiche indique l'état des actions en cours,
une CONSOLE TEXTE qui affiche les messages concernant le résultat de la
compilation du programme « 10 »
54
FIGURE 30 : LOGITIEL ARDUINO UNO
55
III.2.2.2 X-CTU
X-CTU est un outil fourni par Digi qui aide dans la programmation de la série de large
Xbee unités.
Par défaut, le réglage des paramètres de communication série sont 9600bauds, 8 bits,
pas de stop, pas de control de flux. « 11 »
56
a- PARAMÉTRAGE DU MODULE XBEE
57
a.2 ) SÉLECTION DU CANAL RF DE COMMUNICATION
Le module peut émettre en RF sur 10 canaux différents ( Cf ). Le canal doit être le même pour
les 2 modules
58
La partie haute de l’adresse du module de destination doit être ‘0’ pour que le module en cours
de configuration s’appaire avec le module de destination
59
a.6 ) DÉFINITION DE LA PUISSANCE D’ÉMISSION.
La puissance d’émission du module peut être réglée ( Elle influe sur la portée du module )
60
III.2.2.3 Matlab et Arduino
1_ Introduction
Le choix académique actuel en matière de logiciel de simulation multi-physique se porte
actuellement sur Matlab.
Il convient alors de s'ouvrir aux possibilités actuelles que cette solution logicielle permet à ce
jour en matière de communication avec l'extérieur d'autant que la situation évolue de jour en
jour...
Il existe deux possibilités d'interfaçage d'arduino avec Matlab.
61
Il suffit alors d'utiliser les composants de la bibliothèque pour synthétiser ce que l'on souhaite
réaliser...
62
3 _ ArduinoTarget :
Arduino est une cible du programme Simulink compilé
Cette solution consiste à utiliser la carte arduino comme une cible. Matlab compile le
programme saisi depuis Matlab/Simulink et le transfert dans l'arduino de façon transparente.
Le programme est alors totalement autonome si on le souhaite. Il peut aussi converser
avec la liaison série...
63
3.1 _ Installation de la cible depuis Matlab 2011 + 2012
Depuis le prompt Matlab taper : targetinstaller
Choisir la cible...
Attendre...
64
III.3.1 Architecture de la réalisation
Montage : L’objectif de ce montage est de faire communiquer un PC avec une carte Arduino à
l’aide du protocole ZigBee .Voici l’architecture de montage :
65
III.3.2 LA MANIPULATION
Programme principal
case 0: return 1;
case 1: return 10;
case 2: return 100;
case 3: return 1000;
case 4: return 10000;
default: return 1;
}
}
/******** Initialisation des ports du PIC **************/
void InitPort(void)
{
/* thermomètre tmp36 */
TRISC = 0x00;
}
/*** à partir d'un nombre, renvoie le chiffre **********/
/*** situé à la position voulue **********/
unsigned char conversion(short temp, unsigned char indice)
{
short aux = ( temp/puiss10(indice) - (temp/puiss10(indice+1))*10 );
unsigned char res = (unsigned char) aux+0x30;
return res;
}
/* envoi de la temperature */
void envoi(short temp)
{
SendByte('\r');DelayMs(100);
SendString("temperature = ");
/* signe négatif si température négative */
if(temp<0)
{
SendByte('-');
DelayMs(100);
}
else
{
SendByte('+');
DelayMs(100);
}
66
/* envoi des chiffres de la température un à un */
SendByte(conversion(temp,2));DelayMs(100);
SendByte(conversion(temp,1));DelayMs(100);
SendByte(',');DelayMs(100);
SendByte(conversion(temp,0));DelayMs(100);
}
void main(void)
{
short temperature;
char counter,slope;
InitPort();
InitUART();
InitXbee();
tmp36_init();
tmp36_start();
Delays(2);
while(1)
{
PORTA=0x00;
temperature=100*(tmp36_readtemp()>>1)-25;
counter= tmp36_counter();
slope= tmp36_slope();
/* pour ne pas diviser par zéro */
if(slope==0) slope=1;
/* calcul final de la température interne */
temperature=(temperature + (100*slope - 100*counter)/slope)/10;
/* on relance la conversion du tmp36 en mode one-shot */
tmp36_start();
envoi(temperature);
PORTA=0xFF;
Delays(5);
}
}
2 - configuration xbee : On a commencez donc par brancher notre XBee sur la carte. Un petit
voyant rouge est allumer nous signalant que la carte est installée. Nous avons lancé le X-CTU
et configuré l'onglet "PC Settings" de la manière suivante :
Baud : 9600
Flow Control : NONE
Data Bits : 8
Parity : NONE
Stop Bits : 1
Puis on clique sur "Test / Query" pour vérifier que la communication passe.
67
FIGURE 33 : CONFIGURATION INITIALE DE X-CTU AVEC LE MODULE XBEE (XB24)
68
FIGURE 34 : CONFIGURATION D'UN XBEE
La plupart des zones sont utiles mais en ce qui nous concerne, nous allons nous
intéresser à 4 zones. La première, ATID est l'identifiant de réseau. Cet identifiant va permettre
à différents réseaux XBee de coexister. Par défaut, sa valeur est de 3332. Il vaut donc mieux le
modifier et en choisir un commun entre tous nos XBee. Choisissez donc le numéro que vous
souhaitez.
Une fois que nos XBee sont tous sur le même réseau, il va falloir créer un réseau de
communication. C'est à dire que chaque XBee possède un identifiant (ATMY) et une
destination (ATDL). Avec 2 XBee, c'est plutôt simple. Enfin, il reste donc la vitesse, soit
ATBD. ArbotiX demande une vitesse de 38400bps.
70
III.5 Aperçu de la solution
Le programme principal commence par effectuer toutes les initialisations des différents
modules (TMP36, ARDUINO et XBee), il lance en suite une conversion de température sur le
TMP36, puis une acquisition de température, la valeur de la température est ensuite formaté en
chaine de caractère ASCII pour être envoyé octet par octet vers le PC.
Ces opérations sont réitérées toutes les secondes, on obtient donc sur le moniteur
ZigBee sur le PC la valeur de la température réactualisée toutes les secondes.
III.6 Conclusion
71
Conclusion générale
72
Bibliographie
« 2 » Chaine de mesure et d’acquisition de donnes _ institut luis pasteur, Thèse doctorat - 2009
« 7 » Antoine Gallais, François Ingelrest, Jean Carle, David Simplot-Ryl. Maintien de la couverture de
surface dans les réseaux de capteurs avec une couche physique non idéale.
CFIP, Colloque Francophone sur l'Ingénierie des Protocoles. 2006.
« 9 » ZIGBEE BASED VOICE CONTROL SYSTEM FOR SMART HOME _Y. Bala Krishna,
[Link] -2011-
73