Download - Rapport interface terminal
MEMOIRE
Présenté à
L’Institut Supérieur d’Informatique
et de Multimédia de Sfax
En vue de l’obtention du diplôme de
LICENCE FONDAMENTALE
en Informatique et Multimédia
intitulé
Commande de robot
Par
Foued ALOUI
Bilel SOUISSI
Soutenu le 3 Juin 2014, devant le jury composé de :
M. Lamia CHAARI Président
B. M. C. Karim MASMOUDI Membre
D. M. E. Mohamed MILADI Encadreur
F. M. G. Bilel BELWEFI Invité Entreprise
Année Universitaire : 2013-2014
A.
Mémoire de stage de Licence fondamentale en Sciences de
l’Informatique
Sciences et Technologies
N° d’ordre : 188
République Tunisienne Ministère de l’Enseignement Supérieur
et de la Recherche Scientifique
Université de Sfax
Institut Supérieur d’Informatique
et de Multimédia de Sfax
Dédicace
Dédicace
Je dédie ce modeste travail à celle qui m’a donnés la vie, le symbole
de tendresse, qui s’a sacrifiée pour mon bonheur et mon réussite, à ma
mère Mariem…
A mon père Mohamed, école de mon enfance, qui a été mon ombre
durant toutes les années des études, et qui a veillé tout au long de ma
vie à m’encourager, à me donner l'aide et à me protéger.
Que dieu le garde et le protège.
A mes adorables sœurs,
A mon frère Nizar,
A mes amis,
A tous ceux qui me sont chères,
A tous ceux qui m’aiment,
A tous ceux que j’aime,
Je dédie ce travail.
Bilel …
Dédicace
Dédicace
A mes chers parents Abidi && Dhahbia,
Que nulle dédicace ne puisse exprimer ce que je leurs dois, pour leur
bienveillance, leur affection et leur soutien… Trésors de bonté, de
générosité et de tendresse, en témoignage de mon profond amour et ma
grande reconnaissance « Que Dieu vous gardes ».
A mes chers frères et à mes chères sœurs.
En témoignage de mes sincères reconnaissances pour les efforts
qu’ils ont consenti pour l’accomplissement de mes études. Je leur dédie
ce modeste travail en témoignage de mon grand amour et ma
gratitude infinie.
Au symbole de pureté,
A mes chers amis, symbole d’amitié,
Pour leur aide et leur soutien moral durant l’élaboration du travail de
fin d’étude.
A toute ma Famille élargie…
A tous mes amis…A tous ceux qui m'aiment et tous ceux qui j’aime…
Foued …
Remerciements
Remerciements
Merci ALLAH (mon dieu) de nous avoir donné la capacité d'écrire
et de réfléchir, la force d'y croire, la patience d'aller jusqu'au bout du
rêve et le bonheur de lever nos mains vers le ciel et de dire " Ya
Kayoum "
Ensuite nous tenons à remercier toute l’équipe pédagogique de
l'institut supérieur d’informatique et de multimédia de Sfax et les
intervenants professionnels responsables.
Avant d’entamer ce rapport, nous profitons de l’occasion pour
remercier tout d’abord notre professeur Monsieur Mohamed Miladi
qui n’a pas cessé de nous encourager pendant la durée du projet, ainsi
pour sa générosité en matière de formation et d’encadrement. Nous le
remercions également pour l’aide et les conseils concernant les
missions évoquées dans ce projet, qu’il nous a apporté lors des
différents suivis, et la confiance qu’il nous a témoigné.
Nous tenons à remercier nos professeurs de nous avoir incités à
travailler en mettant à notre disposition leurs expériences et leurs
compétences.
Merci aussi aux membres de jury Madame Lamia CHAARI et
Monsieur Karim MASMOUDI pour l’attention dont ils ont fait preuve
vis-à-vis de notre travail.
Finalement, nous remercions nos amis qui nous ont encouragés
pendant la durée de travail.
Sommaire
Sommaire
Dédicace ...………………………………………………………………………..
Remerciements ....……………………….…………………….………………….
Table des figures ....…………………………………………….….......................
Glossaire ...………………………………………………………………………..
Introduction générale…………………………………………………………….1
Chapitre 1 : Contexte du projet
I. Introduction ................................................................................................................... 2
II. Contexte .......................................................................................................................... 3 III. Spécification des besoins ............................................................................................... 4
1. Présentation du projet .................................................................................................. 4 2. Cahier des charges ........................................................................................................ 5 3. Tâches à réaliser ............................................................................................................ 5
IV. Objectifs ......................................................................................................................... 6 V. Planning .......................................................................................................................... 6
VI. Conclusion ...................................................................................................................... 7
Chapitre 2 : Les technologies utilisées
I. Technologies de communication .................................................................................. 8
1. Communication sans fils ............................................................................................... 8
1.1. GSM ............................................................................................................................ 8 1.2. Infrarouge ................................................................................................................... 8
1.3. Bluetooth ..................................................................................................................... 8 1.4. Wi-Fi ........................................................................................................................... 9 1.5. 3G ................................................................................................................................ 9
1.6. Uwb ............................................................................................................................. 9 1.7. Zigbee .......................................................................................................................... 9
2. Module de communication Xbee ................................................................................ 10
2.1. Définition .................................................................................................................. 10 2.2. Principales caractéristiques du Xbee ..................................................................... 11 2.3. Communication avec l'ordinateur ......................................................................... 11
II. Les kits de développement .......................................................................................... 12
Sommaire
1. Environnement Arduino ............................................................................................. 12
1.1 Vue d’ensemble ........................................................................................................ 12 1.2 Partie matérielle ....................................................................................................... 13 1.3 Partie logicielle ......................................................................................................... 15
2. L’environnement Raspberry Pi ................................................................................. 15
2.1 Vue d’ensemble ........................................................................................................ 15 2.2 Partie matérielle de Raspberry PI ......................................................................... 16 2.3 Partie logicielle de Raspberry PI ............................................................................ 17
III. Les langages de programmation ................................................................................ 17
1. Programme embarqué ................................................................................................ 17 2. Script de communication ............................................................................................ 17
IV. Solution proposée ........................................................................................................ 18 V. Conclusion .................................................................................................................... 20
Chapitre 3 Réalisation
I. Introduction ................................................................................................................. 21
II. Etude technique ........................................................................................................... 21
1. Configuration des modules Xbee ............................................................................... 21
1.1. Configuration d’un module Xbee avec une carte Raspberry PI ......................... 21
1.2. Configuration du module Xbee avec une carte Arduino ..................................... 25
2. Installation du serveur SSH ....................................................................................... 26 3. Installation du logiciel de connexion à distance ‘putty’ ........................................... 27
4. Réalisation de montage électronique ......................................................................... 27
3.1 Composants électroniques ...................................................................................... 27
3.2 Commande du moteur ............................................................................................. 30 3.3 Montage électronique de la solution proposée ...................................................... 31
III. Présentation du terminal de commande et explication du fonctionnement ........... 34
1. Présentation du terminal de commande .................................................................... 34 2. Explication de fonctionnements ................................................................................. 35
Conclusion générale ............................................................................................................... 37 Perspectives ............................................................................................................................. 38
Annexe du module Xbee ........................................................................................................ 39 Annexe sur Raspberry PI ...................................................................................................... 40 Bibliographie ........................................................................................................................... 41
Table des figures
Table des figures
Figure 1 : Système électronique.……………………………………….………………...…….2
Figure 2 : Système informatique.………………………………………………………………2
Figure 3 : Application domotique……………………………………………………………...3
Figure 4 : Carte de pilotage.…………………………………………….………………….…..5
Figure 5 : Carte de commande……………………………...………….…………………...….5
Figure 6 : Chronogramme de réalisation de projet.…………………….………………….…..6
Figure 7 : Zigbee par rapport les autres protocoles sans fils.………….…………………...…10
Figure 8 : Module Xbee.…………………………………………….…..………………...….11
Figure 9 : Communication avec l’ordinateur.……………………………………………..….11
Figure 10 : Carte Arduino Uno…………………………………….…..……………………..12
Figure 11 : Port USB de la carte Arduino ……………………….…………………………...13
Figure 12 : Les entrées sorties numériques d’Arduino………….……………………………14
Figure 13 : Les entrées analogiques d’Arduino………………...…………………………….14
Figure 14 : Diagramme en block d’une carte Raspberry pi….……………………………….15
Figure 15 : Carte Raspberry Pi réelle ……………………...………………………………....16
Figure 16 : Schéma descriptif proposé pour le projet.………………………………………..18
Figure 17 : Liaison entre carte Raspberry pi et module Xbee..…………....………………….19
Figure 18 : Liaison entre carte Arduino et module Xbee..........................................................19
Figure 19 : Liaison directe entre une carte Raspberry pi et un module Xbee. ……………….21
Table des figures
Figure 20 : Installation des paquetages python ………………………………………………22
Figure 21 : Commande d’ouverture du fichier cmdline.txt……………………………….......22
Figure 22 : Modification du fichier cmdline.txt…………………………………………...….22
Figure 23 : Accès au fichier inittab……..…………………………………….……………....23
Figure 24 : Modification du fichier /etc/inittab…………………………………………….....23
Figure 25 : Redémarrage de la carte Raspberry pi …………………………………………...23
Figure 26 : Configuration du baudrate et du port du communication…… …………………..24
Figure 27 : Terminal de la configuration du paramètres du module Xbee…….……………..25
Figure 28 : Liaison entre carte Arduino et module Xbee …………………………………….25
Figure 29 : Interface du logiciel Arduino …………………………………………………….26
Figure 30 : Configuration du serveur SSH…………………………………….………….......26
Figure 31 : Icône et interface de ‘putty’………………………………………...…………….27
Figure 32 : Montage du diviseur de tension………………………………………..…………28
Figure 33 : Schéma d’un transistor………………………………………………….………..28
Figure 34 : Transistor en mode commutation………………………………………………...29
Figure 35 : Schéma électrique d’un relais...………………………………………….……….29
Figure 36 : Régulateur..……………………………………………………………….………30
Figure 37 : Utilisation d’un potentiomètre……………………………………………...…….30
Figure 38 : Modulation PWM……………………………………………………………..….31
Figure 39 : Montage de la carte de pilotage…………………………………………………..32
Figure 40 : Montage de la carte de commande …………………………………....................32
Table des figures
Figure 41 : Test de fonctionnement avec deux cartes Arduino ………………………..…….33
Figure 42 : Montage d’essai, partie émetteur ………………………………………………..33
Figure 43 : Terminal de commande ………………………………………………………….34
Figure 44 : Connexion à la carte de commande………………………………………………35
Figure 45 : Configuration des paramètres de connexion entre la carte Raspberry pi et le
module Xbee………………………………………………………………………………….36
Figure 46 : Lancement d’ordre ……………………………………………………………….36
Figure 47 : Cryptage de caractère d’ordre ……………………………………………………37
Figure 48 : Décryptage de caractère d’ordre………………………………………………….37
Figure 49 : Fonctionnement de la carte de pilotage…………………………………………..38
Figure 50 : Quelques entrées-sorties du module Xbee…………………….…………………39
Figure 51 : Les GPIOs de la carte Raspberry pi……………………………………………...40
Glossaire
Glossaire
API: Application Programming Interface
CMOS: Complementary Metal Oxide Semi-conductor
CSI: Camera Serial Interface
DSI: Display Serial Interface
EDGE: Enhanced Data rates for GSM Evolution
GSM: Global System for Mobile communications
GPRS: General Packet Radio Services
HDMI: High Definition Multimedia Interface
IHM: Interface Homme Machine.
IEEE: Institute of Electrical and Electronic Engineers.
JTAG: Joint Test Access Group
MIT: Massachusetts Institute of Technology
LFIM : licence fondamentale d’informatique et de multimédia.
LAN: Local Architecture Network
PWM: Pulse Width Modulation
SSH: Secure Shell
ULB: Ultra Large Bande
UMTS: Universal Mobile Telecommunications System
UWB: Ultra WideBand
WLAN: Wireless Local Area Network
Glossaire
WPAN: Wireless Personal Area Networks
Wi-Fi: Wireless Fidelity
3G : Troisième génération
Introduction générale
1
Introduction générale
L’émergence de la technologie des microprocesseurs et l’apparition de plusieurs
organismes de standardisation ont constitue un tournant technologique important qui a permis
aux systèmes embarqués de devenir une réalité très vite perceptible et susceptible d’être
utilisé dans un environnement matériels de faible performances ( si l’on compare au PC de
bureau d’aujourd’hui). Leur succès est en grande partie dû à leurs facilités d’utilisation, aux
nombreux services qu’ils offrent, à la baisse de prix et à l’utilisation optimale et efficace des
ressources et d’énergie.
De ce fait, les systèmes embarqués mobiles à base de microprocesseurs ont été introduit
dans de nombreux domaines d’applications tels que la domotique, les robots, les terminaux de
communication sans fil, etc. Ce dernier consiste à commander un robot d’une manière
distante.
Dans ce cadre s’inscrit notre projet de stage de fin d’étude qui consiste à la réalisation
d’une solution de commande distante d’un chariot, en direction et en vitesse et ce en utilisant
des kits de développement embarqué et des modules de communications Zigbee.
Le présent rapport s’article autour de trois chapitres :
En premier lieu, le premier chapitre s’intéresse à la présentation du projet pour spécifier le
cahier des charges.
Le second chapitre a pour objets de mettre en œuvre les technologies utilisées. A savoir, les
cartes électroniques (Arduino uno, Raspberry PI) et ses méthodes de programmations.
Finalement, le troisième chapitre de notre rapport, concerne la partie réalisation pratique de
notre projet et l’explication de fonctionnement de la communication entre la partie émettrice
et la partie réceptrice moyennant une connexion à distance et les modules de communications
Zigbee.
Chapitre 1
Contexte du
projet
Chapitre 1 : Contexte du projet
2
I. Introduction
Il s’agit en fait de réaliser une combinaison entre l’informatique et l’électronique que nous
avons eu l’occasion d’accomplir au sein de l’Institut Supérieur de l’Informatique et de
Multimédia de Sfax. Nous allons dans ce qui suit ces deux types de systèmes.
- Système électronique : Un système électronique est un système opérant sur de
faibles courants. Il se compose essentiellement d'un calculateur câblé ou programmé,
et est relié sur son entrée à des capteurs et sur sa sorties à des actionneurs [1].
-Figure N°1 : Système électronique-
- Système informatique : Un système informatique est un ensemble d'équipements
destinés au traitement automatique de l'information [2].
Sur la figure 2, nous représentons les différentes parties d’un système informatique.
-Figure N°2 : Système informatique-
- Système embarqué : Un système électronique embarqué est un système électronique et
informatique autonome associant un regroupement de fonctionnalité tel le
conditionnement, l'acquisition de signaux issus de capteurs, le traitement
d'information, le contrôle des actionneurs et aussi le stockage et le transfert
d'information filaire ou radio [3].
Périphériques de sortie :
Imprimante, écran, …
Organes de stockage :
Disque dur, clé USB, …
Périphériques d’entrée :
Clavier, souris, … Unité de
traitement
Chapitre 1 : Contexte du projet
3
II. Contexte
Les systèmes informatiques embarqués sont devenus ces dernières années de plus en plus
complexes, requérant une pluridisciplinarité très large, pour des applications toujours plus
nombreuses. Les applications initiales des systèmes embarqués étaient essentiellement le
spatial et l’aéronautique, pour ensuite devenir des outils de base pour la téléphonie, le
transport, la santé, le commerce électronique, l’éducation, la domotique... autrement dit des
enjeux stratégiques importants. Des disciplines comme la conception de logiciel, les systèmes
et les réseaux sont devenues très importantes pour la conception des systèmes embarqués.
Pour une description des domaines d’utilisation des systèmes embarqués on site, par
exemple la domotique. Comme le montre la figure 3, la domotique est l'ensemble des
technologies qui contrôle nos appareils de la maison via un Smartphone, une tablette ou un
ordinateur c'est ce qu'on appelle de la domotique [4]. Ces objets connectés se contrôlent à
distance et apportent du bien-être et de la sécurité à ses utilisateurs.
-Figure N°3 : Application domotique-
Les systèmes embarqués sont aujourd’hui présent partout autour de nous, on les retrouve
dans les domaines de transport, de l’industrie, la robotique et bien d’autres.
Chapitre 1 : Contexte du projet
4
III. Spécification des besoins
Dans notre projet, nous somme demandé de réaliser un système de contrôle d’un chariot
industriel à distance en se basant sur la communication sans fils entre cette dernière et une
carte de commande (nano ordinateur), en essayant d’exploiter des langages de
programmations et des plateformes électroniques qui sont sur la marché.
1. Présentation du projet
Partant de la base d’un véhicule télécommandé commercialisé, le but du projet est de
piloter un chariot industriel moyennant une connexion à distance. Le contrôle doit pouvoir
s’effectuer à distance par un utilisateur, grâce à une interface homme-machine (IHM) et une
technologie de communication sans fil. La réalisation de ladite solution doit présenter une
flexibilité pour pouvoir l’étendre envers l’utilisation industrielle. La finalité de ce projet est de
contrôler le chariot en utilisant un réseau Zigbee. Cela permet de piloter les déplacements du
chariot sans intervention directe, alors l’utilisateur pourra rester tranquillement assis face à
son poste de travail du coup il ne sera pas limité par un fil reliant le chariot et sa
télécommande. Celui-ci sera, de plus, parfaitement autonome et comprendra une alimentation
embarquée. Son seul lien avec l’utilisateur sera donc la connexion Zigbee.
Le chariot industriel sera ainsi pilotable de n’importe où, car il pourra être considéré comme
un simple périphérique branché sur le réseau comme les autres. Les avantages immédiats d’un
tel projet sont donc une parfaite ergonomie et de nombreuses fonctionnalités pour une
utilisation la plus simple possible. Ainsi, il est facile d’imaginer des applications pratiques de
ce projet. Moyennant quelques modifications, ce véhicule pourrait par exemple s’inscrire dans
la réalisation d’un robot explorateur en milieu dangereux qu’un spécialiste contrôlerait de
n’ importe où dans le monde, s’appuyant sur l’infrastructure réseau existante. On peut, par
exemple, également penser à un robot domestique utilisant ce principe : pour une maison
intelligente déjà équipée d’un réseau Zigbee, la connexion du robot avec l’extérieur ne
nécessite aucune installation matérielle supplémentaire. En équipant le robot d’outils
adéquats, les applications deviennent alors infinies. Le robot pourrait ainsi avertir son
propriétaire de lui même s’il détecte quelque chose d’anormal (fuite de gaz,...). En installant
une reconnaissance de contour, il devient possible pour le robot d’interpréter son
environnement et de devenir parfaitement autonome.
Chapitre 1 : Contexte du projet
5
2. Cahier des charges
Il s’agit de développer une solution embarquée pour la commande sans fil d’un chariot. La
solution intègre 3 parties :
- Commander le moteur du chariot : on peut commander le chariot en sens de
mouvement, en vitesse de mouvement.
- Commande sans fil de la carte de pilotage : en utilisant des composantes électroniques,
on va essayer d’atteindre le succès de pilotage du chariot sans fil.
- Trouver une solution pour se connecter à la carte de commande.
3. Tâches à réaliser
Pour la réalisation du cahier des charges ci-dessous il faut exécuter les tâches suivantes :
- Configuration d’un réseau Xbee : il s’agit de connecter des systèmes embarqués en
utilisant deux modules Xbee pour déployer un réseau sans fil qu’on peut l’utiliser pour
le transfert des commandes entre la carte de commande et celle de pilotage.
- Programmer la carte de pilotage du chariot : il faut que le chariot soit capable de
répondre aux ordres venant de la carte de commande, ainsi cette dernière doit être
programmée d’une façon qu’elle délivre les commandes nécessaires au pilotage.
- Développer la carte de commande : c’est une carte électronique « Raspberry PI » qui
permet la communication avec le chariot.
-Figure N °4 : Carte de pilotage - -Figure N °5 : Carte de commande-
Carte Arduino
M
Carte Raspberry pi
Internet
Ordinateur
Chapitre 1 : Contexte du projet
6
IV. Objectifs
Parmi nos objectifs nous citons :
- Commande en marche avant et marche arrière : il faut que l’utilisateur puisse guider le
robot dans les deux directions, selon son choix.
- Commande en vitesse de marche : l’utilisateur peut gérer la vitesse selon des niveaux
bien déterminés.
- Déploiement d’un réseau zigbee : pour commander le chariot à distance il faut mettre
en place un réseau, qui va être composé de Modules Xbee.
V. Planning
La figure 6 décrit la manière de déroulement de notre travail :
-Figure N° 6 : Chronogramme de réalisation de projet-
Chapitre 1 : Contexte du projet
7
VI. Conclusion
Il ne fait plus aucun doute que l’informatique, l’électronique et la télécommunication
représentent une révolution importante qui a marqué l’humanité durant les dernières années.
En effet, toutes ces disciplines nous apportent de multiples conforts à notre vie. Aucun
domaine n’est resté étranger à ces disciplines qui offrent tant de services aussi bien pour
l’entreprise, pour l’administration ainsi que pour le personnel.
Dans ce contexte, nous avons introduit les besoins de l’application à développer tout en
mettant l’accent sur les fonctionnalités à mettre en œuvre, entre autres, la commande sans fil
d’un chariot industriel via une connexion à distance.
Comme phase de préparation à notre projet, nous allons étudier les différentes composantes
électroniques que nous allons utiliser dans notre implémentation ainsi que les langages de
programmation que nous allons utiliser pour commander ces composantes.
Chapitre 2
Les
technologies
utilisées
Chapitre 2 : Les technologies utilisées
8
I. Technologies de communication
Quand il s'agit de concevoir des systèmes embarqués, interactifs ou bien quand des objets
doivent communiquer entre eux, plusieurs techniques de communication sont envisageables,
parmi eux celles sans fil qui offrent de la mobilité, l’un des aspects principaux des systèmes
embarqués. Dans ce paragraphe nous allons faire le point sur les technologies de
communication sans fil.
1. Communication sans fils
Il existe plusieurs techniques de communication sans fil qui sont différentes en matière de
caractéristiques. Entre autres, le débit offert ainsi que la couverture.
1.1. GSM
Le réseau GSM constitue au début du 21ème siècle le standard de téléphonie mobile le plus
utilisé en Europe. Il s'agit d'un standard de téléphonie dit « de seconde génération » (2G) car,
contrairement à la première génération de téléphones portables, les communications
fonctionnent selon un mode entièrement numérique [5].
1.2. Infrarouge
Le rayonnement infrarouge est le rayonnement électromagnétique dont la longueur d'onde
est comprise entre 700 nanomètres et 1 millimètre. Ainsi, il se situe entre la limite rouge du
spectre visible et les plus courtes micro-ondes. Tous les corps dont la température est
supérieure au zéro absolu émettent un rayonnement infrarouge [6].
1.3. Bluetooth
Le Bluetooth est un protocole de connexion sans fil à courte portée qui ne dépasse pas une
dizaine de mètres. Par l'intermédiaire de celui-ci, il est possible de connecter différents
appareils entre eux (ordinateurs, téléphones portables...) [7].
Chapitre 2 : Les technologies utilisées
9
1.4. Wi-Fi
Le Wi-Fi est un ensemble de protocoles de communication sans fil régi par les normes du
groupe IEEE 802.11. Un réseau Wi-Fi permet de relier sans fil plusieurs appareils
informatiques avec un débit élevé (3Mbits/s) et 100m comme zone de
couverture (ordinateur, routeur, décodeur Internet, etc.) au sein d'un réseau informatique afin
de permettre la transmission de données entre eux [8].
1.5. 3G
La troisième génération (3G) désigne une génération de normes de téléphonie mobile. Elle
est représentée principalement par les normes Universal Mobile Télécommunications
System (UMTS ) , permettant des débits qui sont bien plus rapides qu'avec la génération
précédente, par exemple le GSM [9].
Les premières applications grand public de la 3G sont l'accès à Internet, le visionnage de
vidéos, voire d'émissions de télévision et la visiophonie .
1.6. Uwb
L’UWB, (en français ULB) est une technique de modulation radio qui est basée sur la
transmission d'impulsions de très courte durée. L’UWB peut être utilisé en tant que technique
de communication sans fil, qui fournit des taux de transfert réseaux très élevés sur des
distances relativement courtes et à faible puissance [10].
1.7. Zigbee
Zigbee est un protocole de haut niveau permettant la communication de petites radios, à
consommation réduite, basée sur la norme IEEE 802.15.4 pour les réseaux à dimension
personnelle (WPAN). Cette technologie a pour but la communication de courte distance telle
que le propose déjà la technologie Bluetooth, tout en étant moins chère et plus simple [11].
Nous situons sur la figure 7, la technologie de communication Zigbee par rapport aux autres.
Chapitre 2 : Les technologies utilisées
10
-Figure N °7 : Zigbee par rapport aux autres protocoles sans fils –
Les avantages de Zigbee :
La principale caractéristique de cette technologie est sa très faible consommation. Celle-ci
permet à Zigbee d'être aujourd'hui présente dans les environnements embarqués. Zigbee est
également de plus en plus présente dans les contrôles industriels ou dans certaines
applications médicales. On peut enfin retrouver Zigbee dans de nombreux capteurs et
télécommandes à l'usage plus quotidien. Zigbee équipe ainsi la télécommande de certains
modems Internet.
2. Module de communication Xbee
L’un des modules de communication permettant la communication Zigbee, nous trouvons les
modules Xbee que nous les traitons dans le paragraphe suivante.
2.1. Définition
Les modules Xbee sont des modules de communication sans fil très populaires, fabriqués
par l'entreprise Digi International, et qui utilise le protocole zigbee qui est un protocole de
communication par ondes radios [12].
Sur la figure 8, nous présentons l’image du module Xbee que nous allons utiliser dans notre
application de commande.
Chapitre 2 : Les technologies utilisées
11
-Figure N°8 : Module Xbee –
2.2. Principales caractéristiques du Xbee
Le module Xbee présente les caractéristiques techniques suivantes :
- Fréquence porteuse : 2.4Ghz
- Portées variées : assez faible pour les Xbee 1 et 2 (10 - 100m).
- Faible débit : 250kbps
- Faible consommation : 3.3V @ 50mA
- 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
- On peut avoir un grand nombre de nœuds dans le réseau : 65000
- Topologies possibles : maillé, point à point, point à multipoint.
2.3. Communication avec l'ordinateur
-Figure N°9 : Communication avec l’ordinateur –
Chapitre 2 : Les technologies utilisées
12
Pour établir une communication avec l'ordinateur, il suffit de mettre en place une
communication série entre ce module et un ordinateur de bureau ou embarqué. Il faut alors
adopter les signaux entre le module et l’ordinateur de configuration.
II. Les kits de développement
1. Environnement Arduino
1.1 Vue d’ensemble
Les modules Arduino sont des plates-formes de prototypage micro contrôlées "open-
source" spécialement conçues pour les artistes, les concepteurs et toute personne intéressée
par la création d'objets ou environnements interactifs [13].
L’Arduino propose plusieurs types de cartes de développement qui se présentent sous forme
de circuit imprimé sur lequel se trouve un microcontrôleur pour analyser et produire des
signaux électriques de manière à effectuer des tâches très diverses comme la domotique, la
robotique et tous types d’applications embarqués. Nous imagions sur la figure 10, la carte
Arduino de type Uno qui est construite autour d’un microcontrôleur de type Atmega 1280.
-Figure N°10 : Carte Arduino uno –
Une carte Arduino Uno présente les interfaces suivantes :
Port USB.
14 entrées/sorties numériques GPIO.
6 entrées analogiques.
Chapitre 2 : Les technologies utilisées
13
1.2 Partie matérielle
Une carte Arduino est généralement construite autour d'un microcontrôleur, 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.
L'Arduino utilise la plupart des entrées/sorties du microcontrôleur pour l'interfaçage avec les
autres circuits.
1.2.1 Microcontrôleur
Un microcontrôleur est un circuit intégré qui rassemble les éléments essentiels d'un
ordinateur : processeur, mémoires, unités périphériques et interfaces d'entrées-sorties.
Les microcontrôleurs se caractérisent par un plus haut degré d'intégration, une plus faible
consommation électrique, une vitesse de fonctionnement plus faible et un coût réduit.
1.2.2 Les interfaces de la carte Arduino
- Port USB : c’est le port qui nous permet de relier la carte Arduino avec l’ordinateur,
ainsi il facilite la programmation de la carte Arduino et aussi nous pouvons l’utiliser
comme étant une source d’alimentation pour cette carte.
-Figure N°11 : Port USB de la carte Arduino-
Chapitre 2 : Les technologies utilisées
14
- Les entrées/sorties numériques GPIO : Les entrées et sorties numériques sont les plus
simples à comprendre, chacune des broches peut être configurée soit en entrée, soit en
sortie. Par défaut, toutes les broches sont en entrée. En entrée, on appliquera sur la
broche soit un état haut (5 Volts) soit un état bas (0 Volts) et on récupérera l'état dans
notre programme.
En sortie, on pourra positionner 0 ou 5 Volts sur la broche et on peut ainsi contrôler
différents composants ou capteurs.
-Figure N°12 : Les entrées-sorties numériques d’Arduino-
- Les entrées analogiques : Les entrées (broches) analogiques permettent de convertir
des valeurs analogiques (une tension) en valeurs numériques. Ces entrées utilisent
donc un convertisseur analogique numérique comme des capteurs de lumière,…
En appliquant une tension de 0 à 5V en entrée, on récupérera des valeurs entre 0 et
1023 dans notre microcontrôleur.
-Figure N°13 : Les entrées analogiques -
Les entrées analogiques
GPIO
Chapitre 2 : Les technologies utilisées
15
1.3 Partie logicielle
Le logiciel de programmation des modules Arduino est une application Java, libre et
multiplateforme, servant d'éditeur de code et de compilateur, et qui peut transférer
le firmware et le programme au travers de la liaison série (RS-232, Bluetooth ou USB selon le
module). Il est également possible de se passer de l'interface Arduino, et de compiler et
charger les programmes via l'interface en ligne de commande.
Le langage de programmation utilisé est le C++ et lié à la bibliothèque de développement
Arduino, permettant l'utilisation de la carte et de ses entrées/sorties. La mise en place de ce
langage standard rend aisé le développement de programmes sur les plates-formes Arduino, à
toute personne maîtrisant le C ou le C++.
2. L’environnement Raspberry Pi
Dans ce paragraphe nous mettons en revue l’environnement Raspberry PI que nous allons
adopter comme ordinateur d’envoie.
2.1 Vue d’ensemble
Le Raspberry Pi est une nano-ordinateur mono-carte à processeur ARM (puissant et a faible
consommation), permet l'exécution de plusieurs variantes du système d'exploitation libre
GNU/Linux [14].
Sur les figures 14 et 15 nous illustrons les différents composants et interfaces de ce mini
ordinateur.
-Figure N° 14 : Diagramme en blocs d’une carte Raspberry pi-
Chapitre 2 : Les technologies utilisées
16
-Figure N°15 : Carte Raspberry Pi réelle –
2.2 Partie matérielle de Raspberry PI
Le cœur de système est constitué d’un processeur cadencé à 700MHz, d’un processeur
graphique VideoCore IV, d’un processeur de signal numérique et de 256 (modèle A) à 512
Mo (modèle B) de RAM. Il ne nécessite pas de disque dur, le système d'exploitation est
contenu dans la carte SD qui agit également comme un dispositif d'amorçage (de démarrage).
Cette carte représente les connecteurs suivants :
- Connecteur GPIO 26 broches.
- Connecteur pour un moniteur LCD/OLED avec interface DSI.
- Connecteur pour un moniteur ou un téléviseur avec sortie vidéo composite.
- Connecteur pour carte mémoire SD.
- Connecteur JTAG.
- Connecteur CSI .Toutes les caméras utilisées dans les Smartphones avec capteur
CMOS doit être compatible avec le RaspberryPi.
- Deux connecteurs USB. Pour étendre les ports USB on peut employer un HUB USB,
cependant il doit avoir une alimentation externe.
- Connecteur Ethernet RJ-45.
- Connecteur HDMI pour connecter un moniteur vidéo de haute qualité.
- Connecteur d’alimentation au format micro USB, pour alimenter le RaspberryPi, on
ne doit pas dépasser 1 A.
Chapitre 2 : Les technologies utilisées
17
2.3 Partie logicielle de Raspberry PI
La carte Raspberry PI est un système informatique miniaturisé, qui supporte plusieurs
variantes de systèmes d’exploitation dont nous détaillons les suivants. Elle reçoit la
distribution Linux Debian, qui est universellement considérée comme la plus difficile, c’est
pourquoi nous ne manquerons de rien, toute la distribution se trouve sur une carte SD, y
compris le système d’exploitation, et si par hasard on effectue une opération irréversible,
aucune crainte, on peut restaurer la SD et repartir à nouveau. Pour cela, sur ce système nous
allons tourner notre application distante à fin de le télécharger à partir de la carte Raspberry
PI.
III. Les langages de programmation
Il existe plusieurs langages de programmation dont nous décrivons brièvement ceux que
nous allons adopter pour aboutir à notre réalisation. Nous catégorisons ces langages suivant la
partie où nous les adopterons.
1. Programme embarqué
Il s’agit du programme qui va recevoir les commandes de pilotage du moteur du chariot
captées par le module de communication Xbee. Le programme est écrit dans le langage
Arduino puisque notre carte est de type Arduino. Ce langage est très proche du C et du C++.
Il contient des bibliothèques qui sont une collection de code qui le rend facile pour se
connecter à un capteur, affichage, module, etc… [15].
2. Script de communication
Pour configurer le module de communication Xbee et le piloter via des commandes AT, il
est possible d’utiliser plusieurs langages comme le python que nous l’adoptons dans notre cas.
Python : Python est un langage de programmation objet multiplateformes. Il favorise la
programmation impérative structurée et orientée objet, c’est un langage clair et puissant et
comparable à Perl et Java [16].
A cause de l’évolution des langages de programmations, nous sommes obligés de savoir
comment nous choisissons le langage convenable pour achever l’exécution parfaite de ce que
nous voulons.
Chapitre 2 : Les technologies utilisées
18
Dans ce cadre, notre choix du langage ‘’PYTHON’’ est basé sur ses points forts, débutant
par son placement sous une licence libre. De plus, ce langage est multiplateformes (Windows,
Linux, …) et facile à apprendre grâce à la simplicité de son syntaxe. Aussi, il offre des
bibliothèques qui assurent l’obtention des résultats concrets.
IV. Solution proposée
Sur la figure 16, nous représentons l’architecture de notre application. Cette figure montre
les modules constituant notre architecture et les généralités à propos les liaisons nécessaires
entre les différents modules.
-Figure N°16 : Schéma descriptif proposé pour le projet -
Cette figure explique la façon dont nous allons interconnecter les composants de notre
système pour réussir le contrôle d’un chariot à distance. Le système développé est composé de
deux parties principales :
Partie émetteur : c’est la partie qu’on va l’utiliser pour envoyer les commandes vers le
chariot, elle est composée d’une carte Raspberry pi et un module Xbee, et comme le montre la
figure 17, le module XBEE est connecté directement sur le port série de la carte Raspberry PI
Internet
Chapitre 2 : Les technologies utilisées
19
étant donné qu’il s’agit des mêmes niveaux de tensions (3.3V) utilisés par le module Xbee
ainsi que par la carte Raspberry PI.
-Figure N°17 : Liaison entre carte Raspberry pi et module Xbee-
Partie récepteur : c’est la partie qui est liée au chariot et qui reçoit les commandes pour les
appliquer sur le chariot. Cette partie est composée d’une carte Arduino et d’un module Xbee
qui est connecté à ladite carte comme l’illustre la figure 18.
-Figure N°18 : Liaison entre carte Arduino et module Xbee-
Chapitre 2 : Les technologies utilisées
20
V. Conclusion
Dans ce chapitre, nous avons présenté les différents composants de notre système. Ensuite,
nous avons décris les modules principaux tels que la carte Raspberry PI, la carte Arduino et
les modules Xbee que nous avons choisis pour les exploiter dans la réalisation de notre
système.
Dans le chapitre suivant, nous allons passer à la réalisation des différents circuits, le
premier appartient à la partie émettrice de commande et le deuxième qui appartient au chariot
lui même.
Chapitre 3
Réalisation
Chapitre 3 : Réalisation
21
I. Introduction
Ce chapitre est consacré à la partie réalisation. Nous allons présenter l’environnement de
travail qui est composé de deux parties : une étude technique qui couvre les aspects matériels
et logiciel et une présentation de la manière dont on va l’utiliser pour contrôler l’application
réalisée.
II. Etude technique
Dans cette partie, nous allons détailler la configuration des modules Xbee dans ce projet.
Dans ce cadre, pour qu’on puisse transmettre les commandes de la partie émettrice vers la
partie réceptrice, il faut avoir deux modules Xbee, l’un émetteur et l’autre récepteur.
1. Configuration des modules Xbee
Pour configurer les modules Xbee il faut avoir un système informatique muni d’une
interface série permettant ainsi d’envoyer les commandes ‘AT’ correspondantes au module en
question par une communication de type série.
Cette configuration est alors possible par la carte Arduino ou celle Raspberry PI en
embarquant ou en envoyant les commandes au moyen d’un terminal.
1.1. Configuration d’un module Xbee avec une carte Raspberry PI
Un exemple de communication série est présent par la figure 19 pour qu’on peut assurer le
dialogue, entre la carte Raspberry PI et le module Xbee, à travers des commandes ‘AT’.
-Figure N° 19 : Liaison directe entre une carte Raspberry pi et un module Xbee-
Chapitre 3 : Réalisation
22
Pour configurer ce module Xbee, il faut passer par les étapes suivantes :
i. Installation des paquetages python
Pour assurer la communication entre la module Xbee et la carte Raspberry pi il faut tout
d’abord installer les paquetages de python. Ces derniers ont pour rôles de rendre le système
capable de comprendre le langage de programmation « python ».
-Figure N° 20 : Installation des paquetages python-
ii. Configuration du port série de la carte Raspberry pi
Par défaut, dans une carte Raspberry pi, les ports séries non utilisés par le système sont
désactivés, donc il faut rendre le port série qu’on va l’utiliser actif pour qu’on puisse réaliser
une communication entre cette carte et le module Xbee, c’est le fait de régler le protocole
UART. Pour cela il faut, tout d’abord, exécuter la commande suivante :
« sudo nano /boot/cmdline.txt », pour modifier le fichier responsable au lancement du noyau.
-Figure N° 21 : Commande d’ouverture du fichier cmdline.txt-
Puis, on supprime « console=ttyAMA0, 115200 kgdboc=ttyAMA0, 115200 » de la ligne :
‘’dwc_otg.1pm_eanble=0 console=ttyAMA0, 115200 kgdboc=ttyAMA0, 115200
console==tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait’’.
-Figure N° 22 : Modification du fichier cmdline.txt-
Chapitre 3 : Réalisation
23
Ensuite, on doit modifier le fichier « /etc/inittab », c’est le fichier qui est responsable à
l’activation des invites de connexions.
-Figure N° 23 : Accès au fichier inittab-
Ensuite, on édite le fichier et on met le curseur à la fin du fichier. On va trouver une ligne
similaire à « T0 : 2 : respawn : / sbin / getty-L ttyAMA0 115200 vt100 ». Cette ligne signifie
que le port série « ttyAMA0 » est désactivé. On est obligé de l’activer en ajoutant un caractère
# au début pour avoir la ligne suivante «# T0 : 23 : respawn : / sbin / getty-L ttyAMA0
115200 vt100 » comme nous le montrons sur la figure 24 puis on enregistre le fichier.
-Figure N° 24 : Modification du fichier /etc/inittab-
Finalement, on redémarre la carte Raspberry pi pour activer les mises à jour, en utilisant la
commande : « sudo reboot ».
-Figure N° 25 : Redémarrage de la carte Raspberry pi-
Chapitre 3 : Réalisation
24
iii. Configuration du taux de transfert et port de communication avec le
module Xbee :
Pour que nous pouvons configurer le module Xbee, il faut spécifier le taux de transfert
(baudrate) entre la carte Raspberry PI et le module Xbee et le port de communication entre
eux. Ainsi, nous sommes obligés d’exécuter l’ensemble des commandes comme nous montre
la figure 26 :
-Figure N°26 : Configuration du baudrate et port de communication-
iv. Exécution des commandes de configuration du module Xbee
Tout d'abord on configure le module Xbee connecté avec les pinout RX et TX. On écrit
"+++" en communication série, on attend la réponse du Xbee avec le caractère '\r' qui marque
la fin d'une ligne et ensuite on écrit seulement cinq commandes pour configurer uniquement
l'adressage du module. Les commandes AT du module Xbee sont les suivantes :
- « +++ » : Pour utiliser le module Xbee en mode de configuration.
- « ATRE » : Pour restaurer les paramètres par défaut.
- « ATDL » : Pour fixer l’adresse du destinataire concerné.
- « ATID » : Pour fixer l’adresse du réseau.
- « ATMY » : Pour fixer l’adresse du module concerné.
- « ATCN » : Pour sortir du mode de configuration.
Chapitre 3 : Réalisation
25
-Figure N° 27 : Terminal de la configuration de paramètres du module Xbee-
La figure 27 nous montre le passage du mode API vers le mode commande d’un
module Xbee.
1.2. Configuration du module Xbee avec une carte Arduino
Dans cette partie, on va essayer de configurer les paramètres du module Xbee récepteur.
Pour cela, on a besoin d’un module Xbee et d’une carte Arduino uno pour configurer notre
système de réception. Pour réaliser la configuration nous avons implémenté le montage de la
figure 28.
-Figure N°28 : Liaison entre carte Arduino et module Xbee-
L’utilisation de la carte Arduino à ce niveau nous permet de relier le module Xbee avec
l’ordinateur. On va embarquer un programme, en utilisant l’IDE, sur le microcontrôleur de la
carte Arduino uno qui permet d’envoyer des commandes vers notre module Xbee pour
configurer ses paramètres tels que le réseau commun des 2 modules (émetteur et récepteur), id
du module Xbee,…
Chapitre 3 : Réalisation
26
Sur la figure 29 nous montrons le code de configuration du module du récepteur.
-Figure N° 29 : Interface du logiciel Arduino -
2. Installation du serveur SSH
Pour qu’on atteindre notre but, commande à distance d’un robot, il nous faut établir une
connexion à la carte Raspberry pi mais il faut prendre en compte la sécurisation de notre
connexion avec la carte de commande.
Pour cela, nous avons choisis d’installer le serveur SSH pour assurer la sécurité de notre
connexion tandis que ce dernier est un protocole de communication sécurisée. On le configure
en utilisant la commande de la figure 30.
-Figure N° 30 : Configuration du serveur SSH–
Par défaut le port de SSH est le port 22, on doit accéder au fichier /etc/ssh/sshd_config
pour modifier la ligne Port et changer le port 22 par un autre port (entre 1 et 65536 sauf 21,
22, 80, 443 et 3306) et ajouter des utilisateurs bien définis si on veut.
Chapitre 3 : Réalisation
27
3. Installation du logiciel de connexion à distance ‘putty’
Putty est un émulateur de terminal doublé d'un client pour les protocoles SSH, Telnet
et rlogin. Il permet également d'établir des connexions directes par une liaison série RS-232.
C'est un logiciel libre distribué selon les termes de la licence MIT.
-Figure N°31 : Icône et interface de ‘putty’-
4. Réalisation de montage électronique
Pour que le chariot soit en marche, il faut que nous réalisions un montage électronique bien
déterminé pour rendre compatible les organes de commande au moteur utilisé.
4.1 Composants électroniques
- Résistance : Une résistance est un composant électrique dont la principale
caractéristique est d'opposer une plus ou moins grande résistance (mesurée en ohms) à
la circulation du courant électrique [17].
Nous allons utiliser des résistances de diviseur de tension pour adapter la communication
série entre l’Arduino et le module Xbee comme le montre le montage de la figure 32.
Chapitre 3 : Réalisation
28
-Figure N° 32 : Montage de diviseur de tension-
D’après la datasheet, la communication série dépasse un courant de 0,2 mA.
Calcul des résistances :
Utx Ard= UR1+UR2=I (2R1+3R2)
- Transistor : Un transistor est un dispositif semi-conducteur à trois électrodes actives,
qui permet de contrôler un courant (ou une tension) sur une des électrodes de sorties
(le collecteur) grâce à une électrode d'entrée (la base) [18].
Et comme nous montre la figure 33, un schéma qui décrire ses trois bornes.
-Figure N° 33 : Schéma d’un transistor-
Nous allons utiliser le transistor en mode commutation pour commander la bobine du relais
comme l’indique le schéma de la figure 34.
R1
1
R2
2
10 K ohm
15 K ohm
TX de l’Arduino
RX de Xbee
Chapitre 3 : Réalisation
29
-Figure N° 34 : Transistor en mode commutation-
Un autre transistor va être adapté en mode commutation pour adapter les signaux PWM de
commande généré par la sortie de la carte Arduino.
- Relais : appareil traversé par un courant électrique dans le but d'ouvrir ou de fermer un
circuit électrique. C'est en quelque sorte un interrupteur que l'on peut actionner à
distance, et où la fonction de coupure est dissociée de la fonction de commande [19].
Nous montrons respectivement sur la figure 35 le schéma électrique d’un relais.
-Figure N° 35 : Schéma électrique d’un relais-
- Régulateur : C’est un organe électrotechnique ou un composant électronique qui
maintient à sa sortie, dans certaines limites, une tension constante, indépendamment
de la charge et de la tension d'entrée [20].
Dans notre cas, nous allons réguler la tension 12V pour en avoir une tension de 5V
qui est nécessaire à notre moteur du chariot qui est un moteur à courant continu.
1
2
3 4
5
6 7
8
Sortie
Commande relais
Diode en roue libre :
pour ne pas abimer
la bobine du relais
en coupant le
courant
brusquement.
Chapitre 3 : Réalisation
30
-Figure N° 36 : Régulateur-
4.2 Commande du moteur
Pour que nous puissions contrôler la vitesse d’un moteur, nous avons deux méthodes
possibles à exploiter. La première est d’utiliser un potentiomètre. Par contre, la deuxième,
consiste à l’utilisation d’un signal PWM.
4.2.1 Utilisation d’un potentiomètre
C'est la solution qui parait la plus simple. On limite le courant passant vers le moteur en
augmentant la résistance, ainsi on va avoir un faible rendement par le moteur.
-Figure N°37 : Utilisation d’un potentiomètre-
Démonstration :
Soient r = 1 ohm (résistance du moteur), P= 10 ohm et U = 12V.
Si par exemple on veut diviser la vitesse par 2 :
Soit E ≈ 5V
On a: 5 = 12 – (1+10).I => I = 0.5A
Ainsi :
La puissance totale est Pt = U.I = 6W
La puissance dissipée par le potentiomètre est dans ce cas est Pp=ri2= 2.5W
Donc on aura un rendement = 60%
7805
Ue Us C=0.1µ
Chapitre 3 : Réalisation
31
Solution pas terrible.
4.2.2 Modulation PWM
L’utilisation d’un signal PWM permet ainsi de piloter le moteur à travers une sortie
numérique d’un microcontrôleur. Cette méthode permet une amélioration au niveau du
rendement énergétique.
A ce niveau, la modulation PWM est l’alimentation du moteur avec une tension en
créneaux, il s’agit d’un signal rectangulaire.
-Figure N°38 : Modulation PWM-
Comme nous montrons sur la figure 38, la modulation PWM est le fait d’exprimer la
tension envoyée vers le moteur en fonction d’un rapport cyclique T0/T qui est exprimé en ‘%’.
Ce signal est alors caractérisé par la fréquence (F=1/T) du signal ainsi que du taux T0/T.
4.3 Montage électronique de la solution proposée
Avant de mettre en place la solution de commande, il faut tester le bon fonctionnement de
nos circuits, il ne faut pas brancher directement les circuits. Dans notre cas, on a choisis de
tester le fonctionnement de notre chariot en utilisant deux cartes Arduino et deux modules
Xbee pour s’assurer la bonne liaison des composants électroniques des deux parties émettrice
et réceptrice. Dans les deux schémas des figures 39 et 40, nous montrons les différentes
interconnexions mises en place pour tester la solution de commande moteur et connexion sans
fil.
Chapitre 3 : Réalisation
32
-Figure N°39 : Montage de la carte de pilotage -
-Figure N° 40 : Montage de la carte de commande-
Après un succès dans la partie de test du branchement virtuelle avec l’Eagle, on peut
configurer notre circuit réellement et comme le montre la figure 41 le circuit est bien testé et
ce en transmettant la vitesse et le sens de rotation de la carte de commande à la carte de
pilotage via les modules Xbee.
Chapitre 3 : Réalisation
33
-Figure N° 41 : Test de fonctionnement avec deux cartes Arduino –
Maintenant, après avoir testé les commandes AT et les commandes du moteur, nous allons à
présent étudier la carte de commande réelle qui est de type Raspberry PI. Comme nous
l’avons déjà mentionné le module Xbee va être connecté directement sur l’interface série de la
Raspberry PI étant donné qu’il s’agit de deux interfaces séries compatibles : 3.3V. Nous
traçons sur la figure 42 les liaisons nécessaires.
-Figure N° 42 : Montage d’essai partie émetteur –
à monter sur le chariot
Chapitre 3 : Réalisation
34
III. Présentation du terminal de commande et explication du
fonctionnement
Dans cette partie nous allons présenter notre terminal de commande à partir du quel nous
allons introduire les ordres de commande, aussi bien nous expliquerons le principe de
fonctionnement de notre projet.
1. Présentation du terminal de commande
C’est un terminal simple à utiliser. La capture de l’image 38 illustre l’interface de
commande.
-Figure N° 43 : Terminal de commande-
Cette interface va être notre moyen pour connecter à la carte de commande. Il suffit alors de
savoir l’adresse IP de la carte Raspberry pi pour permettre l’exploitation du chariot de
n’ importe où dans le monde. Avec ce terminal on peut émettre un ordre de la carte Raspberry
pi vers la carte Arduino en cliquant sur des chiffres bien déterminés pour le vitesse et pour le
direction.
Chapitre 3 : Réalisation
35
2. Explication de fonctionnements
Lors d’une émission de commande de la partie émettrice vers la partie réceptrice pour
obtenir comme résultat l’avance ou la marche arrière du chariot, nous allons passer par
plusieurs étapes. Dans ce qui suit, nous allons détailler ces étapes.
1ére
étape :
Nous devons fixer l’utilisateur qui va utiliser la carte Raspberry pi à distance pour qu’on
termine la connexion à la carte Raspberry pi.
-Figure N°44 : Connexion à la carte de commande-
Après cette étape, on peut communiquer avec la carte Raspberry pi de n’ importe où dans la
monde via la connexion internet.
2éme étape
Dans cette étape, nous devons fixer les paramètres de configuration du module Xbee. Il faut
spécifier le taux de transmission et le port série qui va être l’outil de communication entre la
carte Raspberry pi et le module Xbee. L’illustration dans la figure 45 nous montre cette étape.
Chapitre 3 : Réalisation
36
-Figure N°45 : Configuration des paramètres de communication entre la carte
Raspberry pi et le module Xbee-
3éme étape
Lorsqu’on tape notre commande, la carte Raspberry pi a pour rôle d’envoyer un caractère
(‘1’, ‘2’, ‘3’, ‘4’) bien déterminé selon la commande qu’on a utilisé vers sa port série
interconnecté au module Xbee émetteur.
-Figure N°46 : Lancement d’ordre-
Chapitre 3 : Réalisation
37
4éme
étape :
Après le déroulement de la précédente étape, le module Xbee émetteur maintenant va
crypter le caractère qu’il a reçu de la carte Raspberry PI et l’envoyer vers le module Xbee
récepteur en utilisant les coordonnées du réseau commun entre eux et l’ID du récepteur.
-Figure N° 47 : Cryptage de caractère d’ordre-
5éme
étape :
Ensuite, au moyen du module récepteur, un décryptage est nécessaire pour rendre l’ordre
exprimable par la carte Arduino puis le transmet vers le port série de la carte Arduino pour
traiter cet ordre de pilotage.
-Figure N°48 : Décryptage de caractère d’ordre-
Chapitre 3 : Réalisation
38
6éme
étape :
Maintenant, le caractère de la commande est reconnu par la carte Arduino, ainsi cette
dernière est devenue responsable à analyser le caractère à travers son microcontrôleur puis à
faire fonctionner le chariot selon le message d’ordre.
-Figure N° 49 : Fonctionnement de la carte de pilotage
Carte d’adaptation
Signal PWM de
commande
Signal PWM de puissance
Conclusion générale
37
Conclusion générale
Ce projet de fin d’études avait pour but la réalisation d’une application de commande d’un
chariot contrôlé à partir du réseau pour des buts divers comme la sécurité, la surveillance,
l’exportation etc...
L’application réalisée offre une multitude de fonctionnalités dont, les essentielles sont :
- Commande d’un moteur en sens et vitesse.
- Commande de n’importe où dans le monde en utilisant une connexion à distance.
Nous avons utilisé plusieurs technologies embarqué telles que les cartes de développement
Arduino et Raspberry PI, le réseau et les modules de communications Zigbee. Pour la mise en
place de note application nous avons mis en jeu plusieurs techniques de développement, entre
autres, la programmation Arduino, les scripts python, le système d’exploitation linux
embarqué.
D'un point de vue personnel, tout au long de ce projet, nous avons eu l’occasion de mettre
en pratique nos connaissances acquises au sein de l’ISIMS, aussi bien en programmation et
développement et en matières réseaux et nous avons également eu l’opportunité de travailler
avec de nouveaux outils, matériels et environnement de développement embarqué.
Cette expérience a été très enrichissante et importante car elle a marqué la fin de ce cycle
de licence et nous a permis d’être confrontés aux responsabilités qui sont celles de technicien
supérieur moderne à savoir, faire face aux délais, au stress et aux contraintes du travail dans
un milieu de recherche et d’innovation
Perspectives
38
Perspectives
Notre projet a couvert au bout du compte la majeure partie des fonctionnalités qui nous ont
été demandées au début, mais les opportunités d’améliorations de ce projet sont multiples.
D’une part, nous pourrons améliorer l’application pour rendre l’interactivité plus souple et
complète avec l’utilisateur, aussi on peut évoluer même le chariot en lui intégrants de
multiples nouveaux capteurs et détecteurs, et circuits diverses pour le rendre encore plus
complet et automatisée.
D’autre part, nous pourrons penser à lui ajouter des modules pour qu’il puisse gérer non
seulement les situations déjà programmées mais aussi de nouvelles situations où il peut
apprendre tout seul à l’aide d’algorithmes d’apprentissage et d’intelligence artificielle, qu’on
peut modéliser facilement au niveau de l’application.
Comme perspectives, nous pouvons rendre notre application plus polyvalente en ajoutons
des capteurs de température, d’humidité, de magnitude, de couleurs, de courant, de force, de
pression, infrarouges, "de chocs", d’autres types de gaz, d'inclinaison, de niveau, etc… et ce
pour rendre le chariot intelligent, permettant de détecter les obstacles par exemples.
Dans ce cadre, nous ouvrons l’esprit à d’autres idées réalisables à travers un système
embarqué basé sur Raspberry PI et Arduino uno, nous citons ci-dessous quelques idées de
robotique :
- Robot suiveur de ligne
- Robot détecteur de mines
- Robot autonome de surveillance
- Robot spécialisé dans la détection des différents types de gaz.
- Robot explorateur de zones inaccessibles pour les êtres humains (catastrophes
naturelles).
Annexes
Annexes
39
Annexe du module Xbee
Le Xbee séries 1 possède un certain nombre d'entrées et sorties. Les sorties analogiques
sont PWM0 et PWM1. Les entrées et sorties numériques sont DIO1, DIO2, DIO3, DIO4,
DIO5, DIO6, DIO7 ("DIO" pour Digital Input Output). Les entrées analogiques sont: AD1,
AD2, AD3, AD4, AD5 ("AD" pour Analog Digital).
-Figure N° 50 : Quelques entrées-sorties du module Xbee -
Digital Input Output
Analog Digital
Les sorties analogiques
Annexes
40
Annexe sur Raspberry PI
Les GPIOs du carte Raspberry PI, ce sont des entrées/sorties qui permettent d’étendre les
fonctionnalités du Raspberry pi en lui donnant la possibilité d’agir sur des leds ou des
afficheurs LCD par exemple, lire l’état d’un interrupteur, d’un capteur, etc...
Ce connecteur GPIO dispose de différents types de connexion :
- des broches utilisables en entrée ou sortie numérique.
- des broches pour une interface I2C.
- une interface SPI pour les périphériques SPI.
- de broches pouvant être utilisé en PWM (Pulse Width Modulation) permettant le
contrôle de puissance.
-Figure N° 51 : Les GPIOs de Raspberry PI-
Bibliographie
41
Bibliographie
[1] http://www.alyotech.fr/sei_intro
[2] http://www.labo-microsoft.org/def/13960/
[3] http://www.mind-microtec.org/domaines-dapplication/systeme-electronique-embarque
[4] http://www.cnetfrance.fr/produits/domotique-10-objets-connectes-pour-une-maison-
intelligente-39789608-la-domotique-c-est-fantastique_1.htm
[5] http://www.commentcamarche.net/contents/1122-le-standard-gsm
[6] http://www.hgh.fr/rayonnement-infrarouge-corps-noir-infrared-radiation-blackbody.php
[7] http://www.evalu.it/glossaire/mot/123-bluetooth
[8] http://www.futura-sciences.com/magazines/high-tech/infos/dico/d/internet-wi-fi-1648/
[9] http://www.futura-sciences.com/magazines/high-tech/infos/dico/d/internet-3g-2008/
[10] http://compnetworking.about.com/od/networkprotocols/g/ultra_wide_band.htm
[11] http://www.dicodunet.com/definitions/multimedia/zigbee.htm
[12] http://faitmain.org/volume-2/xbee-arduino.html
[13] http://faitmain.org/volume-2/xbee-arduino.html
[14] http://raspberrypi.electroniquemagazine.com/raspberrypi.html
[15] https://www.arduino.cc
[16] https://docs.python.org/release/1.5.1p1/tut/functions.html
Bibliographie
42
[17] http://www.futura-sciences.com/magazines/matiere/infos/dico/d/physique-resistance-
electrique-364/
[18] http://www.larousse.fr/dictionnaires/francais/transistor/79147
[19] http://www.linternaute.com/dictionnaire/fr/definition/relais-electrique/
[20] http://www.techno-science.net/?onglet=glossaire&definition=13521