le composant interface utilisateur - arthur-expeditions/pypilot-workbook-fr GitHub Wiki
Nous avons donc un logiciel et un matériel. Comment interagissons-nous avec ce système ? Nous le faisons par le biais d'une interface utilisateur. Avant de décrire les différentes options, un mot sur le fonctionnement interne du logiciel pypilot.
Le logiciel pypilot est composé de différents modules qui fonctionnent en parallèle. Ces modules interagissent les uns avec les autres, en lisant et en écrivant des données dans un module de stockage commun, comme un tableau noir. Par exemple, le module compas écrit le cap actuel sur le tableau noir, le module d'interface utilisateur écrit le cap souhaité sur le tableau noir, puis le module de pilotage automatique lit ces deux valeurs sur le tableau noir et dirige le bateau.
Le fonctionnement de l'interface utilisateur est maintenant clair : elle affiche sur un écran les valeurs de certains des paramètres du tableau noir et si vous appuyez sur un bouton, l'interface utilisateur écrit de nouvelles valeurs sur ce tableau noir. Ensuite, le système matériel et logiciel combiné fait son travail en fonction de ce qu'il lit sur le tableau noir.
En fait, c'est ainsi que fonctionnent toutes les interfaces utilisateur de pypilot. Elles écrivent et lisent toutes sur ce même tableau noir et peuvent ainsi travailler en parallèle. Si vous appuyez sur un bouton d'une interface utilisateur, vous voyez la même chose se produire sur les autres interfaces.
Passons maintenant en revue les différentes interfaces utilisateur disponibles :
- Interface du navigateur web
- Interface du HAT
- Interface OpenPlotter (Python)
- Interface OpenCPN Plugin
L'interface navigateur web : lorsque vous démarrez pypilot, vous pouvez aller sur http://mon-serveur-pypilot
et obtenez une interface web avec toutes les fonctions de base de pypilot, qu'on expliquera en détail plus loin. Cette interface devrait toujours fonctionner depuis n'importe quel ordinateur portable, tablette ou smartphone. Bien sûr, naviguer sur un bateau avec un téléphone à la main n'est pas optimal, mais c'est un bon dernier recours à garder en tête.
L'interface HAT : c'est celle qui fonctionne avec le petit écran LCD et le petit clavier. Elle a été baptisée HAT
parce qu'elle fonctionne généralement avec une carte de circuit imprimé que vous pouvez coller sur le dessus du Rapsberry PI. Vous n'avez pas vraiment besoin de ce circuit imprimé spécifique, vous pouvez simplement connecter vos touches directement aux broches gpio du Raspberry. L'interface HAT offre l'ensemble des fonctionnalités de pypilot sous forme de menus sur l'interface du panneau LCD. En combinaison avec l'image légère de la distribution TinyPilot et un Raspberry miniature "pizero", cela donne une implémentation autonome et très compacte de pypilot.
L'interface OpenPlotter : comme nous l'avons mentionné, vous pouvez télécharger le système d'exploitation marine OpenPlotter, qui inclut pypilot. Spécialement pour OpenPlotter, une interface basée sur python a été ajoutée, avec des fenêtres popup, etc. Cette interface OpenPlotter est connectée au pypilot local, qui tourne sur le raspberry OpenPlotter.
Enfin, il existe une interface pypilot spéciale : le plugin pour OpenCPN. OpenCPN est un logiciel de navigation marine avec cartographie. Si vous installez le plugin pypilot dans OpenCPN, vous obtenez un bouton dans le menu qui donne accès au panneau de commande du pypilot. Cette interface est très accessible et rapide. Ce qui le rend spécial, c'est qu'il possède certaines caractéristiques d'intégration spécifiques avec OpenCPN. Par exemple, il montre sur la carte où pypilot se dirige. Nous y reviendrons plus tard.
Ces quatre interfaces utilisateur ont toutes en commun de s'interfacer avec le système pypilot par le biais du "tableau noir", qui fait partie du logiciel pypilot. Les fonctionnalités de pypilot sont définies par le logiciel pypilot ; les interfaces utilisateur ne font que les mettre à votre disposition. Il est donc temps de décrire ce que sont réellement ces fonctionnalités.