Wiki » History » Version 96
Alexis Mata, 21/02/2021 09:25 PM
1 | 35 | Elena Vig | h1. *+Panneau Leds+* |
---|---|---|---|
2 | 1 | Alexis Mata | |
3 | 45 | Alexis Mata | h2. VIG Elena / MATA Alexis |
4 | 43 | Alexis Mata | |
5 | 24 | Elena Vig | {{toc}} |
6 | |||
7 | 37 | Alexis Mata | --- |
8 | |||
9 | h2. +Présentation du projet:+ |
||
10 | |||
11 | 71 | Elena Vig | Le projet que nous devions réaliser consiste à afficher des messages sur un panneau leds selon 3 scénarios donnés : |
12 | # Un utilisateur programmeur peut accéder, par la console de l'OS raspbian, au code source afin de le modifier et d'interagir avec le panneau LED. |
||
13 | # Un utilisateur confirmé peut entrer le message qu'il souhaite afficher sur le panneau LED en l'entrant en argument dans la console de l'OS raspbian. |
||
14 | # Un utilisateur lambda peut accéder à une page web qui lui permet de saisir un message et de l'afficher en appuyant sur « RUN ». |
||
15 | |||
16 | 52 | Alexis Mata | |
17 | 89 | Elena Vig | |
18 | 38 | Alexis Mata | --- |
19 | |||
20 | 60 | Alexis Mata | h2. +Répartition des tâches:+ |
21 | 1 | Alexis Mata | |
22 | *Elena :* |
||
23 | 38 | Alexis Mata | * Construction de la boîte du panneau |
24 | * Diagramme de déploiement et diagramme d'activité |
||
25 | 34 | Elena Vig | * Réalisation des connexions / soudures / câbles |
26 | * Installation / Test de la chaîne de compilation |
||
27 | * Coder / Tester / Debugger |
||
28 | * Modifier le programme afin d'exploiter les arguments de la fonction principale |
||
29 | 33 | Elena Vig | |
30 | *Alexis :* |
||
31 | 34 | Elena Vig | * Installation / configuration de Raspbian Jessie |
32 | * Réalisation des connexions / soudures / câbles |
||
33 | * Mesure et relevé des signaux éléctriques (horloge) |
||
34 | * Installer une solution matérielle/logicielle |
||
35 | 1 | Alexis Mata | * Installer le serveur web |
36 | |||
37 | 89 | Elena Vig | |
38 | |||
39 | 38 | Alexis Mata | --- |
40 | |||
41 | h2. +Matériels et logiciels utilisés+ |
||
42 | |||
43 | *Bilan Matériel:* |
||
44 | 72 | Elena Vig | * 1 Panneau led |
45 | * 1 Bornier |
||
46 | * 2 Connecteurs HE10 |
||
47 | * 2m de nappes |
||
48 | * une clé USB |
||
49 | * 1 Raspberry Pi |
||
50 | * Carte micro SD |
||
51 | * 1 Boîtier RPI |
||
52 | * Module wifi |
||
53 | * Module Pi face |
||
54 | 38 | Alexis Mata | |
55 | 73 | Elena Vig | *Bilan Logiciel:* |
56 | 72 | Elena Vig | * Raspbian |
57 | * Smartty |
||
58 | * StarUML |
||
59 | * Monia |
||
60 | * CodeBlocks |
||
61 | * Serveur Web |
||
62 | * Redmine |
||
63 | 38 | Alexis Mata | |
64 | 89 | Elena Vig | |
65 | |||
66 | 38 | Alexis Mata | --- |
67 | |||
68 | 23 | Elena Vig | h2. +Installation / Configuration Raspbian Jessie+ |
69 | 20 | Elena Vig | |
70 | 83 | Elena Vig | * Nous avons dézippé le fichier compressé '2021-01-22-raspbian-jessie-8.zip', puis installé l'utilitaire 'md5check_setup.exe', puis copié le fichier qu'on vient de décompresser. Enfin, nous avons installé puis formaté l'image Raspbian sur la carte SD. |
71 | 1 | Alexis Mata | !raspbian.PNG! |
72 | 83 | Elena Vig | |
73 | * On commence ensuite la configuration en vérifiant si l'adresse IP est bien connectée sur le bon réseau, on regarde si le système est bien à jour, que le service ssh est activé et que la librairie wiringPI soit bien installée sur notre raspberry. |
||
74 | 75 | Elena Vig | Voici le raspberry installé et branché : |
75 | 55 | Alexis Mata | !branchement_raspberry.jpg! |
76 | 49 | Alexis Mata | |
77 | 90 | Elena Vig | |
78 | |||
79 | --- |
||
80 | |||
81 | 23 | Elena Vig | h2. +Diagramme de déploiement des cas d'utilisations et leurs scénarios+ |
82 | 20 | Elena Vig | |
83 | 63 | Alexis Mata | !diagramme.PNG! |
84 | |||
85 | 89 | Elena Vig | |
86 | |||
87 | --- |
||
88 | |||
89 | 23 | Elena Vig | h2. +Réalisation des connexions / soudures / câbles et test+ |
90 | 20 | Elena Vig | |
91 | 84 | Elena Vig | * La soudure des composants de la carte mère de notre Raspbian Jessie étant déjà réalisée, il nous a fallu réaliser les connexions des câbles K1 et K2, puis les brancher correctement. |
92 | |||
93 | * Ensuite, pour les tester, il a fallu faire 2 leds (une rouge, une verte) avec une résistance, et ensuite les brancher sur la précédente monture avec la borne négative connectée au GND, et la borne négative connectée sur le GPIO 22 pour la led rouge et le GPIO 17 pour la led verte. |
||
94 | 81 | Elena Vig | Si les leds s'allument correctement et réagissent aux instructions données dans la console avec le GPIO, le test des connexion peut donc être validé. |
95 | |||
96 | 89 | Elena Vig | |
97 | |||
98 | --- |
||
99 | |||
100 | |||
101 | 32 | Elena Vig | h2. +Construction de la boîte du panneau leds+ |
102 | 20 | Elena Vig | |
103 | 85 | Elena Vig | * En premier lieu, pour démarrer ce mini projet, on a du construire une boîte en carton et polystyrène refermable permettant au panneau leds de tenir debout. |
104 | 86 | Elena Vig | |
105 | 64 | Alexis Mata | !PanneauLeds.jpg! |
106 | |||
107 | 89 | Elena Vig | |
108 | |||
109 | --- |
||
110 | |||
111 | 23 | Elena Vig | h2. +Mesure et relevé des signaux électriques (horloge)+ |
112 | 20 | Elena Vig | |
113 | 89 | Elena Vig | |
114 | |||
115 | --- |
||
116 | |||
117 | 23 | Elena Vig | h2. +Installation / Test de la chaîne de compilation+ |
118 | 20 | Elena Vig | |
119 | 87 | Elena Vig | * Installation de la chaîne de compilation Gnu : |
120 | 67 | Alexis Mata | |
121 | 68 | Alexis Mata | !gnu.PNG! |
122 | 67 | Alexis Mata | |
123 | 87 | Elena Vig | * Création d'un exécutable qui ne fonctionne pas sous windows destiné au raspberry. |
124 | 78 | Elena Vig | Pour transférer ce fichier sur le Raspberry, nous utilisons le client SSH de l'utilitaire SmarTTY fourni avec la chaîne de compilation: |
125 | 1 | Alexis Mata | |
126 | !smartty.PNG! |
||
127 | 69 | Alexis Mata | |
128 | 87 | Elena Vig | * Il faut sauvegarder la clé publique fournie par SmarTTY. |
129 | 69 | Alexis Mata | |
130 | 87 | Elena Vig | * Ensuite, nous avons testé le projet 'hello' en mode debug . Il faut lancer le serveur gdb sur le raspberry avec la commande suivante : 'gdbserver :1234bonjour' |
131 | 78 | Elena Vig | |
132 | 69 | Alexis Mata | !bonjour.PNG! |
133 | 67 | Alexis Mata | |
134 | 87 | Elena Vig | * On lance alors le client gdb grâce a la commande 'arm-linux-gnueabihf-gdb.exe bonjour', et on peut observer la réponse suivante sur SmarTTY : |
135 | 70 | Alexis Mata | |
136 | !gdb1234.PNG! |
||
137 | 74 | Alexis Mata | |
138 | 91 | Elena Vig | * Place ensuite à la configuration de codeblocks |
139 | 74 | Alexis Mata | |
140 | 95 | Alexis Mata | !console.PNG! |
141 | |||
142 | 88 | Elena Vig | * Enfin, le projet "bonjour" peut être compilé. |
143 | 67 | Alexis Mata | |
144 | 95 | Alexis Mata | !compiler.PNG! |
145 | 89 | Elena Vig | |
146 | 96 | Alexis Mata | * On exécute le binaire de notre projet et le message 'Hello world!' s'affiche. On vient de réaliser notre premier projet avec l'IDE de CodeBlocks. |
147 | |||
148 | *Maintenant on va faire une compilation croisée donc il faut changer les paramètres. |
||
149 | |||
150 | !croisée.PNG! |
||
151 | |||
152 | *On édite le fichier source bonjour.c et on le compile, si les paramètres sont bons l'IDE nous envoie le message 0 errors, 0 warnings. |
||
153 | |||
154 | *L'exécutable bonjour.exe se trouve dans le dossier de notre projet qu'on transfère dans la raspberry . |
||
155 | |||
156 | !smarttypi.PNG! |
||
157 | |||
158 | *On lui autorise l'exécution avec la commande chmod +x bonjour.exe et on l'exécute avec ./bonjour.exe. Le message qu'on vient de programmer s'affiche dans la console du raspberry. |
||
159 | |||
160 | *Ensuite on va mettre à jour le répertoire présent sur notre machine Windows en exécutant le script UpdateSysroot.bat. |
||
161 | |||
162 | |||
163 | 89 | Elena Vig | |
164 | --- |
||
165 | |||
166 | 23 | Elena Vig | h2. +Coder / Tester / Debugger+ |
167 | 20 | Elena Vig | |
168 | 82 | Elena Vig | * Tout d'abord, nous avons dû tester pas à pas plusieurs programmes donnés pour comprendre les différentes fonctions permettant de faire fonctionner les leds. |
169 | |||
170 | |||
171 | * Ensuite, on a réalisé un programme permettant de faire apparaître le message "AAAA" sur le panneau grâce à un tableau 1D. Puis, une fois le programme réalisé et testé, avec un tableau 2D. |
||
172 | Voici en exemple le programme avec le tableau 2D : |
||
173 | |||
174 | 1 | Alexis Mata | !ProgrammeAAAA.jpg! |
175 | 82 | Elena Vig | |
176 | * Enfin, une fois que nous avions compris le fonctionnement du programme avec le tableau 2D et les différentes fonctions, on a pu créer un programme affichant "Bonne année 2021" |
||
177 | |||
178 | * Une fois toutes ces étapes réalisées, nous avons pu réfléchir au programme final permettant d'afficher le message tapé dans la console. |
||
179 | 23 | Elena Vig | |
180 | 89 | Elena Vig | |
181 | |||
182 | |||
183 | --- |
||
184 | 1 | Alexis Mata | |
185 | 49 | Alexis Mata | h2. +Installation du serveur web+ |
186 | 41 | Alexis Mata | |
187 | 92 | Elena Vig | * Un serveur web doit être installé (avec Apache2) pour l'utilisateur lambda. Grâce à l'application ainsi créée, celui-ci n'a plus qu'à taper le message qu'il veut pour l'afficher sur le panneau leds : |
188 | 62 | Alexis Mata | |
189 | 1 | Alexis Mata | !apache2.PNG! |
190 | 62 | Alexis Mata | |
191 | 93 | Elena Vig | |
192 | 92 | Elena Vig | * Ensuite, il convient d'installer php avec la commande 'sudo apt-get install php5 libapache2-mod-php5 -y', puis un répertoire dans '/var/www/ sudo mkdir. |
193 | 79 | Elena Vig | Cette page s'affiche alors, lorsque tout est installé : |
194 | 62 | Alexis Mata | |
195 | 61 | Alexis Mata | !apache2.1.PNG! |
196 | 1 | Alexis Mata | |
197 | 93 | Elena Vig | |
198 | 92 | Elena Vig | * Copie des fichiers dans le répertoire 'panneauLeds' de la raspberry : |
199 | 62 | Alexis Mata | |
200 | 1 | Alexis Mata | !indexphp.PNG! |
201 | 62 | Alexis Mata | |
202 | 93 | Elena Vig | |
203 | 92 | Elena Vig | * Test de l'installation dans le serveur : |
204 | 1 | Alexis Mata | |
205 | 42 | Alexis Mata | !siteweb.PNG! |
206 | 62 | Alexis Mata | |
207 | 93 | Elena Vig | |
208 | 92 | Elena Vig | * Modification du chemin de l’exécutable dans le fichier «runApp.php». |
209 | 61 | Alexis Mata | |
210 | 62 | Alexis Mata | !runAppphp.PNG! |
211 | 66 | Alexis Mata | |
212 | 93 | Elena Vig | |
213 | 92 | Elena Vig | * Enfin, il faut rajouter les droits au groupe «www-data» dans le fichier /etc/sudoers. |
214 | 61 | Alexis Mata | |
215 | 62 | Alexis Mata | !droits.PNG! |
216 | 93 | Elena Vig | |
217 | 61 | Alexis Mata | |
218 | 92 | Elena Vig | * Toutes ces étapes réalisées avec succès, le serveur web est correctement créé et peut être mis à la disposition du client. |
219 | 79 | Elena Vig | |
220 | 19 | Alexis Mata | |
221 | 3 | Alexis Mata | |
222 | 4 | Alexis Mata | |
223 | --- |