Ligne 1 : |
Ligne 1 : |
− | Afin de lancer ou modifier le superiseur, il faut avoir installer Qt au préalable. (Voir Guide Qt) | + | Afin d'utiliser ou modifier le Superviseur, il faut avoir installé Qt au préalable (voir [[Guide_QT|Guide Qt]]). |
| | | |
− | =Importer, compiler et éxécuter le projet= | + | =Importer, compiler et exécuter le projet= |
− | * Télécharger le projet ''supervisor'' depuis Github : https://github.com/polybot-grenoble/supervisor | + | [[Fichier:OpeningQt.png | 800px |Ouverture Qt]] |
| + | * Télécharger le projet ''supervisor'' depuis Github : <br> https://github.com/polybot-grenoble/supervisor |
| * Ouvrir Qt Creator | | * Ouvrir Qt Creator |
− | * Accéder à ''File/Open file or projet'' | + | * Accéder à ''File/Open file or projet'' (1) |
− | * Ouvrir ''Supervisor/supervisor.pro'' | + | * Ouvrir ''Supervisor/supervisor.pro'' (2) |
− | * Cliquer sur ''build/run Qmake'' puis sur ''Run'' (petit triangle vert en bas à gauche) | + | * Cliquer sur ''build/run Qmake'' '''PUIS''' sur ''Run'' (3) |
| Et hop, ca se lance. -WHOAH- | | 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= | | =Organisation du code= |
Ligne 13 : |
Ligne 44 : |
| * mainwindow.hpp : Déclaration de la classe ''mainwindow'' | | * mainwindow.hpp : Déclaration de la classe ''mainwindow'' |
| * mainwindow.cpp : Implémentation de la classe ''mainwindow'' | | * mainwindow.cpp : Implémentation de la classe ''mainwindow'' |
− | * main.cpp : Petit bout de code ou y'a rien besoin de faire mais qui instancie un objet de la classe''mainwindow'' et qui l'affiche. | + | * 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écifique à Qt | + | Avec quelques fichiers spécifiques à Qt |
− | * mainwindow.ui : Fichier définissant toute la partie interface utilisateur (frontend). Il ouvre automatiquement la partie ''Design'' de 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. | + | * 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). | | * 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''. | | 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.
| |
| | | |
− | Si vous n'avez jamais utilisé Qt auparavant, il est conseillé de lire le tutoriel d'initiation de OpenclassRoom (https://openclassrooms.com/fr/courses/1894236-programmez-avec-le-langage-c/1898935-initiez-vous-a-qt).
| + | Le code est généreusement commenté et se suffit donc à lui-même pour comprendre le fonctionnement global du projet. |
− | Il est très bien pour comprendre les principes de base propres à Qt, surtout les notions de ''signaux'' et ''slots''.
| + | |
| + | =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. |