Ligne 1 : |
Ligne 1 : |
− | https://github.com/polybot-grenoble/supervisor | + | Afin d'utiliser ou modifier le Superviseur, il faut avoir installé Qt au préalable (voir [[Guide_QT|Guide Qt]]). |
| + | |
| + | =Importer, compiler et exécuter le projet= |
| + | [[Fichier:OpeningQt.png | 800px |Ouverture Qt]] |
| + | * Télécharger le projet ''supervisor'' depuis Github : <br> https://github.com/polybot-grenoble/supervisor |
| + | * Ouvrir Qt Creator |
| + | * Accéder à ''File/Open file or projet'' (1) |
| + | * Ouvrir ''Supervisor/supervisor.pro'' (2) |
| + | * Cliquer sur ''build/run Qmake'' '''PUIS''' sur ''Run'' (3) |
| + | Et hop, ca se lance. -WHOAH- |
| + | |
| + | =Aperçu du Superviseur= |
| + | |
| + | [[Fichier:Superviseur.png|800px|Screenshot du Superviseur]] |
| + | |
| + | * Console : |
| + | Permet d'afficher les messages émis par la STM. |
| + | |
| + | |
| + | * Bouton ''Stop/Start'' : |
| + | Permet d'envoyer la commande ''Start/stop'' au Robot. |
| + | |
| + | |
| + | * Bouton ''Manual/Auto'' : |
| + | En mode ''manual'', le superviseur peut controler le robot grâce aux touches "ZQSD" ou aux flèches. En mode ''auto'', le |
| + | superviseur affiche juste les messages de log dans la console (sur la droite de l'interface) et positionne le robot sur |
| + | la carte. |
| + | |
| + | |
| + | * Checkbox ''Save log'' : |
| + | Elle n'est pas cochée par défaut. Une fois cochée, cela permet de sauver les messages logs dans un fichier externe placé dans le |
| + | dossier ''logs'' (situé dans le dossier où est l'exécutable). |
| + | |
| + | |
| + | * Bouton ''Connect'' : |
| + | Permet de connecter le superviseur au serveur ou de le reconnecter si besoin. L'état de connexion est affiché juste dessous. |
| + | |
| + | |
| + | Pour modifier l'adresse IP utilisée, il suffit de cliquer sur la zone de saisie prévue à cet effet. Elle n'accepte que les |
| + | chiffres et les points. L'adresse est remplacée une fois la touche ''Enter'' du clavier pressée. |
| + | |
| + | =Organisation du code= |
| + | Le code s'organise de manière très classique comme un projet C++ basique. |
| + | * mainwindow.hpp : Déclaration de la classe ''mainwindow'' |
| + | * mainwindow.cpp : Implémentation de la classe ''mainwindow'' |
| + | * main.cpp : Petit bout de code ou il n'y a rien besoin de faire mais qui instancie un objet de la classe''mainwindow'' et qui l'affiche. |
| + | |
| + | Avec quelques fichiers spécifiques à Qt |
| + | * mainwindow.ui : Fichier définissant toute la partie interface utilisateur (front-end). Il ouvre automatiquement la partie ''Design'' de Qt. |
| + | * supervisor.pro : une sorte de Makefile ou sont répertoriés les différents fichiers liés au projet. |
| + | * ressources.qrc : répertorie les différentes ressources du projet (typiquement les images). |
| + | |
| + | Si des modifications sont à apporter, elles interviendront sûrement dans ''mainwindow.cpp'' et ''mainwindow.ui''. |
| + | |
| + | Le code est généreusement commenté et se suffit donc à lui-même pour comprendre le fonctionnement global du projet. |
| + | |
| + | =Améliorations possibles= |
| + | |
| + | * Pouvoir distribuer des exécutables du Superviseur. |
| + | * Pouvoir ''court-circuiter'' la gateway Raspberry Pi avec un bouton, c'est à dire pouvoir connecter et communiquer directement avec la STM32 branchée à l'ordinateur exécutant le Superviseur. |