Skip to content

Commit 0a6cb18

Browse files
committed
Simple script fix
1 parent 3603956 commit 0a6cb18

File tree

3 files changed

+30
-38
lines changed

3 files changed

+30
-38
lines changed

README.md

Lines changed: 20 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@ ____
2121
## MOvIT-Hardware
2222
**Matériel et composantes** : Ce répertoire contient tous les fichiers nécessaires à la fabrication, ce qui permet de recréer le système en entier. Il contient tous les designs des cases à imprimer en 3D ainsi que les circuits imprimées utilisés et une liste du matériel nécessaire.
2323
____
24+
<br>
2425

25-
## Table des matières :
26+
# Table des matières :
2627

2728
- [Documentation des parties du projet](#documentation-des-parties-du-projet)
2829
- [MOvIT-Detect-Frontend](#movit-detect-frontend)
@@ -34,10 +35,7 @@ ____
3435
- [1.2. Flashage](#12-flashage)
3536
- [1.3. Configuration réseau](#13-configuration-r%c3%a9seau)
3637
- [1.4. Initialisation automatisée](#14-initialisation-automatis%c3%a9e)
37-
- [1.5. Installation du projet](#15-installation-du-projet)
38-
- [Connection à l'appareil](#connection-%c3%a0-lappareil)
39-
- [Lancement de l'initialisation](#lancement-de-linitialisation)
40-
- [1.6. Vérification](#16-v%c3%a9rification)
38+
- [1.5. Vérification](#15-v%c3%a9rification)
4139
- [2. Installation manuelle](#2-installation-manuelle)
4240
- [3. Génération d'images](#3-g%c3%a9n%c3%a9ration-dimages)
4341
- [Préparation du système](#pr%c3%a9paration-du-syst%c3%a8me)
@@ -52,7 +50,7 @@ ____
5250
- [Déboggage](#d%c3%a9boggage)
5351
- [Problèmes de réseau](#probl%c3%a8mes-de-r%c3%a9seau)
5452
- [Spécification de la connection réseau](#sp%c3%a9cification-de-la-connection-r%c3%a9seau)
55-
- [Problème d'installation](#probl%c3%a8me-dinstallation)
53+
- [Problèmes d'installation](#probl%c3%a8mes-dinstallation)
5654
- [Autre documentation](#autre-documentation)
5755
- [Utilisation de Github pour le développement](#utilisation-de-github-pour-le-d%c3%a9veloppement)
5856
- [Mise à jour des sous-répertoires](#mise-%c3%a0-jour-des-sous-r%c3%a9pertoires)
@@ -89,27 +87,10 @@ Des scripts s'activant automatiquement permettent d'initialiser un nouvel appare
8987

9088
> Attention : **l'appareil ne doit pas être débranché** pendant son initialisation!
9189
92-
> L'initialisation automatisé **nécessite une connection à internet** pour fonctionner([spécification de cette connection internet](#sp%c3%a9cification-de-la-connection-r%c3%a9seau)). L'[étape 1.3](#13-configuration-sans-fil) peut être répété si une erreur s'est glissée dans le fichier `wpa_supplicant.conf`.
93-
> Si les scripts ne fonctionnent pas, il peut être nécessaire de se connecter en SSH et de relancer le script lorsque la configuration réseau est réparée (voir [documentation de configuration wifi](https://github.com/introlab/MOvITPlus/blob/master/docs/FR/InstallationLogiciel/ConfigurationSysteme.md#21-connection-%c3%a0-un-r%c3%a9seau-wi-fi)). Pour plus de détails, voir la section [déboggage]().
94-
95-
### 1.5. Installation du projet
96-
#### Connection à l'appareil
97-
Avec l'état actuel du projet, il est nécessaire de se connecter à l'appareil en SSH (ou avec un clavier, un écran et les adaptateurs appropriés) pour activer manuellement un script d'installation. La connexion se fait donc, à partir d'un autre ordinateur connecté au même réseau, avec la commande `ssh pi@hostname`, où hostname est le nom de l'appareil.
98-
99-
> Pour trouver le nom du Raspberry Pi, il suffit de regarder le nom du point d'accès créé par le Pi. Autrement, si celui-ci n'a pas encore réussi à terminer sa configuration ou qu'un erreur est survenu pendant celle-ci, alors le hostname du Pi sera `Movit-NOCONF`.
100-
101-
L'utilisateur est `pi` et le mot de passe `movitdev` par défaut.
102-
#### Lancement de l'initialisation
103-
Une fois connecté, pour initialiser le projet, il faut exécuter la commande suivante :
104-
```bash
105-
sudo /home/pi/MOvITPlus/./updateProject.sh --init-project
106-
```
107-
L'exécution de ce script peut prendre environ **30 minutes** dans l'état actuel du projet. Il est possible de suivre le résultat de l'exécution du script en temps réel avec une commande comme `tail -fn 50 #nom_du_fichier.log`, qui affichera les 50 dernières lignes ainsi que celles qui se rajouteront en temps réel. Voir la [documentation des scripts](#documentation-des-scripts) pour plus de détails.
90+
> L'initialisation automatisé **nécessite une connection à internet** pour fonctionner([spécification de cette connection internet](#sp%c3%a9cification-de-la-connection-r%c3%a9seau)). L'[étape 1.3](#13-configuration-r%c3%a9seau) peut être répété si une erreur s'est glissée dans le fichier `wpa_supplicant.conf`.
91+
> Si les scripts ne fonctionnent pas, il peut être nécessaire de se connecter en SSH et de relancer le script lorsque la configuration réseau est réparée ([documentation de configuration wifi](https://github.com/introlab/MOvITPlus/blob/master/docs/FR/InstallationLogiciel/ConfigurationSysteme.md#21-connection-%c3%a0-un-r%c3%a9seau-wi-fi)). Pour plus de détails, voir la section [déboggage](#d%c3%a9boggage).
10892
109-
110-
> L'ajout de l'argument `--console-log` pour le script `updateProject.sh` montrera davantage de détails sur la progression directement dans la console. **Attention :** les logs ne sont pas sauvegardés lors de l'utilisation de cet argument.
111-
112-
### 1.6. Vérification
93+
### 1.5. Vérification
11394
À ce point-ci, le système devrait être correctement configuré. Pour tester s'il est fonctionnel, il suffit de se connecter sur le point d'accès de l'appareil (Movit-******), puis d'accéder à l'adresse `movit.plus` dans un navigateur. Lorsqu'une page apparait, il suffit de se connecter avec les identifiants voulus. Voir la documentation de la partie frontend ou la documentation d'utilisation pour plus de détails.
11495

11596

@@ -170,9 +151,11 @@ Le script de mise à jour permet la mise à jour des fichiers nécessaires au pr
170151
- **`--sys-config`** : Mise à jour de la configuration du système (ex: services de démarrage)
171152
- **`--git-update`** : Mise à jour des répertoires du projet avec Git (devrait être exécuté avec `curl`, voir plus bas)
172153

173-
Additionnellement, l'ajout de l'argument **`--console-log`** redirige la sortie de l'exécution à la console. Son utilisation permettra de montrer le progrès de NPM et de Yarn plus clairement lors de leur exécution. Les logs ne sont pas sauvegardés lors de l'utilisation de cet argument.
154+
Additionnellement, l'ajout de l'argument **`--console-log`** redirige la sortie de l'exécution à la console. Les logs ne sont pas sauvegardés lors de l'utilisation de cet argument.
174155

175-
Avec **`--init-project`**, le script s'occupe d'installer le backend, d'initialiser la base de données, d'installer le frontend puis finalement de compiler ~~les librairies et~~ le code d'acquisition. Il termine en activant tous les services pour le prochain démarrage.
156+
Avec **`--init-project`**, le script s'occupe d'installer le backend, d'initialiser la base de données, d'installer le frontend puis finalement de compiler le code d'acquisition. Il termine en activant tous les services pour le prochain démarrage.
157+
L'exécution de ce script peut prendre environ **30 minutes** dans l'état actuel du projet.
158+
> Pour voir davantage de détails sur la progression de Yarn et NPM directement dans la console, il est possible d'ajouter l'argument `--console-log`.
176159
177160
Pour l'argument **`--git-update`**, le script devrait être exécuté avec la commande suivante de façon à aller chercher la dernière version du script de mise à jour.
178161
```bash
@@ -200,6 +183,13 @@ ___
200183
# Déboggage
201184
Si des problèmes surviennent lors de l'exécution des scripts, la façon la plus facile de règler les problèmes est d'utiliser l'information contenue dans les fichiers _.log_. Les deux fichiers qui devraient être générés sont `firstBootScript.log` et `updateProject.log.log` dans le répertoire ` /home/pi/`.
202185

186+
### Connection à l'appareil
187+
Avant de débogger, il faut d'abord se connecter à l'appareil en SSH (ou avec un clavier, un écran et les adaptateurs appropriés). La connexion se fait à partir d'un autre ordinateur connecté au même réseau avec la commande `ssh pi@hostname`, où hostname est le nom de l'appareil.
188+
189+
> Pour trouver le nom du Raspberry Pi, il suffit de regarder le nom du point d'accès créé par le Pi. Autrement, si celui-ci n'a pas encore réussi à terminer sa configuration ou qu'un erreur est survenu pendant celle-ci, alors le hostname du Pi sera `Movit-NOCONF`.
190+
191+
L'utilisateur est `pi` et le mot de passe `movitdev` par défaut.
192+
203193
### Problèmes de réseau
204194
Les scripts quitterons rapidement avec un message d'erreur semblable si un problème est detecté avec la configuration réseau :
205195
```bash
@@ -212,7 +202,7 @@ Cette connection est critique au fonctionnement du système et à son initilisat
212202
Le réseau doit supporter l'**échange de _ping_** avec des serveurs externes ainsi que la découverte et la **communication avec les autres appareils connectés sur le même réseau** pour les fonctions de SSH. Cela signifie donc que certains réseaux publiques se prêtent difficiliement à ce cas d'utilisation. Les "_captive portals_" ou redirections sur une page web avant d'établir une connection (_sign-in page_) peuvent également rendre le processus [beaucoup plus complexe](https://superuser.com/questions/132392/using-command-line-to-connect-to-a-wireless-network-with-an-http-login).
213203
Les réseaux domestiques sont ainsi à prioriser. Un partage de connection LTE peut aussi dépanner.
214204

215-
### Problème d'installation
205+
### Problèmes d'installation
216206
> Notamment avec le script `updateProject.sh` et l'argument `--init-project` ou avec `npm install` et `yarn install`.
217207
218208
Bien qu'il soit probablement plus rapide de recommencer le processus complet, certains problèmes d'installation avec NPM et Yarn peuvent être résous facilement. Ces problèmes peuvent survenir spécialement si le Pi est débranché pendant son initialisation.
@@ -246,6 +236,7 @@ En faisant `git add`, suivit des dossiers et fichiers à mettre à jour, puis le
246236
247237

248238
## Astuces
239+
- Il est possible de suivre le résultat de l'exécution d'un des scripts qui produit un fichier _.log_ en temps réel avec une commande comme `tail -fn 50 nomdufichier.log`, qui affichera les 50 dernières lignes ainsi que celles qui se rajouteront en temps réel.
249240
- Pour exécuter uniquement certaines parties d'un script, il peut être plus rapide de faire un `if false; then` en début, et `fi` en fin du segment qui doit être ignoré que de commenter toutes les lignes.
250241
- Pour bien comprendre le fonctionnement des scripts : [Bash scripting cheatsheet](https://devhints.io/bash)
251242
<br>

firstBootSetup.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,13 @@ EOF
124124
$MovitPath/./updateProject.sh --sys-config
125125
echo "### Script successful, see updateProject.log..."
126126

127-
#This next part of the script is long to execute. See updateProject script...
127+
128+
echo -e "###\n### Enabling startup services...\n###"
129+
systemctl enable movit_acquisition.service
130+
systemctl enable movit_frontend.service
131+
systemctl enable movit_backend.service
132+
133+
#This next part of the script is long to execute. Should be launched manually if needed
128134
#echo -e "###\n### Executing 'updateProject.sh' with '--init-project'...\n###"
129135
#$MovitPath/./updateProject.sh --init-project
130136
#echo "Script successful, see updateProject.log"

updateProject.sh

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -183,13 +183,10 @@ elif [[ $1 == $GitArg || $2 == $GitArg ]]; then
183183
systemctl start movit_frontend.service
184184
systemctl start movit_backend.service
185185

186-
echo "### Done updating all GitHub repositories"
187-
echo "Databases and other settings may need to be resetted manually"
186+
echo "Updating 'firstBootSetup.sh' in $HomePath"
187+
sudo -u pi cp $MovitPath/firstBootSetup.sh $HomePath/firstBootSetup.sh
188188

189-
#echo "### Calling system config update script for additionnal steps :"
190-
#echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
191-
#$MovitPath/./updateProject.sh --sys-config
192-
#echo "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
189+
echo "### Done updating"
193190
}
194191

195192
echo "Using Movit folder location : $MovitPath"
@@ -198,8 +195,6 @@ elif [[ $1 == $GitArg || $2 == $GitArg ]]; then
198195
[ $(git rev-parse HEAD) = $(git ls-remote $(git rev-parse --abbrev-ref @{u} | sed 's/\// /g') | cut -f1) ] && echo "Already up to date, nothing to do" || updateGithub
199196
#----------------------------------------
200197

201-
202-
203198

204199
else
205200

0 commit comments

Comments
 (0)