Académique Documents
Professionnel Documents
Culture Documents
En
Informatique
Option
Réseau et Système Informatique
Avant toute chose, nous souhaitons nos premiers mots au école des études
supérieurs BTS de nous avoir donné l'opportunité pendant ces 2 ans de
formation.
Nous tenons aussi à remercier mon encadrant du projet de fin d'étude ,Mme.
Nezha EL IDRISSI, prof du réseau du 2ème année BTS pour son accueil, le
partage de son expertise et les conseils adressés à nous.
3
Dédicaces
A TOUTE MA FAMILLE
4
Sommaire
Remerciements
Dédicaces
Introduction générale
Partie 1 : La théorie
Chapitre 1 : Analyse fonctionnelle
I/ Introduction
II/ Entrée en matière
1- Définition du parking
2- But de ce projet
3- Système parking automatisé des voitures
4- Estimation d'évolution de l'utilisation des SPA
5- Avantages des SPA
6- Inconvénients des SPA
7- Le fonctionnement global du Smart Parking
III/ Conclusion
Chapitre 2 : Présentation de l'entreprise
I/ Introduction
II/ Architecture matérielle
1- Carte Raspberry Pi
2- Carte Arduino
3- Servomoteur
4- Les LEDs
5- Cristal liquide d'affichage (LCD)
6- Capteur Infrarouge
7- Capteur LDR
III/ Conclusion
Partie 2 : Simulation
I/ Introduction
II/ Simulateur WOKWI
1- Wokwi (Online Arduino Simulateur)
2- Caractéristiques
III/ Simulation des différentes circuits
1- Interface utilisateur
2- Langage Arduino
IV/ Test en simulation
Partie 3 : Applications mobiles
Chapitre I : Les applications mobiles
I/ Intoduction
II/ Les applications mobiles
1- Définition des applications mobiles
2- Les différents types d'applications mobiles
3- Les domaines d'application mobile
Chapitre II : Arduino IOT Cloud
I/ Introduction
II/ Arduino IOT Cloud
1- Objectifs de l'application
2- Caractéristiques
III/ Conclusion
Partie 4 : Réalisation
Chapitre I : Réalisation d'une application de parking intelligent
I/ Introduction
II/ Réalisation de l'application
1- Création d'un compte Arduino
2- Créer un composant
3- Configuration d'un appareil
4- Création de variables
5- Connexion à un réseau
6- Modification de l'esquisse
Chapitre II : Réalisation d'une maquette de parking intelligent
I/ Introduction
II/ Les tâches effectuées
III/ Résultat en graphique
IV/ Le programme
V/ Problèmes rencontrés
VI/ Conclusion
Conclusion générale
Liste des figures
8
Figure 29 : Configuration d'un appareil
Figure 30 : L'onglet de l'appareil
Figure 31 : Création de variables
Figure 32 : Saisie des identifiants réseau
Figure 33 : Modification d'un croquis dans l'éditeur de cloud
Figure 34 : L'outil de surveillance série
Figure 35 : Plan de la maquette du parking intelligent
Figure 36 : Réalisation de la maquette
Figure 37 : Organigramme pour conception d'un système temps réel
Figure 38 : Création de variables pour le parking
Figure 39 : Appareil associé
Figure 40 : Résultat en graphique
9
Introduction générale
Les réseaux de capteurs sans fil ont été classés parmi les 21 technologies
les plus importantes du 21´eme siècle. En effet, la recherche dans le
domaine des capteurs est en train de vivre une révolution importante,
ouvrant des perspectives d’impacts significatifs dans de nombreux domaines
telle que la domotique, le transport, la santé ou encore la surveillance de
phénomènes environnementaux, ceux-ci pourront ´énormément tirer parti de
dispositifs innovants.
10
PARTIE 1
La théorie
Chapitre 1
Analyse fonctionnelle
I/ Introduction
Dans ce chapitre nous allons entourer une partie importante de notre projet qui consiste à
donner un aperçu sur le parking intelligent, sa définition, ces avantages, ces
inconvénients et sa faisabilité.
2- But de ce projet
Innovation dans les systèmes de parking d’automobile.
Optimisation de la surface de parking.
Une bonne gestion de parking
12
b) Flexibilité de conception
Les possibilités d’application d’un SPA sont pratiquement illimitées : au-dessus du sol,
sous terre, indépendantes, en construction ou intégrées dans des bâtiments existants.
c) Durabilité
SPA réduit les émissions de CO2 d’au moins 80% car elles éliminent la nécessité pour
les voitures de circuler, de ralentir et de chercher des espaces de stationnement.
d) Sécurité et vitesse
Les véhicules prennent 80% moins de temps que le stationnement conventionnel, car il
n’y a pas de manœuvre ou de recherche de places de parking nécessaires.
e) Efficacité et économie
Dans de nombreux endroits, SPA peut être le choix de construction le plus économique
ou le seul possible ainsi que le choix le plus profitable du point de vue du propriétaire.
Une fois la voiture garée sur la plateforme, l’application indiquant que la place ou placée
est occupée, en plus l’afficheur LCD donner la totalité des places et les places libres.
En cas de non-disponibilité des places, la barrière ne remonte pas en plus l’afficheur LCD
affiché que lorsque la véhicule quitter la position, le capteur infrarouge IR_Sensor2
envoie une information à servomoteur pour lever la barrière et donc la voiture sort.
III/ Conclusion
Le stationnement intelligent joue un rôle majeur car il participe à diminuer la congestion et
de nombreux problèmes avec la facilité de mobilité en ville. Dans ce chapitre nous avons
donné une idée sur le parking intelligent, sa définition, ces avantages et ces
inconvénients.
13
Chapitre 2
Analyse matérielle
I/ Introduction
Le choix des matériaux est une tâche fondamentale et très complexe, et pour cela nous
avons parlé dans ce chapitre à propos des matériaux utilisés dans notre projet.
14
2- Carte Arduino
Une carte Arduino est une petite carte électronique équipée d’un microcontrôleur. Le
microcontrôleur permet, à partir d’événement détectés par des capteurs, de programmer
et commander des actionneurs ; la carte Arduino est donc une interface programmable.
a) Les types de la Carte Arduino
Carte Arduino UNO :
C’est la carte la plus utilisée qui permet à tout débutant de se lancer dans tous ses
premiers petits projets.
Carte Arduino LEONARDO :
C’est la carte qui est prévue pour succéder à la carte Arduino UNO en présentant des
caractéristiques équivalentes mais une ergonomie revue et une stabilité plus éprouvée.
Elle offre un nombre d’entrées/sorties beaucoup plus important (54 contre 14), un
processeur plus puissant doté d’une mémoire plus vaste.
Carte Arduino Mega ADK :
Offre les mêmes caractéristiques techniques que la carte Arduino Mega mais sans port
USB.
15
Figure 3 : Carte Arduino Mega ADK
Carte Arduino DUE :
Elle permet de manipuler rapidement des algorithmes lourds particulièrement utiles dans
le monde de la robotique par exemple.
N’est ni plus ni moins qu’une carte Arduino UNO miniaturisée. Sa taille et son poids
réduits la destinent à une utilisation dans des espaces réduits ou dans des applications
de robotique…
16
Carte Arduino Mini Pro :
La carte Arduino est une carte Arduino UNO simplifiée à l’extrême permettant néanmoins
de piloter de petits projets ou certains éléments d’un projet.
Elle est un dérivé de la carte Leonardo pour objectif de combiner la puissance de Linux
avec la facilité d’utilisation d’un carte Arduino.
17
Figure 8 : Composants d'Arduino UNO
3- Servomoteur
Un servomoteur est un type de moteur électrique. C’est un dispositif typiquement utilisé
en modélisme pour, par exemple, contrôler la direction d’une voiture télécommandée.
a) Les types de servomoteur
Il existe divers types de servomoteur, de taille, poids et couple (force) différentes.
18
Une carte électronique pour le contrôle de la position de l’axe et le pilotage du moteur
à courant continu
Les fils, qui sont au nombre de trois
L’axe de rotation sur lequel est monté un accessoire en plastique ou en métal
Le boitier que le protège
La LED 2C a une seul broche : c’est une caractéristique pour connaître que cette LED
s’allume avec un couleur
5- Cristal liquide d'affichage (LCD)
a) Description de l'écran LCD
19
b) Les points de connexion de l'écran à cristaux
Les points de connexion de l’écran à cristaux sélection de l’enregistreur :
RS : Ce port nous détermine dans quelle mémoire nous écrivons des données.
R/W : Pour lire ou écrire, ce port spécifie soit sélectionner le mode lecture ou écriture
enable pin : Ce port, s’il est activé, vous permet d’écrire sur l’écran LCD broche de
données
(D0-D7) : ce sont les port par lesquels nous transmettons des données aux
enregistreurs
c) Ecran à cristaux liquides 16*2 avec système de connexion I2C
6- Capteur Infrarouge
Le capteur d’évitement d’obstacles à capteur infrarouge IR est une solution peu coûteuse
pour la détection d’évitement pour la robotique, la voiture intelligente et d’autres
utilisations électroniques.
20
a) Principe de fonctionnement
L'émetteur infrarouge envoie un signal infrarouge qui, en cas de surface réfléchissante
(par exemple de couleur blanche), rebondit dans certaines directions, y compris celle du
récepteur infrarouge qui capte le signal détectant l'objet.
21
a) Composants du capteur LDR
Lorsque la LDR est dans l’obscurité, la tension sur l’entrée + est supérieure à celle
présente sur l’entrée –. La tension de sortie du comparateur vaut alors +3,3v. C’est cette
tension qui est présente sur D0. La LED D2 reçoit sur son anode une tension de 3,3v et
sur sa cathode la même tension de 3,3v. Il n’y a aucune différence de tension à ses
bornes, elle est donc éteinte.
Fonctionnement à la lumière :
III/ Conclusion
Le choix des matériaux était la phase la plus délicate dans notre projet. En gros, le choix
des matériaux a été analysé sous l’angle de l’ingénierie des matériaux, du temps de
réponse, sans oublier enfin le côté esthétique (le design industriel).
22
PARTIE 2
Simulation
I/ Introduction
Dans ce chapitre, nous voulons vous montrer le logiciel en ligne qu’on a utilisés lors de
test de quelque programme de la carte Arduino.
2- Caractéristiques
Simulation Wifi : Connectez votre projet simulé à Internet. Vous pouvez utiliser
MQTT, HTTP, NTP et de nombreux autres protocoles réseau
Analyseur logique virtuel : Capturez des signaux numériques dans votre simulation
(par exemple UART, I2C, SPI) et analysez-les sur votre ordinateur.
Débogage avancé avec GDB : Puissant débogueur Arduino et Raspberry Pi Pico
pour les utilisateurs avancés
Simulation de carte SD : Stockez et récupérez des fichiers et des répertoires à partir
de votre code. Les membres du club peuvent également télécharger des fichiers
binaires (tels que des images)
API Chips : Créez vos propres puces et pièces personnalisées et partagez-les avec
la communauté.
Intégration de Visual Studio Code : Simulez vos projets intégrés directement à partir
de VS Code.
24
III/ Simulation des différents circuits
1- Interface utilisateur
Bibliothèque de
Simulation
projet
Partie
programmation
2- Langage Arduino
a) Définition
Le langage Arduino est inspiré de plusieurs langages. On retrouve notamment des
similarités avec le C, le C++.
25
b) Programme Arduino
Un programme (ou sketch) Arduino est constitué de 2 fonctions distinctes :
La fonction de configuration « void setup » exécutée une seule fois au lancement du
programme. On appelle aussi cette fonction : fonction d’initialisation.
La fonction « void loop » qui est ensuite exécutée indéfiniment en boucle.
IV/ Test en simulation
Test 1 : Faire clignoter une LED
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 9, 8, 7) ;
Void setup ( ) {
Lcd.begin(16, 2) ;
// you can now interact with the LCD, e.g.:
Lcd.print (“Place A2 empty”) ;
}
Void loop ( ) {
// …
}
#include <Servo.h>
Servo myservo ; // create servo object to control a servo
int potpin = 0 ; // analog pin used to connect the potentiometer
int val ; // variable to read the value from the analog pin
void setup ( ) {
myservo.attach(9) ; // attaches the servo on pin 9 to the servo object
}
void loop ( ) {
val = analogRead (potpin) ; // reads the value of the potentiometer
val = map(val, 0, 1023, 0, 180) ; // scale it to use it with the servo
myservo.write(val) ; // sets the servo position according to the scaled value
delay(15) ; // waits for the servo to get there
}
V/ Conclusion
Après avoir simuler et tester ces trois programmes, dans la prochaine partie nous allons
parler du réalisation de notre projet.
27
PARTIE 3
Applications
mobiles
Chapitre 1
Les applications mobiles
I/ Introduction
La technologie mobile n’est pas juste un terme à la mode mais un sujet d’actualité au
sein de nombreux secteurs d’activité. Il est extrêmement pertinent pour le domaine de
développement d’applications.
Une application mobile peut être soit installée directement sur l’appareil dès sa fabrication
en usine, soit téléchargée depuis un magasin d’applications dit « application store » telle
que Google Play, l'App Store ou encore le Windows Phone Store. Une partie des
applications disponibles sont gratuites tandis que d'autres sont payantes.
Les applications mobiles se regroupent en plusieurs séries suivant des critères basiques :
Applications fonctionnant sans internet : Appelées applications indépendantes, ce
sont des applications qui fonctionnent sans avoir besoin de connexion internet ou
téléphonique. On peut citer les applications : liste de contacts, calculatrice entre
autres.
Applications exigeant une connexion : Contrairement aux applications indépendantes,
ces applications doivent avoir accès à l’internet pour fonctionner.
29
2- Les différents types d'applications mobiles
Actuellement, il y a principalement trois types d’applications mobiles :
a) Applications Natives
Une application native est une application créée individuellement pour un système
d’exploitation mobile spécifique (par exemple : Android, Windows phone ou encore iOS)
et ne fonctionne que sur ce système.
Avantages :
30
Figure 24 : Les applications natives
b) Applications Web
Une application Web est une application conçue avec HTML, CSS ou JavaScript qui
s'exécute sur un navigateur Web de smartphone.
L’application Web utilise des langages bien connus des programmeurs tels que :
HTML5 et CSS.
Les applications web fonctionnent à l’intérieur du navigateur web de l’appareil via un
simple URL.
Elles n’ont pas besoin d’être installées à partir des App Store, comme Google Play
Store ou Apple App Store. Cela signifie des économies, puisqu’il est gratuit d’avoir le
lien direct via une application Web.
Contrairement à l’application native, une seule application Web atteindra tous les
périphériques. Elle est programmée pour être reproduite dans n’importe quel système
d’exploitation. Elle s’adapte facilement à IOS, Android ou Windows Phone entre
autres.
les Web App sont simples à développer sur ces plateformes, puisque celles-ci ne les
soumettent pas au test de validation.
Leur code unifié permet la comptabilité avec tous les navigateurs, cela permet aux
applications Web d’être développées plus rapidement et donc d’obtenir une réduction
conséquente des coûts du projet.
31
Inconvénients :
Une seule application Web atteindra tous les périphériques. Cependant, le site Web
doit être programmé pour être lu sur n’importe quel système d’exploitation. S’il n’est
pas adapté, vous pouvez avoir des problèmes pour l’ouvrir sous IOS, Android ou
Windows Phone.
Elles n’ont pas accès à toutes les fonctions présentes sur le mobile. Par exemple, il
leur est impossible d’accéder au répertoire du mobile.
On a nécessairement besoin d’une connexion internet pour sa reproduction. Sinon,
on ne peut pas naviguer sur le Web et les applications Web ne seront d’aucune
utilité.
c) Applications Hybride
Est un mix, entre les applications Web et les applications natives. Ce type d’application
utilisent le navigateur web intégré du support (Smartphone ou tablette) et les
technologies Web (HTML, CSS et JavaScript) pour fonctionner sur différents OS (iOS,
Android, Windows Phone, etc.).
Avantages :
32
Figure 25 : Les interfaces de l'application Zenpark
33
Chapitre 2
Arduino IOT Cloud
I/ Introduction
Ce chapitre va présenté l'application que nous avons programmer pour faciliter le
déplacement des voitures dans le parking.
2- Caractéristiques
Surveillance des données : apprenez à surveiller facilement les valeurs des capteurs
de votre Arduino via un tableau de bord.
Synchronisation des variables : la synchronisation des variables vous permet de
synchroniser les variables entre les appareils, permettant la communication entre les
appareils avec un codage minimal.
Planificateur : planifiez l'activation/la désactivation des tâches pendant une durée
spécifique (secondes, minutes, heures).
Téléchargements OTA (Over-The-Air) : téléchargez le code vers des appareils non
connectés à votre ordinateur.
Webhooks : intégrez votre projet à un autre service, comme IFTTT.
Support Amazon Alexa : faites en sorte que votre projet soit contrôlé par la voix avec
l'intégration Amazon Alexa.
Partage de tableau de bord : partagez vos données avec d'autres personnes dans le
monde entier.
III/ Conclusion
Nous avons vu dans ce chapitre une description courte à propos de l'application Arduino
IOT Cloud
34
PARTIE 4
Réalisation
Chapitre 1
Réalisation d'une application de
parking intelligent
I/ Introduction
Avant de commencer à réaliser une maquette pour un parking intelligent, il est nécessaire
de développer en premier temps une application qui sert à gérer ce type de parking.
36
2- Créer un composant
Il faut commencer par la création d'un nouveau composant. Dans la vue d'ensemble de
composant, nous pouvons choisir l'appareil à utiliser, le réseau Wi-Fi auquel nous
voulons nous connecter et créer des variables que nous pouvons surveiller et contrôler. Il
s'agit de l'espace de configuration principal, où toutes les modifications que nous
apportons sont automatiquement générées dans un fichier de croquis spécial.
4- Création de variables
Les variables que nous créons sont automatiquement générées dans un fichier
d'esquisse. Nous pouvons choisir parmi plusieurs types de données, tels que int, float,
boolean, long, char. Il existe également des variables spéciales, telles que la
température, la vitesse, la luminance qui peuvent être utilisées. En cliquant sur le bouton
"Ajouter une variable", nous pouvons choisir le nom, le type de données, le paramètre de
mise à jour et le mode d'interaction.
38
5- Connexion à un réseau
Pour vous connecter à un réseau Wi-Fi, cliquez simplement sur le bouton "Configurer"
dans la section réseau. Entrez les informations d'identification et cliquez sur "Enregistrer".
Ces informations sont également générées dans votre fichier de croquis !
6- Modification de l'esquisse
Maintenant que nous avons configuré les variables, les appareils et les paramètres
réseau, nous pouvons passer à la programmation de nos appareils !
Une esquisse qui, par exemple, lit un capteur analogique et utilise la variable cloud pour
la stocker. Une fois l'esquisse téléchargée, elle fonctionnera comme une esquisse
normale, mais elle mettra également à jour les variables cloud que nous utilisons !
De plus, chaque fois que nous créons une variable pour laquelle l'autorisation de lecture
et d'écriture est activée, une fonction est également générée, au bas de votre fichier
d'esquisse. Chaque fois que cette variable change, elle exécutera le code dans cette
fonction ! Cela signifie que nous pouvons laisser la majeure partie du code hors de la
boucle () et n'exécuter le code que lorsque cela est nécessaire.
Pour télécharger le programme sur notre tableau, cliquez simplement sur le bouton
"Télécharger".
39
Figure 33 : Modification d'un croquis dans l'éditeur de cloud
L'éditeur dispose également d'un outil de surveillance série, qui peut être ouvert en
cliquant sur la loupe dans la barre d'outils. Ici, vous pouvez voir les informations
concernant votre connexion ou les commandes imprimées via Serial.print().
Après avoir téléchargé le code avec succès, nous pouvons ouvrir l'onglet "Serial Monitor"
pour afficher les informations concernant notre connexion. S'il réussit, il affichera
"connecté au nom_réseau" et "connecté au cloud". S'il ne parvient pas à se connecter, il
imprimera également les erreurs ici.
40
Chapitre 2
Réalisation d'une maquette de
parking intelligent
I/ Introduction
L'Internet des objets joue un rôle essentiel dans la connexion des éléments
environnementaux au réseau et facilite l'accès à ces objets non Internet à partir de
n'importe quel endroit éloigné, il est inévitable que les gens mettent à jour avec la
technologie en pleine croissance, et généralement les gens sont confrontés à des
problèmes de stationnement dans les parkings d'une ville.
Dans un premier temps, nous avons dessiné une description simple du modèle pour
mieux comprendre la réalisation du système, ainsi que les étapes et les points les plus
importants pour la réussite du projet.
41
Tâche 2 : Réalisation de la maquette
Ensuite nous sommes passées à la réalisation de la maquette. Nous avons acheté un
morceau de bois approprié et après nous être mis d'accord sur la forme finale, nous
sommes allés chez un charpentier et avons expliqué ce que nous voulions.
Cette figure nous montre les variables de Cloud qu'on a déjà créer sur l'application
(disabled_parking et parking).
43
Figure 39 : Appareil associé
Après avoir définir le composant qu'on veut travailler avec, Il faut remplir les informations
concernant ce composant : L'ID et le type de l'appareil.
Comme on voie dans cette figure on a six place du parking au totale, quatre place pour
les voitures normales et les deux autre pour les personnes handicapés.
44
IV/ Le programme
45
V/ Problèmes rencontrés
La plupart des problèmes que nous avons rencontrés étaient presque informatique aussi
bien qu'électrique, il peut être résumé comme suit :
46
Problèmes
VI/ Conclusion
Après avoir réaliser notre maquette du parking intelligent et configuré notre application
mobile et pc "Arduino IOT Cloud", il reste juste le présentée au jury.
47
Conclusion générale
48